#NGK2014B でやるはずだったLT

まぁ、未稿だし

ごめんなさい。書き上げてないです。m(_ _)m
そもそも、書き始めたのが木曜日くらい。orz

コード、書いてないし

金融機関のCSVファイルと言えば、半角カナ混じりのsjisがデフォ。
半日くらい戦った挙句、伝統のnkf先生に丸投げしましたが。

N Network
K Kanji
F Filter

ですよ。間違っても、

N 何なの???
K こんなの!?
F 振っておけ(nkf先生にw)

ではありませんからww

どのみち

土下座コースなんですがねー。喜んで土下座しますよ!(キリッ

結局お買い上げ「基礎Ruby on Rails (IMPRESS KISO SERIES)」

教育訓練感想文で必要なので、結局Amazonで発注しました。読んだ感じでは環境が古いため絶対お勧めという訳ではないのですが、実運用されている架空の*1コミュニティ(草野球チーム)のサイトの実装を一から十まで見せてくれるので、持っていて損は無い1冊だと思います。ちなみにRubyについても一通り解説があるので、とりあえずRailsだけはできるRubyistになりたい方にはお勧めです。

基礎Ruby on Rails (IMPRESS KISO SERIES)

基礎Ruby on Rails (IMPRESS KISO SERIES)

「持っていて損は無い1冊」というのをマーケットプレースで中古で手頃な価格で注文できるのがAmazonの良いところですよね。

(2009/12/03追記)
本書のサポートサイトでフォローがあるようです。hostingしてるのは監修のオイアクスさん。*2

また、題材に取り上げられているサイトのRails-2.2対応の作業記録が著者によってなされています。ちょっとでも実力がある方なら紙媒体でなくてもフォローがあるので大丈夫でしょう。i18nネタもやってるようです。*3

それから、ActiveRecord#validation_eachの例で271ページにちょっとしたネタが載ってます。「ぷぷぷっ」って感じw

という訳で良書なんですが…

正誤表ですが、じっくり読まなくてもtypoが見つかったので出版社のインプレスジャパンは何やってるんだろうって感じですけどね。spell checkerくらい掛ければいいのに。*4

同僚が買ったPDF版では正誤表の反映がされてないとのこと。改訂版はRails-2.x対応しないと出せないかもしれないけど現行版のPDFバージョンくらい正誤表の反映をやっといて欲しいというのが正直なところ。
正誤表の反映くらい、多く見積もっても契約社員で5人日くらいでできるでしょ?はっきり言って出版社の姿勢を疑います。*5

インプレスジャパンはアレなので…

オイアクスさんの読者サポートにメールを投げてみました。どんな回答が来るか楽しみww

From	babydaemons@(snip)
To	kiso-rails@oiax.jp
日付	2009年12月3日14:50
件名	『基礎Ruby on Rails』 初版第1刷 正誤表について

『基礎Ruby on Rails』読者サポートご担当様

(snip)と申します。お世話になります。

http://www.oiax.jp/books/kiso_rails/errata-1-1.html
から正誤表を印刷しようとしたのですが、ブラウザの
画面イメージどおりの印刷が不可能なので断念しました。

正誤表をモノクロプリンタでの印刷を考慮したPDFで
作成していただけると幸いです。

また、可能であればPDF形式で印刷可能なA4シール用紙に
訂正文章を印刷して切り貼りして書籍に物理的にパッチを
当てれるような仕組みを用意していただけると本当に助かります。
#紙テープ時代のパッチみたいですが。

お忙しいとは存じますが、ご検討頂けると幸いです。
宜しくお願いいたします。

P.S.
本書についてブログを書きましたので、よろしければご覧下さい。

http://d.hatena.ne.jp/babydaemons/20091202/1259738528

それで回答をいただきました

それもわずか16分後です!速いっっっっ!!!(from 株式会社オイアクス代表取締役黒田努様)

さすがはWeb系業界人。でも代表取締役なのにこのスピード感は尋常じゃないです。

PDF版正誤表についてはComming Soon!ということでした。

さらにReplyいただきました

ブログのご指摘はもっともです。できれば、<del> ~ </del> せずに、そのまま掲載を続けていただきたく思います。

という訳なので取り消し線は削除しました。

#もし、このエントリが勝手mirrorされててgitやSubVersion
リポジトリ管理されてたりしてたら履歴が相当楽しいことになってるなw

*1:裏を取ってないので釣りかもしれませんが釣りというか教材では定番のフィクションですね。(汗)

*2:出版社インプレスジャパンはやる気なし。

*3:まだ、タイトルしか読んでませんが。

*4:メールで株式会社オイアクス代表取締役黒田努様から「本書における誤記の多さは基本的には私たち著者の責任です。私の入稿遅れなどの事情もありますので、あまり出版社のことを厳しく書かないでいただければと思います。」とご回答をいただきました。

*5:それが出来ないくらい出版不況は深刻なんだよという意見があるかもしれませんが、それって負のスパイラルですよね。

確認画面を作ってDBに登録してみた

もう1ヶ月ほど昔になってしまいましたが、確認画面を作ってみた - babydaemonsの日記のあとで確認画面の後でDBに登録する例を作ってみました。

お題はお問い合わせフォーム(メール送信なし)です。

お持ち帰りはこちらからどうぞ。

たぶん、つっこみどころ満載ですので、コメント・トラバよろしくお願いします。m(_ _)m

ステップ実行に成功

環境は?

NetBeans IDE 6.7.1でステップ実行できました。環境はこことほぼ同じですが、NetBeansruby-debug-ide-0.3.xしか対応してないとあちこちで見たので、一応、

$ gem install ruby-debug-ide -v 0.3.4

しておいたのですが・・・

実行してみると

実際にNetBeansでステップ実行してみると、

Fast Debugger (ruby-debug-ide 0.4.9) listens on :2202
=> Booting WEBrick
=> Rails 2.3.4 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2009-09-25 14:32:46] INFO  WEBrick 1.3.1

