Yokohama.rb #50を開催したって話だけだとつまらないので、紹介された本をまとめてみた(あとスライドも)

50回目のYokohama.rb

50回目のYokohama.rbを2014/11/8(土)に開催しました。

普段は20名も入ればいっぱいな神奈川地区センターの和室でやるのですが、今回は50回という記念すべき会ということもあって、 @1syo さんによる発案でLT大会をやることになりました。

自分を変えた一冊

LT大会のテーマは自分を変えた一冊。というわけで、このエントリーでは上がった本を記していきます。私が読んだ本については一言コメントを。

ソフトウェア開発者採用ガイド

ソフトウェア開発者採用ガイド

Webにあるゲリラ的雇用面接のすすめを読んでもいいかな。このJoel on Softwareは読み始めると時間があっという間に過ぎてしまう。

C言語ポインタ完全制覇 (標準プログラマーズライブラリ)

C言語ポインタ完全制覇 (標準プログラマーズライブラリ)

ポインタが分からないときに読んで目からうろこだったなぁ。

エキスパートCプログラミング―知られざるCの深層 (Ascii books)

エキスパートCプログラミング―知られざるCの深層 (Ascii books)

これは未読。

アジャイルサムライ−達人開発者への道−

アジャイルサムライ−達人開発者への道−

アジャイルとは何かということを知った一冊。

ジョジョは読むべきかなぁ。未読。

普通の奴らの上を行け!

千住博の美術の授業 絵を描く悦び (光文社新書)

千住博の美術の授業 絵を描く悦び (光文社新書)

未読。

メタプログラミングRuby

メタプログラミングRuby

メタプログラミングの楽しさを知った一冊。洋書だと第2版が出てますね。買ったのに積読中orz

Ruby 逆引きレシピ すぐに美味しいサンプル&テクニック 232 (PROGRAMMER’S RECIPE)

Ruby 逆引きレシピ すぐに美味しいサンプル&テクニック 232 (PROGRAMMER’S RECIPE)

もう一冊Ruby系のレシピブックがあるけど、何か言語を身につけるときはレシピブックをひと通りやればいいかなと思ってます。

Lean Analytics: Use Data to Build a Better Startup Faster (Lean Series)

Lean Analytics: Use Data to Build a Better Startup Faster (Lean Series)

何かの機会で読んだ。訳書がほしい。

Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)

Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)

すみません、未読。

思考の整理学 (ちくま文庫)

思考の整理学 (ちくま文庫)

学生の頃に読んだ。丸善本店に行くと必ず平積みになっている名著。何回読み返しても良い。

プログラミング作法

プログラミング作法

読んだような気がする。あんまり覚えてない。

Rubyによるデザインパターン

Rubyによるデザインパターン

会社の研修でもらった。デザインパターンを知った一冊。

投資戦略の発想法―ゆっくり確実に金持ちになろう

投資戦略の発想法―ゆっくり確実に金持ちになろう

未読。タイトルだけで読みたくなる。

Rails3レシピブック 190の技

Rails3レシピブック 190の技

いつぞやのRubyKaigiでサインもらった。これでRailsを使えるようになった気がする。

映画で見た。本は未読。

マネジメント[エッセンシャル版] - 基本と原則

マネジメント[エッセンシャル版] - 基本と原則

1回読んだけど、さっぱりってな感じ。もしドラのほうが私にはあっているような。今読むと違った読み方ができるかな。

もしドラ。ストーリーに突っ込んでは負け。

Yコンビネーター シリコンバレー最強のスタートアップ養成スクール

Yコンビネーター シリコンバレー最強のスタートアップ養成スクール

積ん読中。

プログラミングRuby―達人プログラマーガイド

プログラミングRuby―達人プログラマーガイド

未読。C拡張のことが書いてあるらしい。

JavaWorldメモリアルDVD

JavaWorldメモリアルDVD

JavaWorldは昔、Java技術者だった頃よく読んだなぁ。

Ruby逆引きハンドブック

Ruby逆引きハンドブック

レシピブックは写経してこそ真価を発揮する。

XPエクストリーム・プログラミング入門―ソフトウェア開発の究極の手法

