2011/05/15
2011/05/10
2011/04/28
2011/03/29
KDW
https://www7.atwiki.jp/win2000/pages/16.html
>それ以降は fcwinのみのサポートになります。
>Windows 2000ユーザーには、より互換性が高い、拡張カーネル や ドライバの互換性向上に特化した、拡張コアの利用をお勧めします。
以下は備忘録です。
--------------
Windows2000でXPをエミュしてるバカ,もとい天才がいると聞いて
http://slashdot.jp/~BlackWingCat/journal/444434
Wikiを読んでいたのが 中身がおかしい。
http://www7.atwiki.jp/win2000/pages/16.html
昔フックを掛けるとかラッパ-通すとかあったなぁみたいなデジャブにかられたのだが
ブログをみつけた。
http://blog.livedoor.jp/blackwingcat/
いや マジおかしくない?この人(ホメ言葉
2011/03/26
オライリー・ジャパンが災害支援としてEbook Storeの商品をすべて半額に #jishin
オライリー・ジャパンが災害支援としてEbook Storeの商品をすべて半額に #jishin
おぉ。
この手の支援ってwin-winでいいなぁ。
2011/03/25
2011/03/17
[24時間365日] サーバ/インフラを支える技術 スケーラビリティ、ハイパフォーマンス、省力運用
[24時間365日] サーバ/インフラを支える技術 ‾スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)
hatenaの中の人が執筆した本。具体的アプリケーション名をあげながら、止めることができないサーバまわりをどう構築するか書いている。ネットワークやサーバの教科書的な用語や概念は知っていないと、理解するのは少し難しいかもしれない。改訂されない限り、時間がたつと内容が一部古くなってしまうことが予想される。早めに読んだほうがいい(もっと早く読めば良かった…)。
個人的に面白かったなぁと思う点は2点。1. linux系OSでの負荷の調べ方(なんとなくしか理解できていなかった)。2. サーバ機を汎用的に運用する方法(サーバ機をネットワークブートにして、アプリケーションサーバ、リバースプロキシー、ロードバランサーなどに起動時に自由に変更できるようにする。また、そういう運用が可能なネットワークを組む。そうすることによって、それぞれの用途毎に予備機を用意する必要がない)。
貴重な運用ノウハウがこの値段で提供されているのは素晴らしい。全然触れたことがない世界なので、刺激的だった。いいなぁ、こういう仕事してみたい。
2011/02/24
Rubyの面白いところ Part 12 「標準ライブラリにバックトレース機能がある」
LLな言語を使う開発者は、どうにもIDEを使わないイメージがあるのですが、標準ライブラリにトレースバック機能 があるんですねぇ…。
#!/usr/bin/ruby def foo p caller(0) # ["caller.rb:4:in `foo'", "caller.rb:11:in `bar'", "caller.rb:14"] p caller(1) # ["caller.rb:11:in `bar'", "caller.rb:14"] p caller(2) # ["caller.rb:14"] p caller(3) # [] end def bar foo end barファイル名、行番号、メソッド名を出力しています(参考)。
2011/02/17
Rubyの面白いところ Part 11 「caseとbreakは他言語と動作が異なる」
breakはもっとも内側のループを脱出します。ループとは
- while
- until
- for
- イテレータ
ほっほー。試しに下記を実行するとfirstが出力された。つまり、2つ目からのwhenはifではなくelse ifなんですね。
a = 1 case a when 1 p "first" when 1 p "second" # never come here else p "else" # never come here end
2011/05/11 追記:
動物本を見るとelse ifという表現はあまりよろしくない気がしました。
- プログラミング言語 Rubyより
他の言語のswitch文は、単純に適切なcaseラベルの先頭に制御を移すだけである。そこから制御は継続され、他のcaseラベルに「落下」することもある。この落下の動作により、複数のcase節が同じコードブロックを参照できるのである。Rubyでは、個々のwhen節にカンマ区切りの複数の指揮を並べられるようにして、同じ目的を達している。Rubyのcase文は落下しない。
- プログラミング言語 Ruby 第2版 131ページ caseとswitch
def hasValue?(x) # hasValue?という名前のメソッドを定義する
case x # xの値に基づく多方向条件分岐
when nil, [], "", 0 # nil===x || []===x || ""===x || 0===xなら
false # メソッドの戻り値はfalse
else # そうでなければ
true # メソッドの戻り値はtrue
end
end
2011/02/16
Rubyの面白いところ Part 10 「多重代入における*の取り扱い」
多重代入は複数の式または配列から同時に代入を行う。左辺の最後の式の直前に*がついていると、対応する左辺のない余った要素が配列として代入される。余った要素が無い時には空の配列が代入される。
foo, bar = [1, 2] # foo = 1; bar = 2 *foo = 1, 2, 3 # foo = [1, 2, 3]
ここまでは便利だなぁーと思うのですが、次の仕様がどう有効活用するのかよくわからない...
特に最後の単体の*はメソッド呼び出しにおいて引数を完全に無視したいときに使用できます。
def foo(*) end foo(1,2,3) # ok def bar() end bar(1,2,3) # in `bar': wrong number of arguments (3 for 0) (ArgumentError)
何か有効活用する意味があると思うんですが、思いつきません...
参考: Rubyリファレンスマニュアル