どうも、いつの間にかruby-debug-ide-0.4.9に対応したようです。

使ってみると

変数の値が見やすい!
けど、
プロジェクトをスキャンしています...
というタスクが動き続けるのはどうにかならない??

ステップ実行に成功

Aptana Studio 1.5 + RadRailsで下記の環境で開発中です。

Rubyのバージョンは?

Rubyは1.8.7-p174のmswin32版。

[c:\]
$ ruby --version
ruby 1.8.7 (2009-06-12 patchlevel 174) [i386-mswin32]

Gemは何を入れてるの?

インストールしたgemは下記のとおり。

[c:\]
$ gem list

*** LOCAL GEMS ***

actionmailer (2.3.4)
actionpack (2.3.4)
activerecord (2.3.4)
activeresource (2.3.4)
activesupport (2.3.4)
amatsuda-i18n_generators (0.6.0)
cgi_multipart_eof_fix (2.5.0)
columnize (0.3.1)
fastthread (1.0.1)
gem_plugin (0.2.3)
gettext (2.0.4)
jpmobile (0.0.6)
linecache (0.43)
locale (2.0.4)
mongrel (1.1.5)
mysql (2.7.3)
rack (1.0.0)
rails (2.3.4)
rake (0.8.7)
ruby-debug (0.10.3)
ruby-debug-base (0.10.3)
ruby-debug-ide (0.4.9)
sqlite3-ruby (1.2.5)

でも・・・

変数の値、見づらくないですか???

Thinよりさらに高速と謳われているEbbを使ってみたかったのだが・・・

こことかこことか見て、挑戦してみたが見事に惨敗。。。orz
おうちに帰ってよーくsource code追ってみます。
CygwinMinGWに逃げようかなー。

[E:\ruby-1.8.7-p174\lib\ruby\1.8]
$ gem install ebb
Building native extensions.  This could take a while...
ERROR:  Error installing ebb:
        ERROR: Failed to build gem native extension.

E:/ruby-1.8.7-p174/bin/ruby.exe extconf.rb
checking for sys/select.h... no
checking for poll.h... no
checking for sys/epoll.h... no
checking for sys/event.h... no
checking for port.h... no
checking for sys/inotify.h... no
creating Makefile

nmake

Microsoft(R) Program Maintenance Utility Version 8.00.50727.42
Copyright (C) Microsoft Corporation.  All rights reserved.

        cl -nologo -I. -IE:/ruby-1.8.7-p174/lib/ruby/1.8/i386-mswin32 -IE:/ruby-1.8.7-p174/lib/ruby/1.8/i386-mswin32 -I. -MD -Zi  -O2b2xg- -G6 -IE:/ruby-1.8.7-p174/lib/ruby/gems/1.8/gems/ebb-0.3.2/libev -DEV_USE_MONOTONIC=0 -DRUBY_VERSION_CODE=187 -c -Tcebb_ffi.c