XPエクストリーム・プログラミング入門―ソフトウェア開発の究極の手法

XPエクストリーム・プログラミング入門―変化を受け入れる

XPエクストリーム・プログラミング入門―変化を受け入れる

  • 作者: ケントベック,Kent Beck,長瀬嘉秀,テクノロジックアート
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2005/12
  • メディア: 単行本
  • 購入: 3人 クリック: 55回
  • この商品を含むブログ (67件) を見る

XP。最近のプログラミング手法のベースとなっている本だと思う。

新・C言語入門 シニア編 (C言語実用マスターシリーズ)

新・C言語入門 シニア編 (C言語実用マスターシリーズ)

K&Rが分からなくて大学生協C言語を勉強するときにはじめて読んだ本。個人的にはあまりしっくり来なかった。

スライドとか資料とか

@1syoさん

@tyabeさん

@chezouさん

@masa_iwasakiさんのブログ
Yokohama.rb 第50回LT 〜自分を変えた一冊〜 · sleep rand(1.year)

@joker1007さん

reveal.js - The HTML Presentation Framework

@muryoimplさん

まとめ

思いの外、IT系以外の本が出てきてびっくりしました。教養ってものになるのかな。

残念ながら絶版になった本もありますが、「この本は必ず読んでおけ!」ってな扱いではなくその本を読んでその人が何を感じ取ったかが重要だったかなと思います。

Togetter

いつものようにTogetterです。

『Everyday Rails RSpecによるRailsテスト入門』をひと通り読んだのでその感想をでも

はじめに

Everyday Rails RSpecによるRailsテスト入門』という電子書籍をひと通り読み終わりました。ページ数は約150枚(PDFにて)程度ですので、ぱらぱら〜とひととおり見るのでしたら数日で読み終わることでしょう。


Everyday Rails… Aaron Sumner 著 et al. [Leanpub PDF/iPad/Kindle]

今回は、週1回2時間ほどのペースで写経しつつ読み進めたのでだいたい半年ぐらいかかりました。

総括

Railsアプリのテスト入門書として最適かなと思います。値段も20$程度ですし、バージョンアップ対応も随時実施されています。こういう技術書においてバージョンアップ対応というのは大変ありがたく、「同じようにプログラムを写経したのに動かない!」という問題が避けるというメリットがあります。

対象読者について

1.イントロダクションの『対象となる読者』にも書かれているように、Railsアプリは1〜2個程度書いたことがあるんだけど、テストは書いたことがないという人向けです。テストへの取り組み方に対して著者自身の考えを明記している(1.イントロダクションの「私が考えるテストの原則」)があり、それへの反対意見があることも承知のうえで書かれていることが印象に残りました。

写経について

本書の写経は他の本と比べると特徴的です。ゼロから構築するのではなく、すでにあるアプリケーションに対してコード(今回はテストコード)を追加するという形になります。この形は結構新鮮で、テストを書くことに本の目的を絞った取り組みとして素晴らしいアイディアかと思います。

ただ、一度はアプリケーション自身を動かしてみると良いと思います。本書内でも記述はあるのですが、実際にブラウザで操作してみることで、どのようなアプリケーションなのかを実感するためです。いきなりテストを書くというのはちょっとイメージしづらいかなぁと。

本書のGitHubのページにテストコードが書かれていますが、写経自身については自らの手でやったほうが良いです。テストが書けるようになるためにはある程度量をこなさないと行けないと(私は)考えています。折角の機会なので、経験を積むという意味でやってみると良いかなと。

なお、私は自分のタイミングでコミットすべく、「01_untested」ブランチをexportして、git initしました。こんな感じです。

mkdir ~/rspec_rails_4_export
git clone https://github.com/everydayrails/rspec_rails_4.git
cd rspec_rails_4
git checkout -b untested origin/01_untested
git archive untested | tar -x -C ~/rspec_rails_4_export
cd ~/rspec_rails_4_export
git init

内容について

