デザインパターン入門 マルチスレッド編まとめ

がーっと読んだ。実際に使うときの思い出しトリガーになるようにメモしておく。Java言語で学ぶデザインパターン入門 マルチスレッド編 マルチスレッドプログラムの評価基準 安全性 オブジェクトを壊さないこと スレッドセーフなクラス 生存性 必要な処理が行…

Resizableの使い方

基本的な使い方のメモ。 // target_idはDOMエレメントのID // 例えば、<div id="target_id">ここがリサイズされる</div> // var elm = new Ext.Resizable('target_id', { width: 200, height: 50, minWidth: 0, maxWidth: 500, handles: 'e', // 右方向だけリサイズ可 dynamic: true, t…

Windowの下までスクロールされたことを検出する

AutoPagerizeのようなことを実現するために、Windowの下までスクロールされたことを検出するJavaScriptを調べてみた。 意外と苦労したのでメモ。 ソース // 垂直スクロール量を取得する var scrollTop = document.body.scrollTop || document.documentElemen…

JJUGクロスコミュニティカンファレンス2008Springに参加した

各セッションの内容をメモしておく。 参加したセッション Click Framework Grails JRuby on Rails Wicket パネルディスカッション(Webアプリケーションフレームワーク) 教科書に載っていないアジャイルプロセス開発 ポストJavaは何か?JVMで動く関数型言語…

世界のナベアツ by JavaScript

これにインスパイヤされて反射的に実装。 http://q.hatena.ne.jp/1207585413 var NabeAtsu = function() { for(var i = 1; i <= 40; i++) { var msg = ""; if (i % 3 == 0 || (i + "").indexOf("3") >= 0) { msg += "アホ"; } if (i % 5 == 0) { msg += (msg…

クロスコミュニティカンファレンス2008に反射的に申し込んだ

社内のお勉強プロジェクトで使っているオープンソースJavaフレームワーク「Click Framework」。Click Frameworkのコミッタでもある、たけぞうさんこと竹添直樹さんによるClickのセッションが行われるらしいので反射的に申し込みました。お勉強プロジェクトで…

OmniFind Yahoo! Editionインストールメモ(Windows)

部内の成果物はファイルサーバにフォルダ分けされて管理されているが欲しい材料をすぐに見つけるのは難しい。そんな状況で、成果物を全文検索できるようにしてほしいと頼まれていろいろ調べているうちに見つけた。OmniFind Yahoo! Edition。こいつはなかなか…

突然起動しなくなったファイルサーバ(Windows2000)の復旧

今日、客先で利用させてもらっていたWindows2000のファイルサーバに、突然ブルースクリーンが表示。 おいおい、と思いながら再起動するとmissing operating systemげげっ!シャレにならん! 実際にこんなエラーに遭遇するのは初めてだったのでかなり焦る。 …

calleeとthisで参照できるオブジェクト違い

呼び出されるたびに異なる値を返す関数として、 関数プロパティに変数を保持させて実現する例があった。 uniqueID = function() { if (!arguments.callee.id) arguments.callee.id = 0; return arguments.callee.id++; }; alert(uniqueID()); // 0 alert(uni…

JavaScript第5版 P144 クロージャの例

クロージャとは、実行するコードとコードを実行するスコープを組み合わせたもの //呼び出されるたびに異なる値を返す関数 //関数のプロパティに変数を保持させて実現する場合 uniqueID = function() { if (!arguments.callee.id) arguments.callee.id = 0; r…

実行コンテキストとスコープチェーンについて整理した

JavaScript第5版「変数のスコープの概念」の説明でこんがらがってしまったので整理してみた。 グローバル変数はGlobalオブジェクトのプロパティ Globalオブジェクトはインタプリタ起動時にJavaScriptコードを実行する前に生成される ローカル変数はCallオブ…

JavaScript第5版 P123〜P140

関数 関数もオブジェクト 関数はデータとしても扱える 関数の引数は省略可能 可変長引数(argumentsプロパティで参照できる) argumentsの実態は配列のようなArgumentsオブジェクト arguments.calleeで実行中の関数を参照できる arguments.callee.lengthで関…

JavaScript第5版 P105〜P122

配列のメソッド join 配列の要素を文字列に変換し、連結する。 var a = [1, 2, 3]; var s = a.join(); // s == "1,2,3" s = join(", "); // s == "1, 2, 3" 区切り文字指定 reverse 配列の要素の順番を逆にする。新しい配列は作らない。 var a = [1, 2, 3]; …

JavaScript第5版 P91〜P104

for/in文 オブジェクトのプロパティごとにループが実行される var obj = new Object(); obj.a = 3; obj.b = "abc"; obj.c = function() { alert("call z"); }; obj.d = [1,2,3]; obj.e; for (var prop in obj) { alert(prop); //a、b、c、dの順番に表示 } va…

JavaScript第5版 P75〜P90

delete演算子 オブジェクトのプロパティを削除する。 typeof演算子 オペランドのデータ型を表す文字列を返す演算子。 switch(typeof x) { case 'number': foo(); case 'string': bar(); case 'object': gar(); default: dar(); } オブジェクトにアクセスする…

JavaScript第5版 P21〜P74

JavaScript第5版を通読中。基本だけど忘れそうなのでメモっとく 第3章 データ型と値 データ型 基本データ型は3つ 数値(すべて浮動小数点で表現される) 文字列(char型とかはない) 論理値 オブジェクト 配列はオブジェクトの一種(インデックス付のオブジ…