cl : コマンド ライン warning D9035 : オプション 'Og-' の使用は現在推奨されていません。今後のバージョンからは削除されます。
cl : コマンド ライン warning D9002 : 不明なオプション '-G6' を無視します
ebb_ffi.c
E:\ruby-1.8.7-p174\lib\ruby\gems\1.8\gems\ebb-0.3.2\libev\ev.c(339) : warning C4005: 'inline' : マクロが再定義されました。
        e:\ruby-1.8.7-p174\lib\ruby\1.8\i386-mswin32\config.h(84) : 'inline' の
前の定義を確認してください
e:\ruby-1.8.7-p174\lib\ruby\gems\1.8\gems\ebb-0.3.2\libev\ev_win32.c(116) : warning C4996: '_ftime64' が古い形式として宣言されました。
        C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\sys/timeb.h(152) : '_ftime64' の宣言を確認してください。
        メッセージ: 'This function or variable may be unsafe. Consider using _ftime64_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
ebb_ffi.c(135) : error C2275: 'ebb_connection' : この型は演算子として使用できません
        e:\ruby-1.8.7-p174\lib\ruby\gems\1.8\gems\ebb-0.3.2\ext\ebb.h(30) : 'ebb_connection' の宣言を確認してください。
ebb_ffi.c(135) : error C2065: 'connection' : 定義されていない識別子です。
ebb_ffi.c(136) : warning C4047: '=' : 間接参照のレベルが 'int' と 'ebb_connection *' で異なっています。
ebb_ffi.c(137) : warning C4047: 'return' : 間接参照のレベルが 'ebb_connection *' と 'int' で異なっています。
ebb_ffi.c(188) : error C2275: 'VALUE' : この型は演算子として使用できません
        E:\ruby-1.8.7-p174\lib\ruby\1.8\i386-mswin32\ruby.h(86) : 'VALUE' の宣言を確認してください。
ebb_ffi.c(188) : error C2146: 構文エラー : ';' が、識別子 'f' の前に必要です。
ebb_ffi.c(188) : error C2065: 'f' : 定義されていない識別子です。
ebb_ffi.c(193) : error C2143: 構文エラー : ';' が '型' の前にありません。
ebb_ffi.c(195) : error C2065: 'i' : 定義されていない識別子です。
ebb_ffi.c(230) : error C2275: 'VALUE' : この型は演算子として使用できません
        E:\ruby-1.8.7-p174\lib\ruby\1.8\i386-mswin32\ruby.h(86) : 'VALUE' の宣言を確認してください。
ebb_ffi.c(230) : error C2146: 構文エラー : ';' が、識別子 'env' の前に必要です。
ebb_ffi.c(230) : error C2065: 'env' : 定義されていない識別子です。
ebb_ffi.c(239) : error C2275: 'VALUE' : この型は演算子として使用できません
        E:\ruby-1.8.7-p174\lib\ruby\1.8\i386-mswin32\ruby.h(86) : 'VALUE' の宣言を確認してください。
ebb_ffi.c(239) : error C2146: 構文エラー : ';' が、識別子 'method' の前に必要です。
ebb_ffi.c(239) : error C2065: 'method' : 定義されていない識別子です。
ebb_ffi.c(262) : error C2143: 構文エラー : ';' が '型' の前にありません。
ebb_ffi.c(263) : error C2065: 'server_port' : 定義されていない識別子です。
ebb_ffi.c(264) : warning C4047: '関数' : 間接参照のレベルが 'const char *' と 'int' で異なっています。
ebb_ffi.c(264) : warning C4024: 'rb_str_new2' : の型が 1 の仮引数および実引数と
異なります。
ebb_ffi.c(267) : error C2143: 構文エラー : ';' が '型' の前にありません。
ebb_ffi.c(268) : error C2065: 'client_ip' : 定義されていない識別子です。
ebb_ffi.c(269) : warning C4047: '関数' : 間接参照のレベルが 'const char *' と 'int' で異なっています。
ebb_ffi.c(269) : warning C4024: 'rb_str_new2' : の型が 1 の仮引数および実引数と異なります。
ebb_ffi.c(272) : error C2275: 'VALUE' : この型は演算子として使用できません
        E:\ruby-1.8.7-p174\lib\ruby\1.8\i386-mswin32\ruby.h(86) : 'VALUE' の宣言を確認してください。