「3.モデルスペック」から「5.コントローラスペックの基礎」ぐらいまではサクサクと読み進められますが、それ以降は内容が省略されすぎていたり、逆に細かすぎる印象を受けました。
例えば「7.コントローラスペックのクリーンアップ」の「contacts_controller_spec.rb」のアウトラインを見せる部分は必要?と感じました。一方で、DatabaseCleanerの説明にはより詳しいものがほしいなと思いました(鍵マークとしてリンク先があるのですが、本文中で語って欲しかった)。

日本語版について

翻訳はこなれていますので、かなり読みやすいかと思います。1点、説明が長文に及んでいる部分において、行間が詰まっている感じがしました。適宜、1行ぐらい空行があってもよいかなと感じたりします。

サポートについて

翻訳者の伊藤淳一さんが、Twitterをさーちされているのか本書のことを話題に出すとmentionを頂くことが多々ありました。これに甘えてはいけないなぁと思いながら、ちょっぴり期待してた麺もあります(^_^;)

また、繰り返しになりますが、バージョンアップ対応も地味に嬉しいサポートです。これがあるお陰で周りや初学者にも安心してオススメできます。

さて次は...

本書の末尾に書いてありましたが、「Rails 4 Test prescriptions: Build a Healthy Codebase」にチャレンジしてみようかなと思います。積ん読の消化が必要ですが。

ひょっとするとブラックフライデーサイバーマンデー?)でセールがあるかも。それがあるまではちょっと買うのを控えようかな。

TOEIC400点から700点に上がったのでその勉強方法を記す

はじめに

先日会社で受験したTOEIC IP試験で700点をGetしました。まぐれかもしれませんが、結構頑張ったことなので、エントリとしてあげておきます。

3年前にTOEICを受けた時は400点だったので、3年で300点あげました。進みは遅いので、即効性のあるものではありません。「来月までに何点上げないといけない」という人には向かないかなと。

単語

単語を知らないとヒアリングもリーディングも点数は取れないので、まずは単語力をあげることが必要と考えました。私がやっているのはiKnowです。

一日1時間程度問題をこなし、例文を音読します。大体移動時間でやるので、音読というよりかは声にならない感じで口を動かすって感じになります。

単語は1回やっておしまいというわけではなく、繰り返しやります。学習プログレスのリセット機能を利用して、終わったコースを何度も解き直しています。

文法

文法は、Forestが有名かと思いますが、英語を何年も離れていた人がこれを読むのはかなり辛いです。

総合英語Forest 7th Edition

総合英語Forest 7th Edition

TOEICの文法は中学校でならったものぐらいしかでないと言われていますので、まずは足場を固めるようにしましょう。私は、「新TOEICテスト中学英文法で600点!」を読みました。

新TOEICテスト中学英文法で600点!

新TOEICテスト中学英文法で600点!

TOEIC対策

TOEICは形式が決まったペーパー試験ですので、ルールがたくさんあります。問題がどのように出題されるか、どの文章が読まれてどの文章が読まれないか、時間配分などさまざまです。古い本で書かれているテクニックが現在は使えないもの(リスニング中にリーティングの問題を読んだり回答をしたりすること)などがあります。

私は、実際の試験を受けてみて、自分の立ち位置を知るようにしました。大体3回ぐらい受験すると慣れるかなと思います。

試験問題もある程度定番化されています。そのため、TOEIC対策本をやると定番化された問題パターンとその回答パターンを身につけることができるかと思います。

本は様々なものがありますが、「究極のゼミ」シリーズが私にはマッチしました。これを何回も繰り返して解いています。

TOEIC(R)テスト 究極のゼミ Part 3 & 4 (CD・DL特典付) (TOEICテスト 究極シリーズ)

TOEIC(R)テスト 究極のゼミ Part 3 & 4 (CD・DL特典付) (TOEICテスト 究極シリーズ)

4冊あるので、2周目に入るころには問題と答えを覚えているというのはあまりありません。

Podcast

ESL Podcastを聞いています。遅めのペース->各文の解説->ノーマルスピードの順で英語を読み上げてくれて、20分ぐらいの番組。本文が公開されているものを中心に聞きながら音読をやっています。時間があったら和訳も。

意味がわからないまま聞き流すことは時間の無駄なので、本文が公開されていないEnglish Cafeは聞いていません。

NHK教材

