ソースコードリーディングから学ぶ Javaの設計と実装

ソースコードリーディングから学ぶ Javaの設計と実装

自作ソフトの設計に役に立つのではと思い購入しました。
JavaについてはJavaアプレットが流行した時に勉強し始めました。それから数冊読んだ記憶があります。

第4章 Web アプリケーションフレームワーク Struts

Ruby on Rails入門-優しいRailsの育て方  asin:4798013951
ライド・オン・Rails Ruby on Railsを徹底攻略  asin:4797335750

のプログラム経験が役に立ちました。

第7章 テンプレートエンジン Jakarta Velocity を理解するのには

コンパイラ構成法  asin:4320029224
スモールコンパイラの制作で学ぶプログラムのしくみ  asin:4774121770
いまどきのプログラム言語の作り方  asin:4839919232

などで学んだ字句解析、構文解析が役に立ちました。

全般的にデザインパターンの確認に

Java言語で学ぶデザインパターン入門  asin:4797316462

を使いました。

第7章まで読み終えましたが、知識が豊富なほど深く理解できると思います。私は紹介されているフレームワークやソフトウェアを利用した経験がありません。経験があればもっと理解しやすかったと思います。

入門Common Lispー関数型4つの特徴とλ(ラムダ)計算

入門Common Lisp―関数型4つの特徴とλ(ラムダ)計算

入門Common Lisp―関数型4つの特徴とλ(ラムダ)計算

数日で読み終えました。関数型プログラムを学ぶための最初の本として最適だと思います。フィボナッチ数列などは数式で表現されているのでわかりしやすいし、私自身完全に理解していないのですが、lambda 計算についても詳しく説明されています。

プログラムの実行環境として Carbon Emacs を利用しました。

実際に試したのは112頁のプログラムだけです。それに実行には GCL (GNU Common Lisp) ではなく Emacs Lisp (Elisp) を使いました。問題なく動作します。拡張子が el のファイルを作成、qsort、bunkatu 関数を入力、C-x C-e でそれぞれの関数を評価。ファイルに

(setq x '(5 1 3 6 5 6 9 1 4))
(qsort x)

を入力し、それぞれ C-x C-e で評価すると正しく

(1 1 3 4 5 5 6 6 9)

と表示されました。

EmacsX68000 の MicroEMACS で覚えました。私の知識はそれ以来全然進歩していません。
入門Common Lisp ( asin:4839920818 ) を読む前の Lisp の知識は

M.Hiroi's Home Page / xyzzy Lisp Programming
http://www.geocities.jp/m_hiroi/xyzzy_lisp.html

を読んだぐらいです。

これではいけないと思い

API Reference: Mac OS X Man Pages
http://developer.apple.com/documentation/Darwin/Reference/ManPages/manpages-mpindex.html#//apple_ref/doc/framework/manpages

emacs を調べてみると

The primary documentation of GNU Emacs is in the GNU Emacs Manual,
which you can read on line using Info, a subsystem of Emacs. Please

ドキュメントを見るには Emacs 上で info を利用するように記述されています。Google で検索すると

C-h i

で Info が動作するようです。表示されたテキストをスクロールして

Texinfo documentation system
* Info: (info).         How to use the documentation browsing system.

の部分から青色で表示された文字 Info をマウスでクリックし、Info のコマンド*1を覚えました。

後は興味のある箇所を読みました。流石にすべてを読むことはできませんが、以前より知識が増えたと思います。

Emacs について全然知識のない人は、最初に C-h t (Emacs 入門ガイド) を試すとよいと思います。

*1:日本語入力が英字モード [A] になっていないと正しく動作しません。

たのしいRuby 第2版 Rubyではじめる気軽なプログラミング

たのしいRuby 第2版 Rubyではじめる気軽なプログラミング

みんなのPython

みんなのPython

Ruby on Rails入門―優しいRailsの育て方

Ruby on Rails入門―優しいRailsの育て方

ライド・オン・Rails Ruby on Railsを徹底攻略

ライド・オン・Rails Ruby on Railsを徹底攻略

これだけはおさえたい データベース基礎の基礎 -設計と運用の基本からSQLの書き方まで-

これだけはおさえたい データベース基礎の基礎 -設計と運用の基本からSQLの書き方まで-

Ruby on Rails に挑戦しているのですが、Ruby の基本的なことがわかっていないようなので、’たのしい Ruby‘ 本を購入し、全部読み終えました。本当にわかりやすく説明してあります。

Ruby on Rails 入門’ 本をすべて読み終え、’ライド・オン・Rails Ruby on Railsを徹底攻略 ‘本は chapter 1 まで読みました。

何か Ruby on Rails で作成してみたくなり、納品書を入力すると指定した会社と月の請求書を表示するシステムを作成してみました。

Ruby on Rails でプログラミングするのも初めてなので、scaffold で作成されるコントローラやビューを参考にしました。’ライド・オン・Rails Ruby on Railsを徹底攻略’ 本に説明がある ‘ActionView::Helpers::FormOptionsHelper’ の ‘select’ も使ってみました。以前、SQL を理解するために買った ‘これだけはおさえたい データベース基礎の基礎’ 本も参考になりました。

自分で作ったものが意外と役に立つので驚きました。ただ、動作することだけに重点を置いたので、エラー処理が含まれていません。公開するのはやめておきます。後、作っていて思ったのは Mac OS X の Cocoa と CoreData を使ったアプリケーションに置き換えできそうですね。

Rubyを仕事に使うべし!:ITpro

Part3 一目でわかるRuby on Rails:ITpro

‘Part3 一目でわかるRuby on Rails:ITpro’ で Windows 用ですが GUI を使ったツールもあるんですね!初めて知りました。

‘みんなのPython‘ 本は、前から興味があったので購入してみました。読んでいる途中なのですが、細かいところは違いますが、基本的なところは PythonRubyObjective-C も変わらないですね。