2011 年開始

あけましておめでとうございます. 2010 年は日記の更新が滞ってしまいました. 今年は週一ぐらいのペースで更新したいな,と思う元日.あと,Lisys は現在 Google の Project Hosting サービスへの移行を検討しています.ではでは.

DataMapper 0.10.2 Reading (その 4: dm-core/core_ext/)

このディレクトリに配置されたコードは,ruby の標準クラス (モジュール) を拡張するためのもの.具体的には以下の 3 つが拡張されている. Enumerable Kernel Symbol それぞれは小さなコードだが,影響範囲は広い. Enumerable empty?/one?/first/size メソ…

一気に

下書きのままだった記事をアップしてみた. 続くったら,続くんです.

Pocket WiFi

Pocket WiFi なるものを購入してみた.思ってたよりも小さい.スゲーつるつるしてる.プランは「新にねん」で「スーパーライトデータ」にした.これだと本体価格は 15,580 円になる.「にねん M」だと 5,980 円になるが,差額の 9,600 円は 24ヶ月で分割され…

DataMapper 0.10.2 Reading (その 3: dm-core/)

今回からは dm-core/ 以下のコードを見ていきます. 配置確認 うーん,かなり変更されている... dm-core/ adapters/ abstract_adapter.rb data_objects_adapter.rb in_memory_adapter.rb mysql_adapter.rb oracle_adapter.rb postgres_adapter.rb sqlite3…

忘れてた...

DataMapper を 0.10.2 に upgrade したとき... {:nullable=>false} is deprecated, use {:required=>true} instead (./tables.rb:14)あー,ですよねー.

DataMapper 0.10.2 Reading (その 2: dm-core.rb)

やはり,最初はここから. 0.9.x に比べて,格段にモジュール化が進み,非常にシンプルになっている. 最初の方 ひたすら require して,必要なコードを読み込んでいる.所々 TODO があるので,また変わるんだろうなぁ... DataMapper.root module DataMap…

新年 2010

あけましておめでとうございます.今年もよろしくお願いいたします.

DataMapper 0.10.2 Reading (その 1: パッケージ)

今回から 0.10.2 のコードへ突入. その前に,0.9.11 のコードを読み進めたときの反省点. 全体像の把握をきちんとしていなかった 気づいたら深さ優先になってた 図がない! 自分で読み返してもわかりづらい! と,いうわけで,気をつけろよ!>自分 パッケ…

名前データが大量に欲しくなって

テーブルに突っ込むデータとして,名前データが欲しくなったわけです.そしたらこんな記事を発見. http://itpro.nikkeibp.co.jp/article/COLUMN/20060131/228230/ とりあえず ruby 用に書き直してみた.重複云々の部分 (元記事の if 文) は省略しています.…

DataMapper Reading (その 4: Adapter 補足)

前回積み残した TODO の Adapter について.実際に DB へ SQL 発行を行うのが Adapter なので,こいつを実装すればいろんなストレージにアクセスできるようになる.なお,自分で Adapter を実装する場合は,in_memory_adapter.rb が参考になる. AbstractAda…

DataMapper Reading (その 3: 検索メソッド all の処理)

かなーり間が空いてしまいましたが,続きます.早く version 10.x に突入したい.今回は代表的な検索用メソッドである Model#all を読んでいきます. Model#all module DataMapper module Model def all(query = {}) query = scoped_query(query) query.repo…

DataMapper の公式サイトが...

デザインが新しくなってる. http://datamapper.org/ 内容は充実しているのだろうか? (なんか Transaction が見つからないけど)

DataMapper Reading (その 2: モデルの save 処理)

今回はモデルの save 処理を軸に読み進めていきます. Resource#save メソッド モデルの save メソッドは,Resource モジュールに定義されている. module Resource def save(context = :default) ... associations_saved = false child_associations.each {…

OB 会と異人館

10/10 (土) は OB 会,10/11 (日) は神戸の異人館に行ってきました. OB 会 楽しかったよ!みんなあんまり変わってねぇなぁ! だが,変化がないわけではない (だって,あんまり詳しくかけないじゃん...). 異人館 神戸の異人館.JR 新神戸駅から徒歩 10 …

DataMapper Reading (その 1: module DataMapper)

