MW211 EXIT

devlog
JavaScript/配列定義を文字列定義と誤認すると
2014年05月16日
配列は「'」で囲う必要はない。

以下、通常の配列定義をした場合の挙動。
┌──────────────────────────────────────┐
│var 配列 = [1,2,3];                                                         │
├──────────────────────────────────────┤
│alert(配列.length);                                                    //→3│
├──────────────────────────────────────┤
│for (var i = 0; i < 配列.length; i++) {                                     │
│    alert(配列[i]);                                      //→「1」「2」「3」│
│}                                                                           │
├──────────────────────────────────────┤
│for (var key in 配列) {                                                     │
│    alert(配列[key]);                                    //→「1」「2」「3」│
│}                                                                           │
└──────────────────────────────────────┘

これを誤って「'」で囲って文字列定義にしてしまった場合の挙動。
┌──────────────────────────────────────┐
│var 配列 = '[1,2,3]';                                                       │
├──────────────────────────────────────┤
│alert(配列.length);                                                    //→7│
├──────────────────────────────────────┤
│for (var i = 0; i < 配列.length; i++) {                                     │
│    alert(配列[i]);                  //→「[」「1」「,」「2」「,」「3」「]」│
│}                                                                           │
├──────────────────────────────────────┤
│for (var key in 配列) {                                                     │
│    alert(配列[key]);                //→「[」「1」「,」「2」「,」「3」「]」│
│}                                                                           │
└──────────────────────────────────────┘
文字列も配列の一種なので、普通の動作してしまう(よって、気づきづらく厄介)。

そんな馬鹿なことはしないよと思うかもしれないが、
JSON文字列の配列とかを操作していると、うっかりやらかしてしまうものだ。
分類:JavaScript
jQuery/スクロールを先頭に位置付ける方法
2014年05月15日
┌──────────────────────────────────────┐
│$(this).scrollTop(0);                                                       │
└──────────────────────────────────────┘
innerHTML系で領域を変更した場合に、
スクロールを戻してあげた方が違和感がないかも。
分類:jQuery
JavaScript/疑似例外
2014年05月14日
疑似的例外を発生させるには「throw」してあげればよい。
┌──────────────────────────────────────┐
│try {                                                                       │
│    throw '例外だよ';  // 疑似例外                                          │
│} catch (e) {                                                               │
│    alert(e);  //  →「例外だよ」                                           │
│    // 例外処理                                                             │
│}                                                                           │
└──────────────────────────────────────┘

値がなくても大丈夫のようだ。
┌──────────────────────────────────────┐
│try {                                                                       │
│    throw '';  // 疑似例外                                                  │
│} catch (e) {                                                               │
│    alert(e);  //  →「」                                                   │
│    // 例外処理                                                             │
│}                                                                           │
└──────────────────────────────────────┘
分類:JavaScript
Highstock/俯瞰図グラフの選択
2014年05月13日
画面下に絞り込む前の全体像である俯瞰図グラフが表示されるが、
既定では一番目のグラフが表示される。
これを、二番目以降に変更する方法。

「navigator.baseSeries」に指定する。

添字で指定する方法。
┌──────────────────────────────────────┐
│var chart = new Highcharts.StockChart({                                     │
│    navigator   :{                                                          │
│        baseSeries  :1                                                      │
│    },                                                                      │
│    series  :[{                                                             │
│        data    :[1,3,5,7]                                                  │
│    },{                                                                     │
│        data    :[2,4,6,8]                                                  │
│    }]                                                                      │
│});                                                                         │
└──────────────────────────────────────┘
数値を指定する。

識別子(ID)で指定する方法。
┌──────────────────────────────────────┐
│var chart = new Highcharts.StockChart({                                     │
│    navigator   :{                                                          │
│        baseSeries  :'ID2'                                                  │
│    },                                                                      │
│    series  :[{                                                             │
│        id      :'ID1',                                                     │
│        data    :[1,3,5,7]                                                  │
│    },{                                                                     │
│        id      :'ID2',                                                     │
│        data    :[2,4,6,8]                                                  │
│    }]                                                                      │
│});                                                                         │
└──────────────────────────────────────┘
各グラフ(series)に「id」を定義し、それを指定する。
「id」は文字列にしないと(例え文字列として指定しても)添字と誤認されるので注意。
例)「navigator.baseSeries = '1'」としても「1」と認識して添字の1番目となる。
分類:Highcharts
VC++/疑似例外
2014年05月12日
疑似的例外を発生させるには「throw」してあげればよい。
┌──────────────────────────────────────┐
│try {                                                                       │
│    throw("例外だよ");  // 疑似例外                                         │
│} catch(const char* str) {                                                  │
│    // 例外処理                                                             │
│}                                                                           │
└──────────────────────────────────────┘
但し、これは文字型の場合。
「CException」型だとめんどくさい。