今年4月から始めたのですが、「攻略!英語リスニング」をやっています。教材はAmazonKindle化されていて、CDもiTunesでオーディオブックとして販売されているので、いつでも始めることができます。

ただ、この電子書籍iTunesで販売されているオーディオブックはちょっと使いにくいです。ページ送りが重かったり、特定トラックの呼び出しができなかったり・・・。ちょっと試してみて、我慢できなければ本やCDを買うという運用をするとよいでしょう。

この教材のいいところは長めの英文とシャドーイングやリピート&クックアップという訓練ができるということ。もちろん、一人でもできるのですが、音声教材から「では、やってみましょう。」と言われるとサボらずにやれる気がします。

ロギング

勉強をしたということをログに残してSNSに公開しています。使っているツールStudyplusTwitterとかと連動して、記録を公開すると勉強していないことのプレッシャをかけることができます。

全体的に

いろいろな教材をやっていますが、全体的にやっているのは音読です。リスニングとリーディングだけのTOEIC試験に発音は問われないので、音読は無駄ではないかと思っていましたが、「攻略!英語リスニング」で言われている「口に出せる英語は聞き取れる」を心情に実践しています。

移動中など、声に出せない状況もたくさんありますが、そのときでもなんとなく口を動かすと意味があるような気がします。

『コーディングを支える技術』読了

はじめに

『コーディングを支える技術 成り立ちから学ぶプログラミング作法』という本を読み終わりました。

なぜこの文法なのか

本の表紙に「なぜ言語設計者はこの文法を作ったのか」と書かれています。

あまたあるプログラミング言語がある中で、幸か不幸かある特定の言語を使ってプログラムを書くとき、しばしば「この文法使いにくいなぁ、分かりにくいなぁ。」と思うことが多々あります。

そんな中、安易に言語をdisったりしていたのですが、その先にある「なぜこのような文法にしたのだろう」という考えには及ぶことはありませんでした。

そこで本書が謳っている「なぜ言語設計者はこの文法を作ったのか」に惹かれ読んでみることにしました。

幅広い内容

本書は全体で12章からなり、基本的なif文から多重継承に至るまで様々な言語の様々な文法にフォーカスを当て説明をされています。

若干Pythonが多めかなと思いますが、Perlのコードも出ますし、Rubyのコードもでます。Haskellのコードも出るので、知らない言語のコードが出ると「ウワァァァン」ってなりそうですが、軽く読み流す感じで良いかと思います。

全体的に読みやすい

プログラミング言語の本は一般的に難しく書かれる傾向にあるのですが、本書は非常に簡潔な言葉で書かれています。時には厳密性を崩してますが、脚注が充実しており、非常に読みやすい一冊になっています。

特定言語の実装スキルが身につく本ではないが・・・

本書はJavaとかJavaScriptとかPythonとかRubyとか、その他数あまたあるプログラミング言語を使った実装スキルが身につく本ではないのですが、新しいプログラミング言語を学ぶために必要となる知識が得られます。

これまで、「なんだか魔法みたいだよなぁ。」と思っていたことが言語設計者の考えがある程度分かれば、魔法も多少は理由がつく文法になるのかなと感じます。

「ANRワンボタンの声1000回配信記念公開収録 - 1001回目のAu revoir - in 東京」に行ってきた #obt

雲ひとつ無い晴天に恵まれた8月2日、大塚商会さんで開かれた「ANRワンボタンの声1000回配信記念公開収録- 1001回目のAu revoir - in 東京」に行ってきました。

f:id:miyohide:20140802174247j:plain

Apple製品ユーザは聞いておいて損はないApple News Radio ワンボタンの声。その配信が1000回を超えたことから、今回の公開収録が行われました。

大塚商会さんの広い会場で、公開収録が2本(ワンボタンの声と、Apple Clip)と、大塚商会さんのApple製品導入/活用の紹介、じゃんけん大会が行われ盛りだくさんの内容でした。

会場も老若男女さまざま。沢山の人に愛された番組であることが会場でも感じ取ることが出来ました。

