MW211 EXIT

devlog
注意/switch-case文のdefault
2017年02月10日
switch-case文の「default:」は誤記があっても
コンパイルエラーでひっかからない。

「:」なので、通常のラベルとして普通に認識される。

「dafault:」とかでも気づかないことがあるので注意。
分類:注意
ExcelVBA/「.Insert」メソッドの注意点
2015年07月11日
「.Insert」メソッドを使って、単純に行とかを挿入しようとしたら、
なぜかなんか値とか背景色とか挿入されてしまった。

「.Insert」メソッドは「挿入」ではなく「コピーしたセルの挿入」なのだ。

ということで、単純な「挿入」にするには、
直前でコピーバッファをクリアしてあげればよい。
で、その方法は以下の通り。
┌──────────────────────────────────────┐
│Application.CutCopyMode = False                                             │
└──────────────────────────────────────┘
分類:注意、ExcelVBA
ExcelVBA/IsEmpty関数の罠
2014年11月10日
「IsEmpty()」は「0」や「""」(長さ0の文字列)を比較する関数ではなく
未初期化(定義後一度も代入していない)を判定する関数なのだ。
┌──────────────────────────────────────┐
│Dim 変数 As Variant                                                         │
│MsgBox IsEmpty(変数) ' →True                                               │
│変数 = 0                                                                    │
│MsgBox IsEmpty(変数) ' →False                                              │
└──────────────────────────────────────┘
分類:注意、ExcelVBA
jQuery/セレクタ「:hidden」に注意
2014年03月05日
「input type="submit"」を指すセレクタの「$(':submit').」と同じように
「input type="hidden"」を指すセレクタとして「$(':hidden').」が使える。

でも、これは非表示要素(「display:none;」)も対象とするので
意図しないところを指してしまい嵌ってしまうことがある。
「$('input:hidden').」と、絞り込んだ方が安全だと思う。
分類:注意、jQuery
IE/ダウンロード進捗状況の×に注意
2013年07月31日
┌───────────────────┌─────┐┌─────────┐─┐
│■MB/■■■■ ダウンロード済み        │キャンセル││ダウンロードの表示│×│
└───────────────────└─────┘└─────────┘─┘
ダウンロード中にダウンロード表示ダイアログがブラウザの下の方に表示される。
ここに「キャンセル」と「×」(閉じる)があるが、
「×」はキャンセルとはならないので注意。

単純に進捗状況を表示しないというだけなのだ。

キャンセルしたい場合には進捗状況を再表示して、キャンセルを実行せねばならない。

再表示の方法だがツールバーから「ツール→ダウンロードの表示」だ。

ダイアログの様式が違うが、内容的には同じようなことができる。
分類:ブラウザ、注意
注意/魔の八月
2013年07月14日
2000年問題に代表されるように、プログラムの制約により、
気を付けなければならない日ってのがある。

その中でも簡単におきてしまうのが、8進数の解釈の違いだ。

すなわち先頭に0がつくと8進数と認識する場合が多いが、
敢えて10進数をゼロパディングして誤認識されハマる場合がある。

日付から月を抜き出す場合「08」月とゼロパディングで抜き出す場合がある。
#これは抜き出す関数とかの仕様による。

ただし、「7」「07」まではどちらでも同じなので露見しないのだ。

つまり「8」の数字が初めて表れる時は要注意ってことだ。
分類:注意
controlの省略形
2013年06月05日
「control」の省略形って、コントロールキーだと「ctrl」なのに、
ファイルコントロールの「fcntl()」関数だと「cntl」なんだね。

紛らわしい。
分類:注意
C言語/static修飾子
2013年05月24日
static修飾子には以下の二つの用途がある。

  (a)静的記憶領域を使用する

  (b)スコープをそのファイルに限定する

ローカル変数のstatic修飾子は(a)、
グローバル変数のstatic修飾子、関数のstatic修飾子は(b)になる。

どちらかといえば代表的なのは(a)の方なので、
(a)の意味で(b)の用例を解釈しようとするとわけがわからなくなる

ちなみに、グローバル変数は静的記憶領域にあるのが前提なので
(a)としての役割は必要ない。よって、(b)としての役割となる。

また、関数は静的記憶領域とか動的記憶領域とかと別の概念(プログラム領域)なので
(a)としての役割は必要ない。よって、(b)としての役割となる。

ってことなのだろうか。

(b)は別の名前にしてくれれば紛らわしくないんだけど、と思ってしまう。
分類:C/C++、注意
jQuery/append()メソッドの要素指定の罠
2012年09月16日
┌──────────────────────────────────────┐
│.append($('<input>').prop('type','hidden'))                                 │
└──────────────────────────────────────┘
とかで、hidden属性とかを追加する訳だが、
セレクタのタグがいらねぇんじゃね?どうせタグ要素を指定するんだし、
とか思い、タグを取っ払った。
┌──────────────────────────────────────┐
│.append($('input').prop('type','hidden'))                                   │
└──────────────────────────────────────┘
するとsubmit時、他のPOST項目がクリアされてしまった。

大変だこりゃ(もちろん元に戻した)。

どういう仕組みなんだろう?
分類:注意、jQuery
jQuery/値を設定する場合の罠
2012年09月15日
┌──────────────────────────────────────┐
│.append($('<input>').prop('type', 'hidden')                                 │
│                    .prop('name', 'command')                                │
│                    .val(xyz)                                               │
│)                                                                           │
└──────────────────────────────────────┘
上記のような書き方は、以下のような書き方で代用できそうな気がする。
┌──────────────────────────────────────┐
│.html('<input type="hidden" name="command" value="' + xyz + '"/>')          │
├──────────────────────────────────────┤
│.append('<input type="hidden" name="command" value=" + xyz + '"/>')         │
└──────────────────────────────────────┘
こっちの方がHTML文に近いからわかりやすいし…。

実は怖い落とし穴があるのです。

変数xyzに「"」とかが入った場合。

サニタイズしていないので、valueに「"」が入らないのです。

ってことで、前者を使う方がいいみいたい。
但し、変な値が入らない場合は後者の方がわかりやすいかも。
とにかく、valueは文字列結合なんか使わないで、val()を使いましょうって話。
分類:注意、jQuery
前へ 1 2 3 次へ