So-net無料ブログ作成

死んで生き返りましたれぽ [読書]

死んで生き返りましたれぽ漫画が読みたいかみさんが買ってきた。
30分で読めた。

なんだか泣けた。
生きているのって、それだけで素晴らしいし家族ってありがたいと思う。
闘病(?)中に、自分がなんだかわからないことから始まって、漠然と死ぬかもしれない、死ぬのは嫌だという感情や周囲への感謝、絵を描きたいと思ったことが率直に書かれていてよかった。

なんだか、ボロボロ泣けて、読書風景を脇で見ていたかみさんと娘に笑われた。
なんだか、最近、死んじゃう話より生きる話のが泣ける。

マンガは pixiv で読めるらしいけど、書籍は主治医のコメントや、診断書の一部が掲載され、その時々に思ったことなどが補足されている。




コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

運は数学にまかせなさい [読書]

運は数学にまかせなさい――確率・統計に学ぶ処世術 ((ハヤカワ文庫NF―数理を愉しむシリーズ))読了

要するに確率統計の教養本。
数式をできるだけ使わないようにしつつ確率統計が生活のどんなところに役立っているかとか、こういう数字のごまかしにはだまされないようにしようとか、そんなの。
選挙前の予想の確度とか、飛行機が落ちる確率とか、ギャンブルはもうからないとかモンティホール問題とか。
ベイズ統計の簡単な紹介みたいなのは載ってたけど数式で、なるほどー、みたいなとこまではいかない感じ。メールのスパム判定はベイズ統計でしてるんですよー、って説明程度。

世間一般におもいしろいかどうかはわからないけど、僕は面白かった。
そして、もうすこしちゃんとした確率統計の本も読んでみようかなと思った。

最近、こういう一般の人向けの統計の本がはやりとして出てるみたいだけど、内容としてはいい方じゃないかな。ほかの本を読んでないのでわからないけど。
5年くらい前に出た本のさらに文庫化なので、取り上げてるテーマが微妙に古いといえば古い。

ハヤカワの翻訳本って SF だけじゃなくてこんなのもあるのね、と思った。

コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

Pythonによるデータ分析入門 [読書]

Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理読了
以前に買ったときに、一通り読んだはずだがさっぱり覚えてない。
今回、 (第47回)Python mini Hack-a-thon
http://pyhack.connpass.com/event/8554/
で、もう一度読み直し。
やっぱり、こういうのは、読みながらやってみないと全然だめだと実感した。

内容的には、データ分析入門というより、pandas, matplotlib, numpy の使い方入門という感じで統計解析に関する数学的知識はまったく必要なかった。データ解析なんて関係ないという人もでも Excel で集計してグラフにしてるような仕事の人は読んでみると使いどころあるかも。

手元の Ubuntu 14.04 に ipython は apt-getで。numpy, scipy, matplotlib は
pip でインストールした。
pip でインストールするもののために apt-get install したライブラリはいろいろ
あったが、メモってない。メモっておけばよかった。
scipy をインストールするために Fortran をインストールする必要があったが、
結局、この本で scipy の解説はなかった。
Ubuntu は Server 版で GUI を持ってなかったが、 ipython notebook で動かして
ブラウザでアクセスすれば特に困ることなかった。
ipython notebook すごい


書籍の説明例のデータの GitHub リポジトリがあるので
https://github.com/pydata/pydata-book
それを clone してブランチを作成して実行した iPython Notebook のファイルを作った
https://github.com/nakagami/pydata-book/tree/pyhack

- pyhack47.ipynb 昨日本を読みながら書いた。基本的な使い方。
- corr.ipynb 今日書いた、相関関数に関するもの。

iPython Notebookの--pylab Inlineは使うのをやめようという話
http://yagays.github.io/blog/2014/08/15/ipython-notebook-matplotlib-inline/
というのを読んだので、書籍中では

ipython notebook --pylab=inline
を実行していたが
ipython notebook --matplotlib=inline
で動くように書き直した

(2014-10-18追記)CentOS6 でインストールする記事発見
http://memo.yomukaku.net/entries/jbRkQkq
コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

たのしいプログラミング Pythonではじめよう! [読書]

たのしいプログラミング Pythonではじめよう!読了

