/ 最近 .rdf 追記 設定 本棚

脳log[2009-10-24~]



2009年10月24日 (土) スライドをまとめた PDFは横に連続して並べて、横スクロールしながら読みたい。単一ページを縦に並べても、見開きを縦に並べても、しっくり画面に収まらないので。


2009年10月23日 (金) SourceForge.netの Tracker。あれは何だ(怒) 日本語だと 25文字で強制改行。しかも折り返しではなく <br />。何もしない方がずっとずっと良い。エンコーディングが UTF-8なのと、英語だと 75文字(3倍の長さ)で改行だから、バイト数でカウントしてんだろう。見た目は CSSでやりな!バイト数と文字数と表示幅を短絡するんじゃない! 単語の区切りを考慮して改行を挿入しているのがまた小賢しくて努力の方向があさってで憐れみを誘う。メールやコンソール出力じゃなくて HTMLを生成してるんでしょう?なにやってんの? (なんでこんなに腹を立ててんだろう、我ながら。勝手に文章を悪い方向に整形されたから?) Trackerのさらなるちょんぼ。UTF-8のバイト列を ASCII配列扱いでちょん切ったんだろう。<br />を挿入された付近の1文字がなくなってたりする。


2009年10月22日 (木) [Firefox] 言語ごとにフォントや文字サイズが変更できるとは知らなかった。日本語のフォントは最低12、通常15だけど、西欧は最低15、通常18で、それでもまだちょっと小さいかな、というレベル。なんでこんなにスケールが違うんだ?


2009年10月16日 (金) [SakuraEditor]「折り返ししている物理行末を、キーボードで左から右へ矩形選択しようとすると、次の物理行にカーソルが移動して意図した通りに選択できません」折り返されている行末へカーソルがたどり着いた瞬間、次の行の頭に移動していて右端の一列が選択できない。たしかに問題。折り返し込みの矩形選択とか、コピペしたときにどうなるのが正しいのか想像できないんだけど……。矩形選択は図形的な操作だから、折り返しがあろうが改行があろうが、右へ範囲を広げている最中にキャレットが左へ戻ってしまうというのが意外な感じはする。

最終更新: 2009-10-17T03:43+0900

[javascript] 空文字列にマッチした後の lastIndexの値は IEの挙動が妥当。

  var re = /\b/g;
  var match = re.exec( "012" );
  alert( match.index ); //=> 0
  alert( re.lastIndex ); //=> 0(ECMAScript仕様), 1(IE)

仕様では 何度 re.execを実行しても re.lastIndexが 0から増加しないから、re.execをループで実行するときにはマッチ結果が幅0のときに限り特別に lastIndexをインクリメントする処理が必要になる。

 lastIndexが 1ではいけないの?

マッチの範囲は "0"の直前から "0"の直前までで、lastIndexは範囲の末尾の次の位置を指すもの。マッチの幅は0。

index = 0; lastIndex = 1; であればマッチ範囲は "0"(幅1)ということになってしまい正しくない。

index = 0; lastIndex = 0; であればマッチの幅が 0だということも、その位置が "0"の手前だということも表現できていて正しい気がする。

 でも、lastIndexってパターンオブジェクトのプロパティ……

indexはマッチ結果のプロパティだけど、lastIndexはパターンオブジェクトのプロパティなのだ。match.index...re.lastIndexの範囲が正しいとか正しくないとかは考慮に値しないのではないか。

検索結果に影響があるかといえば、スクリプトエンジンが行ってくれないことを、スクリプトを書く人間が手作業で行っているだけなのだから影響はないだろう。

IEは至極まっとうな実装をしたと思う。


2009年10月15日 (木) [790FX-GD70] BIOS v1.6


2009年10月10日 (土) なんだvvvこれvvvv > THE iDOLM@STER MAD World Service


2009年10月09日 (金) [C++] プライベートメンバ関数をいっぱい宣言する代わりに friend class Hoge; とだけ書いておく、下請け関数ならぬ下請けクラス、メソッド。(ありかな?)


2009年10月08日 (木) sourceforge.netでうざいポップアップが出る。httpsのページで http://ad.doubleclick.net/...を読み込んでいるからだ。slashdot.jpの ads.osdn.jpもそうだったけど、広告がサイトの Readabilityを落としてはいけない。対象が 2hostになったので Adblock Plusを入れた。


2009年10月07日 (水) [C++] wchar_tって使いにくい。2バイトだったり 4バイトだったり。ワイド文字列リテラルのエンコーディング、とそこから決まる wchar_tのサイズ、を決められたらどうか? ……。char16_t、char32_t、u、u' '、U、U' ' というのがそれだ。早く使いたい。ところで、charより ucharの方がわかりやすくないか。char16…や char32…だとビット幅だけを規定してるみたいじゃない。……。実際にそうなんじゃないだろうか。Wikipedia(ja)には「char16_tとchar32_tであり、それぞれUTF-16とUTF-32を内部表現とする。」こうあるけど、エンコーディングを規定するのは u、U接頭辞だけ、とか。C++コンパイラにエンコーディングのバリデーションとかやってほしい人がいるとは思えないし、やらなければ内部表現云々はまるで無意味だし。……。UTF-16、UTF-32はエンコーディングではない気がしてきた(無知)。ならば Wikipedia(ja)の記述は、これらの符号化文字集合を単独で表現できる大きさ持った型だ、という意味だろうか。<< そろそろ調べどき。……。どちらも符号化方式だった。では C++0xの方を……。エンコーディングを持ってるのは文字列リテラルだけに思える。u8という接頭辞で UTF-8文字列を char配列に納められることもわかった。char16_tと char32_tについては「UTF-16とUTF-32を内部表現とする」というのは間違いで、「UTF-16、UTF-32の符号単位を格納するよう設計されている」が正しそう。「符号単位」という言葉を知らなかったのがうまく説明できなかった原因。「符号位置」(コードポイントの訳語だと思う)とは違う。


2009年10月02日 (金) [Vista] ショートカットは、そのターゲットがごみ箱に入っていることを認識して、復元するかどうか聞いてくる。気が利いてるね。


2009年09月28日 (月) 自動引き落としには承認というプロセスがない。財布のひもを他人に預ける行為だ。クレジットカードもいつまで続くんだ。赤信号みんなで渡れば怖くない、だろう、あれ。もぐらたたきにかまけてないで 21世紀でのあるべき姿を見せよ。


2009年09月27日 (日) どうやってローカル svkリポジトリの、特定のコミットをつまみ食いして pushできるかと思案中。ことが自動で進むのは好きじゃない。>svn merge -c M,N,P,... SVKURL >svn commit でどうだろう。svn mergeは必ずワーキングコピーに対する操作だというのが安心だ。


2009年09月26日 (土) [SakuraEditor] 物理行。論理行。レイアウト行。仲間はずれはどれだ? レイアウト行は折り返された分を新しい行として数える場合の呼び方で疑いようがない。論理行は雰囲気で大多数が合意に達するのではないかと。でも、物理行は考え出すと結論が出せない。ファイルやメモリ中に CRや LFという実体を持つ行を物理行と呼ぶのか、目の前のエディタ画面に疑いようもなく存在している(レイアウト)行を物理行と呼ぶのか。一応、論理行の仲間とされてるみたい。(追記:ANSI版(trunk/の下)のソースを見てたら論理位置とレイアウト位置が同じ意味で使われていた。ギャー!)