で、これを簡単にやってくれるのが「AfxThrowUserException()」。
┌──────────────────────────────────────┐
│try {                                                                       │
│    AfxThrowUserException();  // 疑似例外                                   │
│} catch(CException *e) {                                                    │
│    // 例外処理                                                             │
│}                                                                           │
└──────────────────────────────────────┘
「不明なエラーが発生しました。」っていうメッセージで例外を起こしてくれる。

但し、初期化処理「AfxWinInit()」実行後から使用可なので注意のこと。
分類:C/C++
CSS3/画像反転防止
2014年05月11日
アイコンをクリックする時に、クリックが多すぎると
画像が反転してしまう場合があある。
これを防止する方法。

以下のようなCSSを設定すればよい。
┌──────────────────────────────────────┐
│img {                                                                       │
│    -khtml-user-select  :none;                                              │
│    -moz-user-select    :none;                                              │
│    -webkit-user-select :none;                                              │
│    user-select         :none;                                              │
│}                                                                           │
└──────────────────────────────────────┘
分類:HTML5+CSS3
設計/連想配列の対義語
2014年05月10日
「連想配列」の対義語、一般の「配列」の名称が何かいいのがないかなと思っていた。
#「配列」ってだけじゃ、何を指すのか紛らわしい

PHPのマニュアルページに答えがあった。

  「添字配列」

添字配列:a[0]、a[1]、a[2]
連想配列:$a['zero']、$a['one']、$a['two']

単純配列だの一般配列だの言っていたが、これからは「添字配列」!
Windows/時刻合わせ間隔
2014年05月09日
タイムサーバを使って時刻合わせを行う場合、タイムサーバを設定すれば、
一定間隔で時刻合わせが行われる。

では、その「一定間隔」とは?

「regedit」で以下のレジストリの値として確認できる。(「SpecialPollInterval」の値)
┌──────────────────────────────────────┐
│HKEY_LOCAL_MACHINE                                                          │
│└SYSTEM                                                                    │
│  └CurrentControlSet                                                       │
│    └services                                                              │
│      └W32Time                                                             │
│        └TimeProviders                                                     │
│          └NtpClient    →「SpecialPollInterval」の値                      │
└──────────────────────────────────────┘
分類:Windows
Windows/レジストリの内容確認
2014年05月08日
コマンドラインから「regedit」と入力すると、レジストリエディタが表示されるので、
ツリーを辿っていくと、右側に値が表示される
┌──────────────────────────────────────┐
│HKEY_LOCAL_MACHINE                                                          │
│└SOFTWARE                                                                  │
│  └Perl                                                                    │
└──────────────────────────────────────┘

パスがあらかじめ分かっている場合には、コマンドで一発で参照することも可能だ。
┌──────────────────────────────────────┐
│reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Perl"                                │
└──────────────────────────────────────┘
分類:Windows
PostgreSQL/データや設定ファイルの格納位置
2014年05月07日
PostgreSQLのデータは既定では以下のような位置に格納される。(PostgreSQL9.1の場合)
┌──────────────────────────────────────┐
│C:\Program Files\PostgreSQL\9.1\data                                        │
└──────────────────────────────────────┘
設定ファイル(postgresql.conf)もこのフォルダに直下に置かれている。

さて、このフォルダはインストール時に任意の位置に変更することができる。
(例えば容量が豊富なD:ドライブなど)

では、既に動作済みのWindows環境でこのデータフォルダの位置を確認するには?

レジストリの値を参照するのが手っ取り早そうだ。
┌──────────────────────────────────────┐
│regedit                                                                     │
└──────────────────────────────────────┘
上記でレジストリエディタを開き、以下のツリーを辿っていく。
┌──────────────────────────────────────┐
│HKEY_LOCAL_MACHINE                                                          │
│└SYSTEM                                                                    │
│  └CurrentControlSet                                                       │
│    └services                                                              │
│      └postgresql-x64-9.1                                                  │
└──────────────────────────────────────┘
で、「postgresql-x64-9.1」の「ImagePath」の値を参照する。
例えば、こんな感じ。
┌──────────────────────────────────────┐
│C:/Program Files/PostgreSQL/9.1/bin/pg_ctl.exe runservice                   │
│ -N "postgresql-x64-9.1"                                                    │
│ -D "C:/Program Files/PostgreSQL/9.1/data"                                  │
│ -w                                                                         │
└──────────────────────────────────────┘
そう、「-D」の内容が、データフォルダのパスなのだ。
分類:PostgreSQL
前へ 1 … 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 … 156 次へ