子供のころ、「マイコンBasic マガジン」と N88 BASIC でプログラミングを学んだ。
電源を入れて、本に書いてあるプログラムコードを入力したら動作を確認できた。
ラジカセを繋いで save すれば保存できたし load すれば読み込めた。

今の若者はどうやって最初の一歩を学ぶのだろう。
パソコンの使い方から始めたら知るべきことが多すぎてなかなかプログラミングにたどり着けない。

この本は、Python かどうかは関係なく、一番最初に「プログラミングとは何か」を 21世紀に学ぶのにとても良い本だと思う。そういや、自分が中学生の頃にこんなの本で読んだなー(Basic で)と思った。

新たにプログラミングを学ぶ人が読むための本をずっと探していた。
「プログラミング言語○○」の入門書はいくつかあったが、「プログラミング」の入門書はなかった。
スクイークやスクラッチの本はあるけど、ああいうのはちょっと違う気がしてた。

小学校4年の頃に MacBook を息子に買い与えてみてから6年。
http://nakagami.blog.so-net.ne.jp/2009-04-10-1
普通に Web で検索とか便利なツールとしては使っているようだったがプログラミングはしてない。
僕が教えると、 vim の使い方とか Xcode のインストールとか始まってしまって、絶対おもしろくないから、特に親から何かを教えるということはしてなかった

ちょうど高校受験が終わった頃だったので、2/15 の発売日に買って、息子に与えた。
数日すると、 tkinter で四角形を描くあたりまで読み飛ばしながら、自分で五角形を描くようにしたものを見せてくれた。
最近聞いたら、読み飛ばしてたところを読み直してて全体の4割くらいしか読んでないようで
「そういえば、最近読んでないなー」
と言っていたので、飽きたようだ。それでもいい。とにかく、変数、関数、ライブラリ、条件文とループの組み合わせでプログラムが動いていて思ったようには動かないということは理解してくれただろう。
興味があれば、また、思い直して読み返してくれればいい。
興味がなければ、無理に勉強することはない。

驚いたのは、そういうのにはあまり興味がない娘も最初のほうを少し読んでいたことだ。
お父さんの職業でもあるので、どんなことをやっているのか少しは気になるのだろう。

この本の素晴らしいのは、教えることが絶妙で、前提条件がなくてもプログラミングとは何かということが伝わるように、テーマとか順番に凄く気を使っていること。

- Python だけをインストールしてできる範囲にしてインストールの説明を最小限にしている
- エディタとして IDLE を使いエディタの説明を最小限にしている
- 文中のプログラムコードがシンタックスハイライトされている
- ディレクトリの概念を知らなくてもできるようにパッケージやモジュールは作ってない(使うだけ)
- 変数、代入、データの型、ループ、条件分岐からオブジェクト指向プログラミングまでは教えてる
- ゲームプログラミングで入射角から反射角を計算するあたりまでやってるので数学はちょっと難しい

できるだけ、簡単に分かりやすくしているが、それでも小学生には難しいかな。
中学生にはちょうどいい。高校生でももの足りないということはなかろう。
大学の最初のプログラミングの講義に使うという話も聞いたが、内容的にはちゃんとしているので、それもいいと思う。

コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

SQL アンチパターン [読書]

SQLアンチパターンまあまあの良書。

SQL データーベースを多少使ったことあるなら、あるあるな感じのアンチパターンを解説した本。
章の冒頭で、問題が発生するパターンを脚本仕立てで書いてて、
「あー、あるよねー」
と、読み物として読むのは良さそう。
中には「そう言われましても」
と思うものもあるけど、
アンチパターンそれぞれについて、ただ単にダメというだけでなく、それが受け入れられる場合も解説してあって、まあわりと受け入れやすい。
(例えば、サロゲートキーはアンチパターンだけど ORM はそういうの前提にしてるのあるししょうがないよね、とか)

絶対の基準っていうより経験豊富な人の意見として聞いておくのはええんじゃなかろうか、と思った。

雷を踏む前に本読んで気をつけられたらいいんだけど、
実際にはそれは難しいんじゃないかなと。人間はそんなに頭よくないから。
一回経験してみてから読んで、「あーやっぱあれダメだったんだ。おれもやっちまったわ」と思えればよいかな。


コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

MySQL トラブルシューティング [読書]

