So-net無料ブログ作成

Python 文法詳解 [読書]

Python文法詳解これは、「第5回 Pythonもくもく会 @アライドアーキテクツ」の記録(その2)です
http://mokupy.connpass.com/event/11807/

出版されてすぐに買った気がする。PyConJP の会場では買わなかったけど、たぶん昨年の9月頃。
ひととおり読んだつもりだったが、まだブログに書いてないようだ。
書くのを忘れたのか、全部は読み切ってなかったのか?
最近、もう一回最初から読み始めて、今日一通り読了。

CPython3.3 以降の
- 文法
- ビルトインオブジェクト
の解説。

僕の感想を手短に言うと
- 知らないこといっぱいあるなぁ
- 単純な規則の組み合わせでうまいこと動いているんだなぁ
という、相反する2点。

PyPI からインストールできる有名なパッケージはおろか、ビルトインのパッケージについても説明がない。
文法や内部的な処理について、こんなに詳しく知らなくても Python のプログラムは書けるようになると思うので、万人向けではないと思う。
Python でうまくプログラムが書けるようになりたいと思うなら、パッケージの使い方を例示した本を読んだほうが良いと思う。
あえて言うなら「Python のことなら何でも知っておきたい人」向け。

ただ、僕自身は面白かったし、英語でもこういう書籍はないので、英訳して出版してもいいんじゃないだろうか。

この本の出版以降にリリースされる Python に言語としての機能もどんどん追加されていくとは思うけど、
この本に書いてある内容は古くならないので、「とりあえず買っておく」「いちど読んでおく」でも損しない本だと思った。



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

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

Pythonプロフェッショナルプログラミング第2版本日発売。
自分の読んだ本は忘れないうちに記録するようにしているのですが、この本は執筆後半のレビューに参加させていただいたので一応読了・・・と。

今のご時世、日本語の技術書が版を重ねるのは難しいことなので、初版が好評だったんですね。
初版の感想はこれ↓
http://nakagami.blog.so-net.ne.jp/2012-04-01
Python の本というより BeProud という会社の業務マニュアルの書籍化というのは引き続きです。

変更内容については清水川さんの Blog の紹介がわかりやすいと思います
http://www.freia.jp/taka/blog/python-professional-programming-2nd/index.html
http://www.freia.jp/taka/blog/python-professional-programming-2nd-mihon/index.html

初版の頃は Python のパッケージの本命がなかったり、Django に migration の機能がデフォルトで存在してなかったのですが、現在はいろいろ改善されたというのもあり、この状況下で版を重ねることができて良かったと思いました。
パッケージインストールは pip で統一され Django は migration も一緒に説明されてわかりやすくなったと思います。
また、全体が整理され章ごとの参照がされて良くなりました。

Skype, Google App Engine, Trac, Fablic の説明が削除されました。しょうがないですね。
Ansible, Slack の説明が追加されました。時代ですね。

今回、初めて書籍レビューをしてわかったことは
「書籍レビューなら積ん読にならない」
「わからないなりに一生懸命読む」
ということです。今後も機会があれば積極的に書籍レビューをさせて頂きたいと思いました。

どんなに売れても会社の業績にはあまり関係ないのでは、と思うのですが(知らない)、たくさん売れると3年後くらいに第3版が出せると思いますので、皆さんぜひ買ってください。

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

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

死んで生き返りましたれぽ漫画が読みたいかみさんが買ってきた。
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