このブログについて

Posted by muchag | 未分類 | 2007-03-01 (木) 2:33:38

このブログは、爺による「備忘録」です。
言葉の使い方をはじめ、間違っていることも多々あるかもしれません。
あくまでも「備忘録」ですので、これのブログを見て「怒っちゃやーよ!」

自己責任にて閲覧してくださいね
未分類 | 2007-03-01 (木) 2:33:38 |

結果セット整形

Posted by muchag | Symfony 1.x | 2016-11-19 (土) 12:04:24

DQL における、結果セットの整形。
Data Hydrators

【環境】
Symfony:1.4.13
doctrine:1.2.4
書式

execute, fetchOne, fetchAll などの第2引数に指定する。

  1. $q = Doctrine_Core::getTable('User')
  2.     ->createQuery('u')
  3.     ->leftJoin('u.Email e')
  4.     ->where('u.username = ?', 'jwage');
  5.  
  6. $user = $q->fetchOne(array(), Doctrine_Core::HYDRATE_RECORD);
詳細
HYDRATE_RECORD

レコードをオブジェクトとして取得。
デフォルト値なので、省略すればこれになる。

HYDRATE_ARRAY

連想配列として取得。

HYDRATE_SCALAR

連想配列として取得。
キーが、カラム名_フィールド名 という書式になっている。

HYDRATE_SINGLE_SCALAR

配列として取得。
WHERE 句で指定したカラムの値を、
添え字 0 から始まる配列の要素に格納(しているように見える)。

HYDRATE_ON_DEMAND

公式サイトを読む限り、
「1レコードしか読み込まないのでメモリを節約できるよ」
って書いてある気がするけど
実験したら、時間制限に引っ掛かって戻ってこなかったので
今回はパス。

HYDRATE_RECORD_HIERARCHY

nested ビヘイビアを利用しているときに使える引数っぽい。
オブジェクトとして取得。

HYDRATE_ARRAY_HIERARCHY

nested ビヘイビアを利用しているときに使える引数っぽい。
連想配列として取得。

HYDRATE_NONE

配列として取得。
取得してきたデータを、添え字 0 から始まる配列の要素に格納(しているように見える)。

HYDRATE_ARRAY_SHALLOW

連想配列として取得。
SELECT で指定したカラムだけを取得。

※下2つは、下記参考サイトから拾ってきた。
公式サイトに全種類が載っていないのは不思議・・・

HYDRATE_RECORD_SHALLOW

上記定数を参考に、こんなのもあるかと思ったけどなかったw

参考サイト

stackoverflow:Select One column Doctrine DQL(2013-01-19)

Symfony 1.x | 2016-11-19 (土) 12:04:24 |

ng -> function

Posted by muchag | 未分類 | 2016-05-29 (日) 12:14:43


公式(1.4.10):Function components in ng

【環境】
AngularJS:1.4.3
概要
angular.bind
angular.bootstrap
angular.copy
angular.element
angular.equals
angular.extend
angular.forEach

公式(1.4.10):angular.forEach

stack overflow:Angular JS break ForEach
に、javascript の for の方が速いよ、って書いてあった。

書式
  1. angular.forEach(obj, iterator, [context]);

obj:走査対象
iterator:作業内容クロージャ。引数は、value, key の順。key は省略可
context:作業結果かしら。Object to become context (this) for the iterator function.

  1. var values = {name: 'misko', gender: 'male'};
  2. var log = [];
  3. angular.forEach(values, function(value, key) {
  4.   this.push(key + ': ' + value);
  5. }, log);
  6. expect(log).toEqual(['name: misko', 'gender: male']);
変数のスコープ

forEach の中で、サービスのメンバ変数を利用しようとしたら undefined になった。

ネストされた関数内でthisはグローバルオブジェクトを参照する

QUARTETCOM TECH BLOG:AngularJSのcontrollerAs使い方まとめ(2015-06-01) thisの落とし穴

