書籍『プログラミング言語 Ruby』の感想

プログラミング言語の勉強は久しぶり

 時代の流れに3年くらい取り残されている感を勝手に感じていますが、ふとした瞬間に「ちゃんとRubyの勉強をしよう」と思い立ったので本を買いました。今までPerlとかPHPとかを触る機会が多かったワタシですが、きちんとプログラミング言語の本を読むのは、ずいぶん前にPerlの入門書を買ったとき以来かなーと記憶しているので、だいたい10年ぶりくらいですか・・・。月日が経つのは早いですなー。(遠い目
 というわけで、Rubyの勉強するならMatzが書いた本でしょッ、ということで、ボチボチと本書を読みはじめました〜♪

使いこなせばコードを小さくできるんやろなー

 書籍の感想は、大体次のような感じです。

  • 理解できたのは半分くらいで、難易度は高いです
  • 特に、6章のprocとかlambdaあたりはサッパリ…
  • 使いこなせばコードは小さくできるなるんだろうなー

 コード自体書くのも5、6年ぶりでかなりブランクがあるのと、他の言語のバックグラウンドもかなりアヤシイワタシにとっては、理解できたのは半分くらいで、ちょっと難易度は高めだなーと思いました。各章の序盤は理解できるんですけど、中盤以降はなんか急激に理解がアヤシクなっていく感じが、あれです、大学時代に読んだK&RC言語本を読んだ記憶を思いだしました。あのときも正直言って序盤しかわかんなかったなー、と。。。
 特に読んでてサッパリ分からなかったのが、6章のprocとかlambdaの箇所ですね。そもそもprocとかlambdaって何?みたいなワタシですから理解できなくて当然な訳ですが、それにしても難しい。まぁ、言語はプログラムを動かしながら勉強するのがよいとは分かっているのですが、それにしても読むだけでは全く理解できませんでしたね。他の言語とか勉強すれば理解できるようになるのだろうか…?
 あとは、Rubyを使いこなせば、コードの量はホントに小さくできるんだろうなーと思いました。超メンドくさがりなワタシにとってはぴったりの言語ですー。その昔、最初にPHPを知ったときも、なんて簡単にコードが書けるんだと思いましたが、Rubyはもっともっとアプリのコード量を減らすことができるんじゃないかなと思います。そのくらい標準や組み込みのライブラリが充実している印象です。まぁその分、Ruby側でアプリの代わりにフォローしている処理がたくさんあるんだろうな〜と、予感しますた。

使いこなすにはもっと勉強せねば

 せっかくRubyの基礎的な部分を勉強したので、もう少し使いこなすために引き続き勉強したいと思います。本書に書いてあるコードを動かして理解を深めるとか、Ruby on Railsやら、テスト自動化やら、色々と勉強することはたくさんありますね。もっと自在にあやつれるように、いろいろとチャレンジして、勉強を続けたいと思います。
 Rubyの勉強されている日本人の方はたくさんいらっしゃって、日本語のブログもたくさんあって、大変勉強させていただいております。そういう言語を取り巻くコミュニティがあるってホント素晴らしい時代やなーと思いますデス、はい。

プログラミング言語 Ruby

プログラミング言語 Ruby

書籍『なぜ、「これ」は健康にいいのか?』の感想

なぜベストを尽くさないのか

 いやー、むちゃくちゃ暑かったり、むちゃくちゃ雨降ったり、落ち着かない天気ですね。こういうときは体調を崩しやすいですよ。普段から調子があんまりよくないワタシにとっては、なかなか試練続きデス。
 健康に過ごしたいと願う人は、大きく2パターンいると思っていて、

  1. 普段あまり健康じゃない人                    ⇒ なので、健康でありたいと願う
  2. たまに不健康なことを望む人(いっぱいお酒飲んだりとかしたい人) ⇒ なので、普段はおとなしく健康的に過ごす

のワタシは1.のほうなのですが、2.な人がワタシの周りには結構多いなーとか最近気づくことがあって、「それってなんか間違ってない?」とか思ったりするところです。だって、不健康なことをしたいために、健康でありたいやなんて、、、
 というわけで、ほとんど勉強したことないのですが、めずらしく「健康」に関する本をお借りしたので、早速読むことにしました〜♪

副交換神経コレ大事

 書籍の感想ですが、大体次のような感じです。

  • 副交換神経を上げるのが大事とのこと
  • 最新の医学でようやく説明ができるようになってるらしい
  • スポーツ選手のたとえ話がちと極端やなーと

 全編にわたって、交感神経と副交換神経の話が延々と続きます。両者のバランスが大事なのですが、特に副交感神経を上げることがとても大事だというのです。そのためのコツとして主に『ゆっくり』と過ごすことがあげられています。普段からゆっくりと過ごしたいと望んでいるワタシにとってはぴったりの本ですー。
 自律神経っていうのは自分でコントロールできないらしく、交感神経と副交感神経によってできているとのこと。最近の医学の進歩によって自律神経の乱れによってさまざまな症状の説明がようやくできるようになってきたそうなんですよー(ムズカシイことはようわからん。。。)
 あとちょっと気になったのですが、スポーツ選手が登場する話がちと極端やなーと思いました。石川遼キム・ヨナがでてきて、選手の好調を自律神経で説明するわけなんですが、まぁスポーツ選手なんて好不調があって当たり前なので話半分で読めばええかなーと、思いましたデス、ハイ。

ゆっくり、ゆっくりー♪

 副交感神経を上げるためには『ゆっくり』と過ごすことが必要なのですが、『ゆっくり』と聞いて思いつくのはリンク先の動画です。体操とかもゆっくりやるほうが体にはやさしいのかな?
 暑くて体が非常にダルくなるこの季節、ゆるゆるゆるりと過ごしたいものですねー。
30秒で肩こりが楽になる体操がスゴいと話題に | ニュース2ちゃんねる
 ※動画は30秒ではありません。

なぜ、「これ」は健康にいいのか?

なぜ、「これ」は健康にいいのか?

OSC 2011 Kansai@Kyoto の感想

オープンソースカンファレンスに初参加

 いやー、暑い日が続きますねー。「京都は盆地だから暑い」ってよく耳にしますけど、本当に「こんなに暑いとは思ってませんでした」ぐらい暑いっすね。
 祇園祭が近づくこの季節、京都では毎年オープンソースカンファレンスというものがあるらしく、初めて参加してきました。
オープンソースカンファレンス2011 Kansai@Kyoto - オープンソースの文化祭!
 昨日、今日と連日午後から参加させてもらいました♪せっかく二日も勉強会に出席したので、久々にブログも書くことにしました。

Linux愛』とはなにか

 全部で6セッションくらい受けてきたのですが、特に印象に残ったのは、2日目の

オープンソースで作るプライベートクラウド環境 
  講師:オープンクラウドキャンパス有志

 で Eucalyptus 等についてお話された いいなかい さんのお話でした。なんと、『Linux愛』が深まりすぎたので、LinuxのOSを作っている会社へ転職(!)されたそうなのです。

 そこでワタシが感じた疑問は、次のようなことです。

  • Linux愛』を自分で自覚してしまったのはいつなのでしょう?
  • Linuxの、特にどういうところに愛を感じますか?
  • そもそも『Linux愛』とはなに?

 あとは、本当に「愛で空が落ちてくる」のかどうかも聞きたいところですね。

あーいが すべーてさぁ

 というわけで、一度ジックリとお話をお伺いしたいと思います。オープンクラウドキャンパスはユルイ会(?)だそうなので、参加すればじっくりお話が聞けるのかなー?参加してみようかなー?と思てますー。
 ワタシにはまだまだ愛が足りていないなぁと思いましたです、ハイ。

京都へ転勤しました

転職ではありません

 このたび、京都にある本社というところに転勤することになりました。最近はやりの転職ではありません。

川崎の思ひ出

 これまでは長らく川崎に住んでました。その思ひ出をすこしずつブログ記事に綴っていこうと思います。
 思ひ出の概要は、大体次のような感じです。

 地デジ難民&BS難民であったワタシですが、京都ではなんとケーブルテレビという素敵なもので、全て対応してくれるそうでして、今後もサッカーの思ひ出は増えそうな予感がしますねぇー♪

お仕事は変わらず

 勤務地が変わっただけで、お仕事はソフトウェア関係で以前と大きく変わらないですので、その道の方は、引き続きどうぞよろしくお願いします。m(_ _)m

書籍『良いコードを書く技術』の感想

なんちゃらを支える技術

 いやー、技術評論社さんの「なんちゃらを支える技術」シリーズ流行ってますねー。本を買うときは「川崎の大きめ本屋さん」で買う私ですが、そこではこのシリーズがひとつの棚を占領してました。
 私もWeb周りを中心に、いっぱい買って持ってます。

  • Googleを支える技術
  • サーバ/インフラを支える技術
  • Webを支える技術
  • 大規模サービス技術入門

 特に「Googleを支える技術」を読んだときは、Googleさんの技術の話なんてほとんど知らなかったので、「なんちゅうことをやっているんだー!!」と、かなり衝撃を受けた記憶があります(この本で、技術評論社さんは味をしめたに違いない)。もちろん、他の本もノウハウがギュウギュウに詰め込まれた本で、イマドキの技術者にとっては必読の本ではないかなぁと思います。こういった本が5〜6年前に発売されていれば、個人的にはもっとハッピーだっただろうなー。。。
 というわけで、ミーハーな私は、「プロセッサを支える技術」「オンラインゲームを支える技術」はいまのところなぜかスルーして(?)、「良いコードを書く技術」を読むことにしました〜♪

良いコードを書く「スキル」

 書籍の感想は、大体次のような感じです。

  • 「技術」は「アーキテクチャー」じゃなくて「スキル」のほう
  • ワタシのようなオールドタイプでもついていけマス(←これ大事)
  • なんでもやりすぎはいけなくてバランス大事

 今まで読んできた「なんちゃらを支える技術」の「技術」は、英語だと「アーキテクチャー」って意味だったかなと思うのですが、この本では「スキル」のほうやなと思いました。特別なアプリとか仕様の技術というよりは、個人で身につけることができる技術のイメージです。
 あと、GoFデザインパターンにいつも「ゴフッ」と途中で理解を断念する程度の、オブジェクト指向プログラミングになかなかついていけないオールドタイプの人間にとって、この本の中で登場する「普通のプログラマ」みたいなアプローチは嬉しいですね。本を身近に感じることができます。
 この本では、『名前付け』『スコープ』『コードの分割』・・・等々、良いコードを書くためのノウハウが詰め込まれています。でもその中の一つに注力しすぎてバランスが崩れるのもイマイチなんだよなー、といつも思います。例えば『名前付け』でスゲー時間かけたこだわりの名前付けても、置かれた状況によっては、そんなことに時間をかけるより、どんどんコードを書き進めたほうがええ場合もあると思います。まぁ、そういうやりすぎでひとりよがりな感じにならないように、バランス感覚は失わないでおきたいものですねぇ。この本でもYAGNIの精神*1でちゃんと触れられてます♪。

付録の参考文献を読もう

 参考文献は、本書の最後に付録として、たくさんのお勧め書籍がいくつか紹介されています。その中でも著者がチョー推している本は2冊だけのようにワタシには読み取れました(読み取り方はワタシの独断です)。1冊はワタシも最近読んだ「達人プログラマー」ですが、次はもう1冊のほうを読んでみようかなぁと思います。
 ちなみに著者が所属されてるヌーラボさんについて、Cacooは無料分でいつも使わせてもらっています。ありがとうございますm(_ _)m。Backlogもいつもとても気になっているのですが、機会があれば(承認が降りれば)是非一度使いたいツールですねぇ。これらのツールが、この「良いコード」で記述されているのかと考えると、「良いツール」は「良いコード」から生まれるのかもしれませんねー。

良いコードを書く技術 ?読みやすく保守しやすいプログラミング作法 (WEB+DB PRESS plus)

良いコードを書く技術 ?読みやすく保守しやすいプログラミング作法 (WEB+DB PRESS plus)

*1:You Aren't Going to Need It、どうせいらへんて

書籍『安全なWebアプリケーションの作り方』の感想

本屋では売り切れだったので相当な人気では

 本を買うときは「川崎の大きめ本屋さん」で買う私ですが、何度か見に行ってもずっと売り切れだったので、仕方なくAmazonでポチリました。Amazonでポチッたのは『Hadoop』象本の和訳が出た直後に購入して以来、約1年振りですた。川崎の大きめ本屋さんは、人気の書籍でもたいてい置いてあるので、相当人気の本なのではないでしょうか?
 なお、私が本屋さんで本を買う理由は、なんとなくです。本屋さんの、整然と並べられた本の雰囲気とか、静かに過ごさないといけない感じが個人的に好きなんですかねー?(どうでもいいですが・・・
 ソフトバンク関連会社から出版されているみたいですし、こういう教育的な本こそ手元に置いておきたいので、電子書籍化も期待したいですねー。ミーハーな私は、人気の本はすぐに読むことにしました〜♪

Webアプリは少しの油断で脆弱性だらけになりそう

 書籍の感想は、大体次のような感じです。

  • 脆弱性の例に250ページ使っての詳細説明が大変勉強になります
  • Webアプリでは、ちょっとしたことですぐ脆弱性になりうることが理解でき、必読本ではないかと
  • アプリ開発者の視点だと、フレームワークとかでフォローして欲しい内容(他人まかせですw)

 第4章の「Webアプリケーションの機能別に見るセキュリティバグ」が本書の中心だと思いますが、約半分の250ページも使われていて、詳細な説明が大変勉強になります。

危険なコード→攻撃例→攻撃を受けてしまう原因→具体的な防御策

という流れで書かれていて大変理解しやすいデス。あと、CDにサンプルコードが入っていて、攻撃や防御を実体験できるみたいですねー。(さーせん。時間なくて体験はまだできてません。。。
 しかし、Webアプリはちょっとしたことで、すぐに脆弱性になってしまうことが分かります。例えばクロスサイト・スクリプティングでは、「<」や「&」などのたった数文字の扱いを間違うだけで、すぐに脆弱性になります。それらの原因は、HTTP、HTMLやCookieの仕様、ブラウザの問題、等が複雑に絡み合っています。結局、根本原因は、HTTPとかを考えた人たちが、最初から脆弱性なんて意識してないというところに行き着くのかな?と思いますが、HTTPだけ単体では安全でも、特定の使われ方だとすぐ脆弱性になるなんて、Webアプリ弱過ぎで泣けてきますね。。。網羅的に理解するという意味で、プログラマは必読の本だと思います。
 一方、アプリ開発者の視点ですと、仕様を満たすことに集中したいので、脆弱性の対策はフレームワークとかに一任したいのが本音ですねぇ。「このフレームワークを使えば、本書並みの対策は万全です」的なフレームワークが登場すれば、世のため人のためになるのではないかなぁと思います。

将来のお話を一度聞きたいです

 セキュリティって、

新しい攻撃手法が生み出される→新しい防御対策を確立

みたいな感じで、「強制的に後手に回らされるいたちごっこ」だと思うんですけど、どうにか先手に回って予防対策できないもんでしょうかねぇ。ある意味、当たり前ですが、本書も過去のお話ばかりです(「セキュリティ事故の歴史で学ぶ…」的な書籍もアリではないかとひらめきました、、、)。
 あと、本書のような攻撃手法を記述した本って使い方によっては危険ですので、ほぼ世の中に認知されていて対策も確立されている内容にする必要があると思っていて、そのあたりのバランスは難しかっただろうなぁと想像します。だって、誰も対策してないような攻撃手法を書いちゃうと、「安全なアプリの作り方」のはずが、とたんに「危険なアプリの作り方」に急変してしまいますからー。完全に妄想ですが、徳丸さんしか知らないような攻撃方法がイロイロあるのではないかと。。。
 最近ですと、ソ○ーの個人情報の流出が問題になっています。お金絡みは別問題ですけど、一部の個人情報なんてtwitterfacebookとかにガンガンにアップされていて、バンバン漏れてるような時代な気がしているんですよねー。そんな時代において、「これからのWebはどうなっていくのか?」とか「そのときセキュリティやプライバシーの考え方は?」など、将来的なお話を一度お伺いしたいなぁと思いました。

書籍『達人プログラマー』の感想

これからは実行力の時代だそうですよ

 「アイディアよりも価値のある実行力」。堀江さんの『君がオヤジになる前に』に書いてあった一文です。インターネットの世界では、新しいアイディアなんて価値なんてなくて、そのアイディアをいち早く実行して形にした人が評価されるべきだというお話です。
 ブログ始める前には『プログラマが知るべき97のこと』も楽しく読んだのですが、ちょいちょい本書の考え方が引用されていましたので、かなり気になっていました。
 さて、実行力って言われても、何を実行すればええのかと考えたのですが、プログラムしか実行するものを思いつきませんでした。プログラムの実行力をあげるには、やっぱ『達人』の本を読んで勉強したほうがええやろ、と思って買って読むことにしました〜♪(「本を買って読み切る」という実行までには、相当な時間がかかってますけど。。。)

達人の考え方が凝縮された一冊

 書籍の感想は、大体次のような感じです。

  • 初版は2000年11月発行ですが、初版のまま22刷で現在に至るみたい
  • ソースコードはあまりでてこなくって、文章ばかり、考え方ばかり
  • これを全部実践するのはハードル高いッス

 私は、本を買うときには、最初に裏表紙をめくって、どのくらい改訂された本なのか、どのくらい増刷された本なのか、チェックするのですが、この本は2000年の発売以来、ずっと増刷されていて、相当な数が売れまくっているみたいですね。さすが達人!!と、いうか、「10年近くもこの本の存在に気付かなくて、ホント、ゴメンナサイ(誰とはなく)」みたいな気分に浸ることができます。それほど、長く使えて、生き生きとした、達人の考え方が凝縮された本だと感じました。
 なお、裏表紙をめくって改訂や増刷を調べるようになったのは、東野圭吾さんの小説『麒麟の翼』の増刷分の印税を、全額寄付されるとのお話を知ってから、「増刷分」かどうか調べてから本を買うようになりました。ごく最近のことです。
http://journal.mycom.co.jp/news/2011/03/19/011/index.html
 本書では、達人の書いたソースコードを読むことができるのかと思いきや、あんまりコードはでてきません。それよりも考え方を示した文章ばっかりです。コードをいっぱい書いてしまうと、もっとよいコードを思いつく度に書籍を直さないといけないですからねぇ。考え方をまとめるという視点は素晴らしいと思いますし、本が長生きしている理由の一つだと思います。あと、文章ばかりなので、思ったよりも読むのに時間がかかります(ソースばっかりの本は、ピャッピャーと飛ばし読みするので、読むの早いです。。。)。
 また、本書はプログラムだけではなくて、要求仕様や見積もりから、ドキュメントやテスト、プロジェクト管理まで、ソフトウェア開発の工程の広範囲に及んでいます。「こんな考え方で開発してるプロジェクトを見たことないぞ><」というのが正直な感想です。いきなり全部実践するのは、相当ハードルが高いので、できるところからチャレンジしていきたいと思っています。

DRYにいきましょう

 本書は、DRY原則を示したことでも有名みたいですねぇ。
“Don't Repeat Yourself” 「重複を避けること」
Don't repeat yourself - Wikipedia
 「ドライ」って言葉の印象だと、冷たい印象があるかもしれませんが、プログラムなんて書いた通りにしか動いてくれない冷たいものなので、どんどんドライにしていけばよいと思います。あと、ネコもドライですよねぇ。興味があることしか動いてくれない。私もどんどんドライになって少しでもネコに近づいていければと思います〜。

達人プログラマー―システム開発の職人から名匠への道

達人プログラマー―システム開発の職人から名匠への道

  • 作者: アンドリューハント,デビッドトーマス,Andrew Hunt,David Thomas,村上雅章
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2000/11
  • メディア: 単行本
  • 購入: 42人 クリック: 1,099回
  • この商品を含むブログ (347件) を見る