印象に残ったのは、Apple Clipの公開収録で、「Appleの何が好きか?」という質問への下り。

  • 山村さん「よいこともわるいことも含めてApple大好き」
  • 松尾さん「そのとき、一番よいものを選んだ結果がApple
  • 魚井先生「仕事で一番よいものを選択した結果がApple。円が楕円ではなく、円として出ることが大事。」

とそれぞれの答えをお聞きできたことです。

私は、

  • ベースがUNIXでめったに落ちたりしない。
  • UNIXが成し得なかったGUIがすばらしい。
  • UNIXの資産が使える。開発者としてはこれが重要。
  • セットアップがすぐ済む。電気屋に行けばすぐ買える。

が揃っているので、それ以外の環境(WindowsとかLinux)はこれらを満たさないので、常用するのはちょっと簡単に乗り換えそうにないです。

公開収録の場では、各社から特価販売された物販も。scansnapのスキャナをマジマジを見ていました。

後は、吉祥寺ストアにメモリマップグレードキャンペーンについてお伺い。結果としてこのときにお話させていただいたことをきっかけとして、翌日Macを買いに行きました。

じゃんけん大会は全部外れてしまい、残念な結果に終わりましたが、最後の「オボワー」の掛け声まで参加させていただきました。

全体的に、濃密で楽しいひと時を過ごすことが出来ました。

## 追伸

Ustream中にこの記事を書いて投稿したところ、早速拾っていただきました。ありがとうございますm(_ _)m

第46回 Yokohama.rb

毎月恒例の Yokohama.rb に顔を出してきました。

Yokohama.rbでは毎回Rubyレシピブックの読書会をやっているのですが、そのまとめを @Nabetani さんがまとめられています

Rubyレシピブック 第3版 303の技

Rubyレシピブック 第3版 303の技

また、今回は @1syo さんによる「普通のCSVアップロードフォームを作りたい」という発表が行われたのが印象的でした。

基本的な考え方は、

  • rails g scaffoldで生成されるソースを参考に設計する
  • form_tag禁止

で、その考えのもと元々有ったCSVアップロードをリファクタリングされてました。

いつものようにツイートをまとめましたので、適宜参照してください。

書評『パーフェクトRuby on Rails』

『パーフェクトRuby on Rails』を献本いただきました。ありがとうございます。

パーフェクト Ruby on Rails

パーフェクト Ruby on Rails

早速レビューを。

本書の紹介

全体的に、現場でRailsアプリケーションを開発し、運用する上で必要な物が網羅されている本です。

例えば、他の本で「おまじない」のように書かれているAsset Pipelineの説明も何故このような書き方になっているのか、それぞれにどのような意味があるのかを書かれています(第3章)。
また、Railsのロードパスでなぜlibディレクトリがオートローディングの対象になっていないか(第4章)にもページが割かれています。

第1章と2章は環境構築とRailsの基本的なことについて書かれていますが、しっかりRails4.1に対応。variantsによるテンプレートの切り替え(第2章)もしっかり抑えられています。

第6章から始まるサンプルアプリケーションもしっかりとしています。例えば、エラーハンドリングとその通知方法などは他の本には省略されることが多いため、一冊の書籍にまとめられているのは大変助かります。

第8章にはChefやCapistranoの話も書かれており、単なるRailsアプリケーションを実装するだけでなく、Railsアプリケーションを動かすことに焦点を当てて記されています。

そして、第9章と第10章は更にRailsアプリケーションを作る上で必ず出てくる問題に一つの解を与えてくれます。中でも

「その文字列は本当に単なる文字列か?」

と書かれている節は大変勉強になりました。

対象読者

1回はRailsアプリケーションを作ったことがある人が対象でしょう。「Rubyって何?」という人がこの本片手に学ぶのはちょっと難しいかなと思います。

Rails 4系の解説本としては、他に『Ruby on Rails 4アプリケーションプログラミング』があります。こちらは、リファレンスとして使える本と思います。できれば2冊買うのが良いかなと。

Ruby on Rails 4 アプリケーションプログラミング

Ruby on Rails 4 アプリケーションプログラミング

電子書籍が…という声をよく聞きましたが、紙でも手元においておくべきです。電子書籍だろうが紙だろうが、読んでおいて損はないです。