これは、AngularJS というわけではなく、javascript の仕様なんだそうな。
知ってたのかもしれないけど、忘れてたなぁ。。。

要は1階層までは、親オブジェクトを this と見なしてくれるけど
2階層目以降はグローバルオブジェクトを参照してしまう、っていうことかしらね。

念のため、実験をしてみた。

See the Pen Trying forEach by muchag (@muchag) on CodePen.

angular.fromJson
angular.identity
angular.injector
angular.isArray
angular.isDate
angular.isDefined
angular.isElement
angular.isFunction
angular.isNumber
angular.isObject
angular.isString
angular.isUndefined
angular.lowercase
angular.merge
angular.module
angular.noop
angular.reloadWithDebugInfo
angular.toJson
angular.uppercase
未分類 | 2016-05-29 (日) 12:14:43 |

スクリプト -> 9Patch

Posted by muchag | Photoshop | 2016-05-20 (金) 19:18:36

9Patch ファイルを出力するスクリプト。

【環境】
Photoshop:CS6
OS:Windows 10 Home 64bit
作り方

以前、Android アプリを製作したときの記事。
draw9patch.bat

元画像の外周に 1px の余白を取り、黒(#000000)の塗りつぶしを付ける
.9.png という拡張子で保存する(png でなくてもいいみたい?)

引き伸ばす領域

元画像の左端の余白、該当箇所にマーキング。基本は上下2箇所
元画像の上端の余白、該当箇所にマーキング。基本は左右2箇所

コンテンツ領域

引き伸ばしたくない領域
元画像の右端の余白、該当箇所にマーキング。基本は内部1箇所
元画像の下端の余白、該当箇所にマーキング。基本は内部1箇所

基本タイプイメージ
patch 領域
引き伸ばし領域
コンテンツ領域
JSX
仕様
  • 引き伸ばす範囲は、元画像の周囲 1px 部分
  • コンテンツ領域は、元画像の周囲 1px 以外の部分
  • 2行目に元となる PSD ファイル名を列挙(利用者が入力)
    • Android 側、解像度名に対応する順番にすること
    • 現仕様では、6種のサイズを吐き出すことになっているけど、不要なものは削除可能
    • 不要なものを削除する場合は、ファイル名と同時に、Android 側、解像度名も削除すること
  • 元画像の幅と高さは自由
  • 元画像は全て同一ディレクトリに配置
  • スクリプト実行前に、元画像の最初の PSD ファイルを開いておく
  • 元画像と同一ディレクトリに .9.png ファイルが保存される
    • .9.png ファイルの名称は、splash_(Android 側、解像度名)
  • 元画像のアクティブレイヤーが「塗りつぶし」できないレイヤーだとエラーになる
  • ExtendScript Toolkit から実行したので、Photoshop 本体からの実行は試してない
コード

iG:Syntax Hiliter だとバグるので、CodePen。。。

See the Pen Making 9Patch with Photoshop CS6 by muchag (@muchag) on CodePen.

参考サイト

Life goes on:PhotoShop CS5でAndroid用9patchを作るのに便利なjsx(2011-08-12)

Photoshop | 2016-05-20 (金) 19:18:36 |

Windows10 の画面明るさ調整

Posted by muchag | Windows | 2016-05-20 (金) 15:49:35

【環境】
Windows: 10 Home 64bit
状況

Windows10 の画面はやたら明るい。

2台の PC で、モニタを共有しているので
モニタの明るさ調整は利用できない。

解決方法

Google 先生に質問してみたけど
モニタが PC と分離している場合には
(分離しているのが普通だと思うんだけどな~・・・)
明るさ調整機能がないとか。

なので、グラボのアプリを利用して調整。

デスクトップコンテキストメニュー
[NVIDIA コントロールパネル]
[ディスプレイ]-[デスクトップ カラー設定の調整]
[2. カラーの設定方法を選択します。]-[NVIDIA の設定を使用する]
ここで、[明るさ][コントラスト] を調整することで、少し落ち着いたけど
まだ目がチカチカしている気がする。。。

Windows | 2016-05-20 (金) 15:49:35 |

Module

Posted by muchag | AngularJS | 2016-04-17 (日) 15:38:50


公式(1.4.10):AngularJS API Docs

【環境】
AngularJS:1.4.3
ng (core module)

コアモジュール。
本体だけで事足りる。
これ以外は、必要ファイルを読み込む必要がある。

ngRoute
ngAnimate
ngAria
ngResource
ngCookies
ngTouch
ngSanitize
ngMock
AngularJS | 2016-04-17 (日) 15:38:50 |

C ドライブの掃除

Posted by muchag | Windows | 2016-04-14 (木) 15:48:08

気がつけば、C ドライブの空き容量が、0.9G。
え?
何が起きた?
という事態になってから、あれこれ手を打ってきたけど
次回以降もあり得るので、メモ。

【環境】
Windows: Home 64bit SP1
状況

C ドライブは、SSD 128GB。

で、エクスプローラの C ドライブのプロパティで見ると
容量合計は、101GB。

アプリケーションのインストール先は
他のボリュームを指定するように心掛けてきたけど
どうしても C ドライブにもインストールされるものがあるので
膨張し続けている。

Windows ディレクトリ

と、思ったら、意外に Windows ディレクトリの容量が大きかった。
Windows ディレクトリだけで、40GBって。。。

合計容量

あれ?
でも、それでも、C ドライブ直下の全ディレクトリ合計値は
60GB みたい。

あれれ?
(今のところ意味不明)

対応策

今までに行ってきたものも含めて、C ドライブ容量削減手立てメモ。

ダウンロード

ダウンロードして利用する方に夢中になっていて
放置しているファイルがある。

アプリケーション(主にゲーム orz)のインストールファイルなんかは
恐ろしいサイズなので、この辺りを整理。

CBS

意外に場所を取っていたログファイル。

Windows Update が行われた際に、バックアップしてある情報らしい。

削除ではなく、移動が望ましい、との記事を見かけたので
別ボリュームへ退避。

Windows | 2016-04-14 (木) 15:48:08 |

USB デバッグ(Android 4.2 以降)

Posted by muchag | 未分類 | 2016-04-11 (月) 20:48:19

久しぶりに、Android で USB デバッグを行おうとしたら、
なんと! 「USB デバッグ」という項目がない!!

有効にする方法

Android 4.2 以降では、USB デバッグを始める特別な方法があるらしい。

[設定]-[端末情報](タブレットの場合は、[タブレット情報])
[ビルド番号] を連続7回タップ。(途中からカウントダウンが始まる)
「これでデベロッパーになりました!」と表示されたら
[設定]-[開発者向けオプション] という項目が増えているので
[USB デバッグ] をタップして有効化。

無効にする方法
/data/data/com.android.settings/shared_prefs/development.xml

を削除すればよいとのことだけど、未試行。

参考サイト

AndMem:Android端末を「デバッグモード」(USBデバッグ)に設定する

未分類 | 2016-04-11 (月) 20:48:19 |

セル -> コピー、切り取り、貼り付け

Posted by muchag | Excel VBA | 2016-03-19 (土) 10:30:45

大昔、VBA を始めた頃に、「マクロ記録」を利用していた名残なのか
コピーのときは、コピーしてペースト、というコードを書いてしまう癖があるな~。
でも、本当は、ただの貼り付けなら1行なのよね。

なので、今更ながら、まとめてみる。

【環境】
Excel: 2010
書式
  1. ' Range.Copy メソッド
  2. .Copy(Destination)
  3.  
  4. ' Range.Cut メソッド
  5. .Cut(Destination)
  1. Destination
    1. オプション
    2. バリアント型 (Variant)
    3. コピー先のセル範囲。この引数を省略すると、クリップボードにコピーされます。
  2. 戻り値
    1. バリアント型 (Variant)
  1. Worksheets("Sheet1").Range("A1:D4").Copy _
  2.     destination:=Worksheets("Sheet2").Range("E5")
貼り付け
Paste

クリップボードの内容をオブジェクトに転送します。

  1. object.Paste
  1. Worksheets("Sheet2").Range("E5").Paste
PasteSpecial

Range をクリップボードから指定範囲に貼り付けます。

  1. .PasteSpecial(Paste, Operation, SkipBlanks, Transpose)
  1. Paste
    1. オプション
    2. XlPasteType
    3. 範囲の中で貼り付ける部分を指定します。
  2. Operation
    1. オプション
    2. XlPasteSpecialOperation
    3. 貼り付けの操作を指定します。
  3. SkipBlanks
    1. オプション
    2. バリアント型 (Variant)
    3. クリップボードに含まれる空白のセルを貼り付けの対象にしないようにするには、True を指定します。既定値は False です。
  4. Transpose
    1. オプション
    2. バリアント型 (Variant)
    3. 貼り付けのときにデータの行と列を入れ替えるには、True を指定します。既定値は False です。
XlPasteType
名前 説明
xlPasteAll -4104 すべてを貼り付けます。
xlPasteAllExceptBorders 7 輪郭以外のすべてを貼り付けます。
xlPasteAllMergingConditionalFormats 14 すべてを貼り付け、条件付き書式をマージします。
xlPasteAllUsingSourceTheme 13 ソースのテーマを使用してすべてを貼り付けます。
xlPasteColumnWidths 8 コピーした列の幅を貼り付けます。
xlPasteComments -4144 コメントを貼り付けます。
xlPasteFormats -4122 コピーしたソースの形式を貼り付けます。
xlPasteFormulas -4123 数式を貼り付けます。
xlPasteFormulasAndNumberFormats 11 数式と数値の書式を貼り付けます。
xlPasteValidation 6 入力規則を貼り付けます。
xlPasteValues -4163 値を貼り付けます。
xlPasteValuesAndNumberFormats 12 値と数値の書式を貼り付けます。
XlPasteSpecialOperation
名前 説明
xlPasteSpecialOperationAdd 2 コピーしたデータは、対象セルの値に追加されます。
xlPasteSpecialOperationDivide 5 コピーしたデータは、対象セルの値によって分割されます。
xlPasteSpecialOperationMultiply 4 コピーしたデータには、対象セルの値が掛けられます。
xlPasteSpecialOperationNone -4142 貼り付け操作で計算は行われません。
  1. With Worksheets("Sheet1")
  2.     .Range("C1:C5").Copy
  3.     .Range("D1:D5").PasteSpecial _
  4.         Operation:=xlPasteSpecialOperationAdd
  5. End With
Excel VBA | 2016-03-19 (土) 10:30:45 |

jQuery Easing Plugin

Posted by muchag | jQuery,Library & PlugIn & AddIn | 2016-03-05 (土) 10:49:20


jQuery Easing Plugin (version 1.3)
最終更新日:2013-01-31

【環境】
jQuery: 1.11.3
jquery.easing.: 1.3
概要

アニメーション動作パターン集。

jQuery が持つアニメーション動作パターンを拡張してくれる。

DL

jQuery Easing Plugin (version 1.3) の Download より
jquery.easing.1.3.js のリンクをクリック。

一覧

Easing Function 早見表

jQuery,Library & PlugIn & AddIn | 2016-03-05 (土) 10:49:20 |

Posted by muchag | Excel VBA | 2016-03-05 (土) 8:56:11

【環境】
Excel:2013
指定
16進数

Web では、RGB の順序で指定するけど
VBA では、BGR の順序なので注意。

  1. ' 赤
  2. ' Web であれば、"#FF0000"
  3. TextBox.BackColor = "&H0000FF"
Excel VBA | 2016-03-05 (土) 8:56:11 |
次ページへ »