MySQLトラブルシューティング読了。
最近は MySQL を使っているのだが、 MySQL のことほとんど知らない。と思って読んでみた。
しかし、正直アプリケーションプログラマーにはチンプンカンプンで、もうちょっと入門的な本を読んで DBA とかインフラエンジニア的なこともしてからじゃないと僕にはまだ無理だったかな、と。
もしくは、アプリケーションプログラマーの自分が読む本とはちょっと違ったのかも。
内容的には MySQL AB → Sun → Oracle と一貫して MySQL のテクニカルサポート業務をしてきた人の事例紹介的な本なので読む人が読めば良い本なのだと思う。

オライリーから今出ている MySQL の本の中では新しいもの(で薄いもの)と思って選択したのだが、やや消化不良。オライリーの他の(もっと厚くて古い本)を読んだ方がいいのかな?でも、さすがに MySQL 5.0/5.1 の頃の本を読む気がしないのだが。

推薦書があったら教えて欲しい

この本を読んで1つわかった大切なことは「Web上にあるリファレンスマニュアルをちゃんと読め」ということ

空飛ぶ Python 即時開発指南書 [読書]

空飛ぶPython即時開発指南書 (Programmer’s SELECTION)読了

奇抜な表示デザインとタイトルだけれども、原著は Manning のThe Quick python book というやつなので、ぱっと見の印象よりも随分としっかりとした内容。原著のタイトルや表紙絵を踏襲したほうがいいと思うんだけど、表紙とかタイトルは編集社が決めるものなんだそうで、これは正しい判断だったんだろうか。

内容は、ほかのプログラミング言語の経験がある人が、 Python3 ではどう書くのかを知るための本で、文法的なところを一通りサンプルコードで解説している。分量的に多くなり過ぎず読み切れる量で、一通りの内容を網羅している、なかなかの良書。
経験はないけど Python3 でプログラミングしたいというときに、まず最初に読むといい。

原著が Python3.1 を元に書かれているが翻訳段階で、きちんと Python3.3 で動作を確認している。

ただ、ライブラリの使い方はあまり解説してないし、Python っぽさというものについての解説も、やや少なめ。
なので、パーフェクト Python もあわせて読むと知識が補完されてよいと思う。
http://nakagami.blog.so-net.ne.jp/2013-03-10

パーフェクト Python [読書]

パーフェクトPython (PERFECT SERIES 5)読了

少し驚いたのは Python3.3 をベースにして解説していて、 2.x のことについては触れていないこと。
それでいて PEP や Zen of Python や PyPI への登録についての解説にページを割いている。書いている人達が、単なる言語の仕様を理解している だけでなく、Python の哲学について詳しいなぁと感心する。僕も色々勉強になった。
そういう Python の哲学みたいなところは、プログラミングしていくうえで必要になるんだけれども、なかなか書籍のかたちになりにくいので、こういう本は貴重だ。 Python2.7 で開発している人も読むとよいと思う。さすが Python サポーターズ。

プログラミング言語についての経験がまったくない人は想定していないが、Python 以外のプログラミングしか経験のない人なら読めると思う。しかし、「狭義の Python でのプログラミングの理解」という点では、他に勉強が必要かなと思う。

Part4 で、外部パッケージの解説をしていて、随分と Python3.3 で動くパッケージが増えたなぁ、と思う反面 Appendix のインストールの解説ではは、外部ライブラリーの整備状況は、まだまだ一般の人が使えるところまでいってないなぁ、と感じた。
まぁ、そもそも、この本が想定しているプラットフォームのひとつ Ubuntu 12.04 で apt-get できる Python3 は Python3.3 だからなぁ。

この本がバンバン売れて、第2版が出て、そのころまでに Python3 でのライブラリが整備されていることを祈る。


(追記)ものすごく丁寧な書評。購入しようかどうか悩んでる人には参考になる
http://t2y.hatenablog.jp/entry/20130312/1363045098

システム障害はなぜ二度起きたか [読書]

システム障害はなぜ二度起きたか――みずほ、12年の教訓読了
こういう読み物系のものを久しぶりに読んだ。
もう、一年半も前に出た本。
津田沼の丸善のコンピューター書籍コーナーで別の本を探してたときに、見かけて買った。
ここ数年、通勤経路の関係で、大きな本屋による習慣がなくなってしまったがやっぱり、本屋に寄ると、こういう本も買うことになるからいいなぁ。