DataMapper モジュールには,setup や repository メソッド,migration 関連メソッドが定義されている. 対象バージョン 0.9.11 DataMapper.setup メソッド # 使用例 DataMapper.setup(:default, 'mysql://localhost/hoge_db') DataMapper を使うときに必ず…

DataMapper Reading (はじまり)

DataMapper のコードを読む.最終的には Adapter を実装したい. 公式 http://datamapper.org/ github http://github.com/datamapper 作業環境 OS ubuntu 9.04 DataMapper 0.9.11 (data_objects や extlib は 0.9.12) でもこれは途中まで (0.10.1 に上がって…

DataMapper を使う (Hook)

メソッド呼び出し前後に callback を仕掛けることができる. DataMapper Hooks http://datamapper.org/doku.php?id=docs:hooks インスタンスメソッドに対する Hook class Post include DataMapper::Resource ... before :save, :do_before_save # save メソ…

DataMapper を使う (Single Table Inheritance)

DataMapper で STI を表現する場合は,以下のようにする. class Person include DataMapper::Resource property :id, Serial property :name, String property :type, Discriminator ... end class Employee < Person property :dept, String # 所属 end cl…

twitter はじめてみた

とりあえずさわってみよう,ということで. サイドバーに表示させてみた.

DataMapper を使う (Index)

以下の記事によれば,property の定義で index の指定ができるようです. http://jlaine.net/2008/6/2/specifying-indeces-in-datamapper 具体的には,property 定義で :index => true を指定する. unique index にしたい場合は :unique_index => true を指…

DataMapper を使う (Transactions)

今回は Transaction 機能について. 公式サイト http://datamapper.org/doku.php?id=docs:transactions 環境 dm-core-0.9.11 モデル定義 class Account include DataMapper::Resource property :id, Serial property :name, String, :nullable => false prop…

DataMapper を使う (Associations)

目次 has n and belongs_to (One-To-Many) has n, :through (One-To-Many-Through) ここでちょっと補足 has, and belongs to, many (Or Many-To-Many) Self-Referential Has, and belongs to, many Adding To Associations Removing From Associations Custo…

DataMapper を使う (Finding)

さて,今回は検索について.1ヶ月ぐらい前に書いたものだけど... (この続き→ DataMapper を使う - KrdLabの不定期日記) いつも通り以下のサイトを参考に,ざっと使い方をメモってみた. http://datamapper.org/doku.php?id=docs:finders 使えるメソッド D…

シャーロック・ホームズを久々に読み直している件

おもしろい.何度読んでもおもしろい. 睡眠不足になる.タスケテ... 新訳シャーロック・ホームズ全集を全巻購入 (バスカヴィル家の犬と回想は発送待ちだが). 新訳シャーロック・ホームズ全集 (光文社文庫) 「推理博物館」も購入. シャーロック・ホーム…

JUDE のセットアップ (ただのメモ)

# cd ~/tmp jude-community-5_5.zip をダウンロード unzip jude-community-5_5.zip sudo mv jude_community/ /usr/local/share/ sudo vim /usr/local/share/jude_community/jude 以下のように書き換える JUDE_HOME=/usr/local/share/jude_community #JUDE_HO…

GNOME 上でアプリが止まって困ったとき (ただのメモ)

firefox が固まってしまいまして... そのままデスクトップ全体が固まってしまいまして... Ctrl+Alt+F2 でコンソール画面へ login ps aux | grep 'プロセス名' で pid を確認 kill -s 9 pid Ctrl+Alt+F7 で GNOME へ戻る

いろいろ...

ありました. Ubuntu 8.04 から Ubuntu 9.04 に乗り換えてみた ひたすら開発環境を整備 専門店でうな丼食べてきた 土用の丑の日 (もう過ぎてるけど) にちなんで. 地デジチューナ導入 きれいですなー.

eclipse

IDE の eclipse じゃないよ.明日 (2009/07/22) は,日食が起きますね.天気予報では,晴れそうな曇りそうな,微妙な感じですが,雨ではなさそうです. ただね...,食の入りと終わりの時刻を確認してみたら,ちょうど会議の時間帯でした.orz 見ることが…

3 連休終わり

なんか,今回の 3 連休は恐ろしいほどだらけていた気がする... いやいや,実際にはいろいろやってるはずなんだけど... 計画性がない この 3 連休でやりたいこと,ぐらいは決めておいた方が良かったなぁ. 「気がする」ってことしかわからない 要は記録…