計算機プログラムの構造と解釈 の問題を、Schemeで一問一問解いてゆくのが流行りな2006年でした(師走気分)。このSICPをHaskellやCleanで解いている方はいますが、意外にもC++で解いている人が見当たらないので(注: あたりまえ)、C++のテンプレートはさっぱりよくわからんなぁと思いつつ適当にやってみます。ネタです。 [ネタ1] exercise 1.45, 1.46 まずは、問題1.45-1.46を。これらは1章の最終問題で、1章で学んだ手続き抽象のテクニック全てを使う感じがして楽しいです。xのn乗根を反復改良法で求める関数 nth-root を作るという設問です。 まずはSchemeで解く 私の拙いスキーム力を用いて書いてみるとこんな感じ*1? (define (compose f g) (lambda (x) (f (g x)))) (define (repeated
たとえば、あなたが午後いっぱいを費やして製作したオーディオ・ファイルの再生を楽しみながら、「やあ、こいつはすごい音だ! こっちに移動しておくとしよう」と思ったとする。そのとき、潜在意識が違和感を唱えるのだ。「ええと、mvだっけ、rmじゃないのか?」…やっちまった。そのショックはよくわかる。誰にでもありうる失敗だ。だが、失われたファイルを取り戻す簡単な方法はある。しかも、それはどの標準Linuxシステムでも使える方法だから、覚えておいて絶対に損はない。 簡単に説明すると、Linuxファイルシステム上にあるように見えるファイルは、実際はinodeへのリンクに過ぎない。inodeには、ファイルのあらゆるプロパティ(アクセス権や所有権など)のほか、ファイルの中味が実際に存在するディスク上のデータブロックのアドレスも記録される。rmコマンドでファイルを削除すると、ファイルのinodeを指すリンクは削
YAML/JSONというデータ形式を耳にしたことがあるだろうか? YAMLはRuby on RailsなどLight Weight(LL)系フレームワークで設定ファイルの記述形式として広く利用されているデータ形式である。また、JSONはJavaScriptでの扱いが容易なことからAjaxでのサーバとの通信フォーマットとして利用されるケースも増えている。Javaの世界ではいずれもXMLが幅を効かせている分野であるが、LLでこれらのデータ形式が好んで利用されるからには相応のメリットがあるはずだ。 本稿ではYAML/JSONがどのようなものか、そのメリット、そしてJavaでこれらのYAML/JSONを扱う方法について解説する。
ここんとこ、年末にだす Cocoa勉強会の会誌「Cocoa Life Vol.3」のレビューをひたすらやってるわけだけど、Growl の記事のチェックでプロジェクトの Trac を検索していたいら、Growl coding standards ってのを見つけた。 で、なんとなく調べたくなったので、Cocoa のコーディングスタイルについて書かれたものを探してみた。 Coding Guidelines for Cocoa 本家 Apple による ADC ドキュメント。見た目上の話でなく、名前づけのルールの話がほとんど。その多くは Cocoa では常識となっている話なので「そうですね」とうなずくばかり。 だけれど、"Tips and Techniques for Framework Developers"は、フレームワークの実装デザインの話でおもしろい。 WebKit Coding Styl
について探し物をしていたら、よくまとまった資料を見つけた。(PowerPoint資料) http://www-ikn.ist.hokudai.ac.jp/ikn-tokuron/LN_H16_IKNtokuron-pattern_matching.ppt - bit-parallelismという手法があることを知った。 非決定性有限オートマトンを状態を1bitで表して、1ワードの中に32状態(32bitマシンの場合)を同時に保持させ、ビット演算を用いて複数の状態を同時並行で計算するという手法だということ。 有名なアルゴリズムにShift-Orというアルゴリズムがある。http://www-igm.univ-mlv.fr/~lecroq/string/node6.html 今、興味を持っているのは、BNDMというアルゴリズムで、検索文字列を反転させてsuffix automatonを作り、そ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く