Entries from 2009-01-01 to 1 month
R6RS という共通仕様があるので、CPAN のようなライブラリを集めた場所が欲しいですね。 必要なものは 場所 ライブラリの配布形式 処理系依存の分離方法 これはほぼデファクトスタンダードがある くらい。やったらとても面白いと思うのですが手が回らない状…
FFI の機能を提供するようになったので、特定の共有ライブラリに依存した Scheme コードのインストール方法を考えなければならない。 例えば (dbd mysql) というライブラリは libmysqlclient に依存するが ユーザーの環境で libmysqlclient.so がどこにイン…
# FFI testがconfigureのHOST(やCFLAGS)を尊重しないのでクロスコンパイル時にFFIのテストが通らない # double引数に対して正確数を渡せない。下のサンプルで1.0とかいちいち指定しているのはこのため。おお。絵がでている。ありがとうございます。configure…
10割 Join Set and Aggregation Projection (3D) 仮想記憶 B+-Tree
次の課題についてじっくり検討。InfoQ: InfoQ Book: Domain Driven Design Quickly の PDF を読もうかと。 読んだ事がある人がいればぜひ感想をお聞かせ下さい。
実際の動作を見る まずは浮動小数引数がどのように扱われるかを手元の環境(i686 GNU/Linux)でチェックする。 hage.c を書いて double add(double a, double b, double c) { return a + b + c; } void call_add() { add(1.0, 2.0, 3.0); } gcc -c hage.c -S…
id:leque さんからご指摘いただいたバグ。いつもありがとうございます。 (import (rnrs)) (define-record-type a (sealed #t)) (define-record-type b (parent a)) (make-b) sealed な Record a が extend できてしまっています。 以下のようにエラーになる…
とりあえずカポを買おう。なくしてしまったみたい。
2009年2月28日(土) 14:30- に Shibuya.lisp Tech Talk #2 を開催します。 前回と同じく会場は渋谷の 価格比較サイト / ECナビ さんに提供していただきます。ありがとうございます。 今回は前回と同等かそれ以上の豪華な Tech Talker 陣です(自分以外は。。…
B+-Tree 5割 Duplicate handling すっかり失念 以下 10割 OS vs DBMS Heap file format Projection 加算・減算 Breakout Method Object
ドキュメントに必要な情報を R6RS の tex ファイルから抜き取るスクリプト。 書き捨てに近いのできれいではないが、Mosh はこの手の用途には普通に使えるレベルになってきたな。うれしいぞ。 (import (rnrs) (mosh) (srfi :1) (srfi :26) (srfi :98)) (inclu…
Selection 10割 BUS 10割 Break out Method Object 0割 Projection 0割 数が少ないのはついに黒字復習を達成したから。地味にうれしい。
Database Management Systemsの14章。 マインドマップから再構成したまとめ Set Union と Difference 方法 2つ Sort & Merge Partitioning (h & h2) Aggregate AVG, MIN, MAX など。 group by が付加する事も。 Basic な方法:Scan + 必要な情報を保持 Group…
Database Management Systemsの14章。 マインドマップから再構成したまとめ Nested Loop Join simple, but slow I/O 多すぎる Block Nested Loop Join 前提:B バッファページ利用可能 R を B に読み込み、S の tuple と比較 R を読み込むのではなく B にメ…
本当は理解できていないのに、自分をだまして分かったふりをする事。そのまま読み進め最後までたどり着き、自分はこの本を読んだと勘違いしてしまう事。 分からないなら分かるまであきらめずに何度も読む。もしくは「分からなかった」と心の中に留めておく事…
Half of what i say is meaningless.
気の利いた会話、多少の驚くような展開、個性豊かな登場人物。だがしかし物足りなさを感じる。舞城王太郎を読んだあとに佐藤友哉を読んだときの気持ちに似た何かを感じる。
External Sorting 10割 クォータニオン 10割 CPU パイプライン 10割 Intel 浮動小数 10割 プロセッサ入出力 I/F 10割 WEwLC 変更が永遠に終わらない 10割 Selction 2割
Common Lisp の print は表示したオブジェクトをそのまま返すらしい。id:g000001 さんに教えてもらった。 (and hoge hige) の print デバッグは (and (print hoge) hige) と書ける。面白い。 ちなみに Scheme の display は未定義値を返す仕様。 追記 多値に…
Java並行処理プログラミング ―その「基盤」と「最新API」を究める―が届いた。 コメントで入手可能な書店を教えてくださった皆さんありがとうございました。結局ジュンク堂で購入。 帯に「結城浩氏推薦」と書いてある。楽しみ。
ドキュメントツールを選定。必要な機能が揃っている事が確認できたので書き始める。まずは Mosh 特有のものからということで FFI のドキュメントを書いた。 (rnrs) ライブラリなど R6RS の部分はぶっこぬいて作りたいな。
External sorting 4割 CPU パイプライン 5割 乗算 10割 I/O コスト比較 10割 光 10割 Pull up features 10割 Rasterize 10割 メモリクリア比較 10割 Query plan と最適化 10割 メモリクリア比較 10割
Flexible and efficient storage management for dynamically-typed languages. を読み始めたが期待していたものとは違ったのでやめる。 論文とその参考文献を中心に Abstract を読み漁ったが興味があるものはなかった。 さてどうしようか。無理に論文を読む…
Database Management Systemsの14章。 マインドマップから再構成したまとめ Projection の手順 不要 attribute を削除 重複 tuple の削除 Projection based on Sorting Scan して attribute 削除 tuple を Sort sort result を scan して重複を削除 External…
ソースコードからドキュメント生成するツール、doxygen, Texinfo, JavaDoc などの列挙と機能の比較をまとめていたが、以下の Wikipedia のページに気付き途中でやめた。 大変良くまとまっている。 Comparison of documentation generators - Wikipedia, the …
MySQL に関しては select, insert, create table など動いた。PostgreSQL は必要になったらにしよう。気が向いたら誰かがやってくれるかもしれないと期待。 ちなみに CLOS は楽しい。まだ浅くしか使っていませんが。ソースは http://code.google.com/p/mosh-…
光 0割 Query Plan と最適化 0割 ファイル別コスト比較 10割 Hash-based Indexing 10割 マルチコア 10割 WEwLC 時間がない 10割 性能の定義 10割 WEwLC 僕のアプリは API 読んでいるだけ 10割 記憶の階層の利用 10割
速読の練習。速読はしない。文の構造を意識しつつ読み進める習慣をつける。方法論はTOEFLテスト速読・速聴大特訓 基礎編で。ルールは以下の通り。 トピックセンテンスは黄色いマーカーで シグナルワードは緑の線 読み終わった。内容は分かりやすい。一度 VM …
Database Management Systemsの14章。 マインドマップから再構成したまとめ 簡単な Selection reserves (100件/page, 1000 pages) select * from reserves where rname = 'Joe' 何も考えない方法:1000 I/O No Index, Sorted Data: log2(1000) = 10 I/O prac…
(import (rnrs) (dbi) (mosh) (mosh test) (clos core)) (let ([conn (guard (c (#t (display "mysql not supporeted\n") #f)) (dbi-connect "dbi:mysql:mysql:127.0.0.1:3306" "root" ""))]) (when conn ;; conn is sub-class of <connection> (test/t (if (memq <connection> (clas</connection></connection>…