みずほの地震のときに赤十字への振込の障害から始まって、みずほ統合時の障害の振り返り、その他の社会インフラの影響の大きかった障害についての、日経コンピューターの記事をまとめたもの。
中でも、やっぱり冒頭に詳細に書かれているみずほの2度目のトラブルは、通常の業務範囲の中で起こってしまったトラブルがトラブルを招いて、読んでいるだけでも苦しくなった。
ことが起きた時のことは覚えているが、地震のごたごたの中で、あまり注目してなかった。
日経コンピューターの編集の、システム開発はこうあるべし、というのもわかるが、結局引責辞任させられていたり、外されたベンダーは仕事が無くなっちゃうことを考えると
「チャレンジしないで自分の任期の間は穏便に終わって欲しい」
「できません。間に合いませんとは言えない」
という態度を単純に非難できない。

世の中の全てのシステムがそうなんだと思うけど、銀行の基幹システムでも、過去のものにつぎはぎつぎはぎで積み上げていくと、思わぬところに制限があってトラブルになってるんだなぁ。ということ。
銀行オンライン処理を止めてやらないといけない基幹のバッチ処理ってなに?なんで必要なの?と思っていたが、過去の遺物で、できれば辞めたいものなんだそうで、それがわかっただけでも勉強になった

Python プロフェッショナルプログラミング [読書]

Pythonプロフェッショナルプログラミングざっと章の頭を見て、興味があったところだけ読んだ。全てを網羅的に読むようは本ではなさそうなので、ここで感想を書いて、残りは、おいおい読むことにする。

この本は、なんといってよいやら、内容をひとことでは説明しづらい本だ。
少なくとも、 Python *について* 何か学ぼうとしている Python 初学者よりは、むしろ、 Ruby なり PHP なりを使って仕事として Web プログラミングしている人に役立つ本。もちろん、Python を、そこそこ使っている人にも役立つ。

Python Professiona Programming というよりは、 BeProud Professional Development というような内容なのであるが、BeProud (以下 BP)という会社を知らない人にはなんだからわからないので、Python とつけるしかないわな。

Python、Mercurial、Sphinx、nginx、Google App Engine と、関係あるようなないような章立てだが、それは BP が使っているものについての事例紹介なので、好きな章だけ読むというスタンスで良いと思う。(うちは、Git だから Mercurial の章はいいやとか、 PHP だからPython のパッケージングの章はいいやとか。)もし、全ての章が役に立つ、という人がいたら、それは BP の社員かアルバイト。

例えば、14章では Django の説明もそこそこに、 south、django debug toolbar や fixture の説明がされてて、
「Django の内容を網羅してます」
って感じではないが、使ってる人は当然のように使っているものを、使っている人が説明しているというスタンス。ほかの章も同じく、内容に網羅性なく偏りがあるのかもしれないが、
「英語のマニュアルを読んで日本語で解説しました」
的な入門書以上の内容のはず。ほかの章もだいたいそんな感じ。こういうのは、書籍になりにくいので貴重だと思う。

多人数で書いているということもあって、内容も難易度も章ごとに凸凹があるんだけれども、章ごとの依存関係はあまりないので、自分の興味を持ったところから好きな順番に読むというのがお勧め。

Python の知識の多寡によっても、どの章が素晴らしいと思うかは人によると思うが、僕は、特に4章、6章、13章あたりがよかった。

4章は、ドキュメントの章である。何故 Shpinx が良いか、どういうドキュメントをどのように書けばよいか、ということのヒントを与えてくれている。Shpinx は、Python コミュニティーを超えて使われているようなので、この章は Pythonista でなくても役に立つと思う。
さらに後半では、ツールの記法の説明でなく、「なぜ」書くか「どのように」書くか「何を」書くかについて取り組んでいるところが素晴らしい。
(Shpinx のクロスリファレンスの機能も素晴らしい)

13章は、テストについて。ツールの話は一切出てこなくて、テスト設計はどうすればよいかとかテスト仕様書はどういうことについて書けばいいか、というような話。
「ドキュメントがないとき」や「障害が多すぎるとき」の対応策みたいなことも書いてあって、著者の苦い経験が透けて見える感じ。
そういうとこまで考えながら読むと面白さ倍増。

この本は、通称 BP Book なんだけれども、続いて自社の開発手法やプログラミングの Tips やインフラの内情を書籍化してくれる会社ないかなぁ。