ebb_ffi.c(272) : error C2146: 構文エラー : ';' が、識別子 'version' の前に必要です。
ebb_ffi.c(272) : error C2065: 'version' : 定義されていない識別子です。
ebb_ffi.c(315) : error C2143: 構文エラー : ';' が '型' の前にありません。
ebb_ffi.c(316) : warning C4047: '==' : 間接参照のレベルが 'int' と 'void *' で異なっています。
ebb_ffi.c(319) : error C2275: 'VALUE' : この型は演算子として使用できません
        E:\ruby-1.8.7-p174\lib\ruby\1.8\i386-mswin32\ruby.h(86) : 'VALUE' の宣言を確認してください。
ebb_ffi.c(319) : error C2146: 構文エラー : ';' が、識別子 'body' の前に必要です。
ebb_ffi.c(319) : error C2065: 'body' : 定義されていない識別子です。
ebb_ffi.c(331) : error C2223: '->fd' : 左側が構造体か共用体に対するポインタではありません。
ebb_ffi.c(331) : warning C4047: '関数' : 間接参照のレベルが 'int' と 'fd_set *'で異なっています。
ebb_ffi.c(331) : warning C4024: 'rb_w32_fdset' : の型が 1 の仮引数および実引数と異なります。
ebb_ffi.c(331) : error C2198: 'rb_w32_fdset' : 呼び出しに対する引数が少なすぎます。
ebb_ffi.c(332) : error C2223: '->fd' : 左側が構造体か共用体に対するポインタではありません。
ebb_ffi.c(332) : warning C4047: '関数' : 間接参照のレベルが 'int' と 'fd_set *'で異なっています。
ebb_ffi.c(332) : warning C4024: 'rb_thread_select' : の型が 1 の仮引数および実引数と異なります。
ebb_ffi.c(332) : error C2198: 'rb_thread_select' : 呼び出しに対する引数が少なすぎます。
ebb_ffi.c(334) : error C2223: '->read_watcher' : 左側が構造体か共用体に対するポインタではありません。
ebb_ffi.c(334) : warning C4022: 'ev_invoke' : 2 番目の実引数のポインタの型が、仮引数のポインタの型と異なります。
ebb_ffi.c(334) : error C2198: 'ev_invoke' : 呼び出しに対する引数が少なすぎます。
ebb_ffi.c(360) : error C2275: 'VALUE' : この型は演算子として使用できません
        E:\ruby-1.8.7-p174\lib\ruby\1.8\i386-mswin32\ruby.h(86) : 'VALUE' の宣言を確認してください。
ebb_ffi.c(360) : error C2146: 構文エラー : ';' が、識別子 'rb_request' の前に必要です。
ebb_ffi.c(360) : error C2065: 'rb_request' : 定義されていない識別子です。
ebb_ffi.c(368) : error C2275: 'VALUE' : この型は演算子として使用できません
        E:\ruby-1.8.7-p174\lib\ruby\1.8\i386-mswin32\ruby.h(86) : 'VALUE' の宣言を確認してください。
ebb_ffi.c(368) : error C2146: 構文エラー : ';' が、識別子 'rb_connection' の前に必要です。
ebb_ffi.c(368) : error C2065: 'rb_connection' : 定義されていない識別子です。
ebb_ffi.c(395) : error C2275: 'VALUE' : この型は演算子として使用できません
        E:\ruby-1.8.7-p174\lib\ruby\1.8\i386-mswin32\ruby.h(86) : 'VALUE' の宣言を確認してください。
ebb_ffi.c(395) : error C2146: 構文エラー : ';' が、識別子 'rb_connection' の前に必要です。
ebb_ffi.c(476) : error C2143: 構文エラー : ';' が '型' の前にありません。
ebb_ffi.c(482) : error C2065: 'r' : 定義されていない識別子です。
ebb_ffi.c(487) : error C2061: 構文エラー : 識別子 'connection_schedule_close'
ebb_ffi.c(487) : error C2059: 構文エラー : ';'
ebb_ffi.c(487) : error C2059: 構文エラー : '型'
ebb_ffi.c(552) : error C2065: 'connection_schedule_close' : 定義されていない識別子です。
ebb_ffi.c(552) : warning C4047: '関数' : 間接参照のレベルが 'VALUE (__cdecl *)()' と 'int' で異なっています。
ebb_ffi.c(552) : warning C4024: 'rb_define_singleton_method' : の型が 3 の仮引数および実引数と異なります。
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 8\VC\BIN\cl.EXE"' :
Stop.


Gem files will remain installed in E:/ruby-1.8.7-p174/lib/ruby/gems/1.8/gems/ebb-0.3.2 for inspection.
Results logged to E:/ruby-1.8.7-p174/lib/ruby/gems/1.8/gems/ebb-0.3.2/ext/gem_make.out