2011-01-01から1ヶ月間の記事一覧

プログラミング Haskell 第2章 はじめの一歩 その1

プログラミングHaskell作者: Graham Hutton,山本和彦出版社/メーカー: オーム社発売日: 2009/11/11メディア: 単行本(ソフトカバー)購入: 14人 クリック: 503回この商品を含むブログ (117件) を見る今朝はあまり時間が取れなかったのではじめの0.3歩くらい…

プログラミング Haskell 第1章 導入

プログラミングHaskell作者: Graham Hutton,山本和彦出版社/メーカー: オーム社発売日: 2009/11/11メディア: 単行本(ソフトカバー)購入: 14人 クリック: 503回この商品を含むブログ (117件) を見る今日から「プログラミング Haskell」を読むことにします。…

Rubyベストプラクティス 付録C Rubyワーストプラクティス その3

付録C の最後までです。 eval に任意の文字列(ユーザからの入力など)を渡せてしまうなど論外 文字列の内容を検証するのは抜けがおこり得る どうせ文字列を解析するのなら意味解析してメソッドを使ったほうがいい rescue での例外捕捉によるガードする書き方…

Rubyベストプラクティス 付録C Rubyワーストプラクティス その2

引き続きワーストプラクティスについてです。 クラスメソッドでクラス名をハードコードすると継承して使う時にこまることがある 継承よりも Mix-in 今日はここだけ。

Rubyベストプラクティス 付録C Rubyワーストプラクティス その1

Ruby ベストプラクティスの最後を飾るのは 付録C Rubyワーストプラクティスです。やってしまいがちな失敗について述べたものです。「こうしたほうがいい」というのにくらべて「こうするとよくない、失敗しがち」という知見は実践的なものになりがちなのでと…

Rubyベストプラクティス 付録B Rubyの標準ライブラリを活用する その2

引き続き 付録B です。ほぼ既にどこかで読んだライブラリなのですっとばしていきます。 strscan digest mathn require "mathn" すると整数除算が Rational を返すようになる sqrt(-1) #=> Complex(0, 1) Vector, Matrix csv pstore json { "json_class" : "M…

Rubyベストプラクティス 付録B Rubyの標準ライブラリを活用する その1

付録B は標準ライブラリの紹介です。ほぼ既にどこかで読んだライブラリなのですっとばしていきます。 pp (pretty printer) p に対する inspect のように pretty_print メソッドを定義することで表示をカスタマイズできる pretty_print の引数 printer の tex…

Rubyベストプラクティス 付録A 後方互換性のあるコードを書く

長い付録へ突入します。まずは 1.8 と 1.9 に対応する書き方の話題です。 本書では 1.8.6 と 1.9.1 を対象にしているのでちょっと古い(今なら 1.8.7 と 1.9.2) RUBY_VERSION で分岐したくなるけどできるだけ避ける オープンクラスを利用して 1.9 からメソッ…

Rubyベストプラクティス 第8章 上手なプロジェクトメンテナンス その4

第8章後半、RubyGems と Rake タスクについてです。 gemspec を書く Gem::Specification.new のブロックでいろいろ情報を記述 files にパッケージに含めるファイルリストを記述 executables に bin にインストールするユーティリティを記述 test_files にテ…

Rubyベストプラクティス 第8章 上手なプロジェクトメンテナンス その3

第8章後半、RDoc についてのところです。 RDoc による APIドキュメント生成 rdoc 自体の記述方や使いかたはレシピ本で読みましたね 本書ではさらにドキュメントに何を書くべきかといった内容に踏み込んでいます rdoc ディレクティブについて プライベートな…

Rubyベストプラクティス 第8章 上手なプロジェクトメンテナンス その2

第8章中盤です。Ruby製のプロジェクトのディレクトリ構成などの慣習について書かれています README に書くこと そのプロジェクトが何をするものなのか、概要 簡単な使い方のドキュメント。詳細は API ドキュメントへ 簡単なインストール方法 インストール方…

Rubyベストプラクティス 第8章 上手なプロジェクトメンテナンス その1

第8章ではドキュメントやプロジェクトのディレクトリ構成などあまり他に類のないトピックをあつかっているようです。やや長いので3日くらいに分割して読むくらいのペースで行きます。 まずは Haml を例に上げてレビューしていく README.rdoc に Haml とは何…

Rubyベストプラクティス 第7章 文化の壁を取り払う

第7章は多言語化やローカライゼーションの話題みたいです。さくっと読みたいと思います。「プログラマのための文字コード技術入門」を先に読んでおいて良かった。 csv ライブラリの例 解析のために使う正規表現を対象の文字列のエンコーディングに合わせてか…

Rubyベストプラクティス 第6章 うまくいかないとき その2

第6章の後半です。 不具合調査の原因追求の手法について Kernel#p, Object#inspect などを使ったいわゆる print デバッグ Object#class, Object#instance_variables, Object#public_methods などのリフレクションを利用してオブジェクトを調査する Object#in…

Rubyベストプラクティス 第6章 うまくいかないとき その1

2011年の早朝読書会開始します。引き続きRubyベストプラクティスを読み進めます。第6章はデバッグ技法がテーマみたいです。 「デバッガなしでもいろいろできる」みたいに表現されていますが裏をかえすといいデバッガが存在しないとも言えるわけですよね Enum…