2012年1月18日水曜日

エキスパートPythonプログラミング読書会 第二期 03

エキスパートPythonプログラミング読書会 第二期 03
に参加してきました。
今回は定時ダッシュを決められたので、
あまり走らずに済んでよかったです。

1.アイスブレイク
各島ごと(6名程度)で5分間の自己紹介を行いました。
自己紹介順に、
@Qooh0さん、@aodagさん、@drillbitsさん、
@usaturnさん、そして清水川先生でした。

ここでは清水川先生と
「お正月にお雑煮を食べたことがない」
という話題で盛り上がりました。
清水川先生は先日初めてお雑煮を食べたそうです。
自分は未だに食べたことがありません……

2.読書会
前回に引き続きこの本の中では言語として一番難しいところでした。
ツイート数も少なかったように感じます。

  • islice
         -イテレータ向けのslice関数
         -ウィンドウに見えているところにだけ切り出している。
         -オブジェクトの実態を変えずに、VIEWを参照している。

  • tee
         -Unixのteeと同じなはず。2つに分けるのがtee
         -一時的に先読みしたい時先ので読み込んで、必要なら全部読み込むなどできる。
         -最初の数バイト読み取って置いて、
        もう片方はまったく受け取っていないオブジェクトとして、
        そのまま使いまわすことができる.

  • groupby
         -個数が入っているわけではない。a a a a などになっている。
         -カウントが欲しい時は自分でカウントの処理を書いてやる。
         -「aabbcda」のような後ろの方にあるaは取れない。
         -数を数えたい時はソートして同じ物を整列させて挙げる必要がある。
         -目的次第で分けて考える。
         -GAEだと泣きそうになるほど使うそうらしい。

  • imap, izip, ifilter
         -python3でimap, izipがmap, zipになる。
         -filter reduce は残るが、グローバルの組み込み関数でなくなる
         -(2012/01/25 0:30追記:functools.reduceに移動する)      -リスト内包表記でできるのはなくなっていく方向らしい。
         -関数型言語で使っているような表現をそのまま使っっている。

         -itertoolsはジェネレータ普通に使おうとするとよく使うが、
        やってみないと感覚がつかめない。

  • オペレーターとlambda
         -オペーレーターモジュールにあるよってツッコミがある。
        しかしlambdaの方が短くていいじゃんという意見もある。
        「標準モジュールをつかってやるのは悪いこっちゃ無いです。」

  • デコレータ
         -Pythonには、"クラスメソッド"、"インスタンスメソッド"がある。
         -@がついているものは関数呼び出しで、
        その直後にくるメソッドを読み込んで渡している。
         -普通はちょっとした処理を追加したい時にデコレータを使う。
         -デコレータは実装しようとすると難しいので、まずは使ってみたほうがいい。
         -デコレータはオブジェクトを受け取れればなんでもいいので、
        クラスでも、関数でも呼び出し可能であればなんでもいい。

  • with
         -try~finallyとclose()が要らなくなる。
         -with文に対応するには、withプロトコルに対応している必要がある。
        →  __enter__, __exit__
         -DBとかLibraryとかだとだいたい実装してくれているので、
        書くことはほとんどない。

         -清水川先生もwithが出た当時はそれほど試さなかった。
        本を訳すまでは使ったことなかった。
        なので、こんなものがあったなあと必要な時に思い出してくれれば。

  • contextlib
         -yield文で分割している。
         -yieldより前が__enter__相当、yieldより後が__exit__相当
         -closing:ファイルとかだと勝手にクローズしてくれるが、
        してくれないやつはこれを使うことでcloseを呼び出す。wrapper。

  • デコレータの注意点
         -デコレータを使うと、関数がラッパー関数になり、引き剥がしができない。
         -デコレータにする以前の状態にできないので、
         テストの時毎回通ってしまうという問題も。

  • ツイート数が少なかったのとは別問題かと思いますが、
    初めてTwitterでの質問を最後になるまで拾わなかったですね。
    内容を理解するのでお腹いっぱいでした。
    書き上げた内容もまだまだ説明が足りていない気がします。

    3.ビアビッシュ
    今回は予めビアビッシュの時間に
    LT枠を取ってやろうという初の試みだったわけですが、
    なんと発表予定者が全員キャンセルしてしまうという非常事態に。

    なので当日公募という形で行われました。
    行われたのは、
  • 主催の@tfmagicianさんのmongoDB即興セットアップ

  • PyPyの方のPyPy紹介(お名前を失念してしまいました。すみません。)

  • @aodagさんのメタクラスプロトコル解説


  • @aodagさんのメタクラスプロトコル解説は特に印象的でしたね……
    "メタクラスプロトコル"という名に
    似合わぬファンシーな感じのスライド
    あれは注目の的でしょう。
    内容もすごく濃かったと思います。

    「どのネタがいい?」と聞かれた時は、
    「えっ。何本あるんですか?」と驚きました。
    10本くらいは準備しているそうです。

    "いつ来るか分からない15分のために常に準備をしているのがプロ"
    "来ないかもしれないからと言って準備をしないのがアマチュア"
    とどこかで見たことがあります。

    自分はまだまだですね。
    いざと言う時に自分の力を出し切れるようにしたいです。
    (追記:Gigazineでした。リンクはこちら)

    次回の日程も既にconnpassにでています。
    日程を聞いた時はまさかと思いましたが、どのようになるのか楽しみです。
    エキスパートPythonプログラミング読書会 第二期 04

    参考リンク
  • Togetter:エキスパートPythonプログラミング読書会 第二期 03

  • エキ Py 読書会02 2章後半
  • 2012年1月13日金曜日

    新宿 Book-a-thon #7 -新春スペシャル-に行って来ました。

    hb qp bp study 新年LT&ビアバッシュ2012行けなかった...
    このまま1日が終わるのも癪だからブログ書きます。

    新宿 Book-a-thon #7 -新春スペシャル-に行って来ました。
    いつもは余裕で参加できるのに、
    まさかの補欠者がでるという事態になりました(笑)

    自分は当初エキPyを読むつもりでしたが、
    年末年始で読みきれなかったBeing Geekを読むことにしました。
    エキスパートPythonプログラミング
    Tarek Ziade
    アスキー・メディアワークス
    売り上げランキング: 20751

    Being Geek ―ギークであり続けるためのキャリア戦略
    Michael Lopp
    オライリージャパン
    売り上げランキング: 25733


    Book-a-thonは前回と同じように最初に読む本を各自紹介して、
    そのあともくもくと持ってきた本を読み続けるというものでした。
    大人7人が集まってほとんど話しもせずに
    もくもく本を読んでいる図はシュールだったでしょう。

    @tk0miyaさん曰く、
    「集まって各々がバラバラのゲームを無言でやってる状態です」
    なるほど!確かに!
    何が楽しいのかって…やっている本人が楽しければいいんです!

    読書自体は前回と同じように結構捗り、
    7,8割のところまで読むことができました。
    正月ボケが抜け切らない頭をしゃきっとさせるにはすごく良かったです。
    実際問題無理矢理にでもこうゆうまとまった時間を取らないと、
    なかなか本を読む機会なんて作れないと思う。

    毎週第1、3火曜日に行われている新宿Book-a-thonだけど、
    主催者の@tk0miyaのご都合で次回の開催日は未定。
    何読むか考えておかないとな……
    新宿道場の前だとアジャイルサムライに決定だろうけどね。

    2012年1月9日月曜日

    本ポチった。

    2012年の抱負で上げた項目の一つ
    シェルスクリプトについての本届きました。


    まだ初めの40ページを読んだだけだけど、
    初心者〜中、上級者まで手元に置いておきたい本になるかもなと思った。

    Vimについては
    Vimテクニックバイブル ~作業効率をカイゼンする150の技
    Vimサポーターズ
    技術評論社
    売り上げランキング: 28358

    Pythonについては、
    エキスパートPythonプログラミング
    Tarek Ziade
    アスキー・メディアワークス
    売り上げランキング: 26220

    があるので、これらをベースに自分の技術力を底上げしていきたいですね。

    2012年1月1日日曜日

    2012年の抱負

    年末の振り返りの続きを書きます。

    1.Pythonとの親交を深めるために、とにかく「書く」。
    Pythonに限らないのですが…
    2011年は「書く」作業をしたのはほぼ"Vim"のみなので、
    Bash, Vim, JavaScriptと2011年に触れた技術を底上げしていきます。

    2.身体鍛える。
    社会人は学生の頃と比べて体調管理の重要性が増しますね。
    昨年は1年間健康で闘うために基礎体力作りが必要だと実感しました。
    今はジム通いすることを考えています。

    3.自分がどうなりたいのかを考え続ける。
    昨年は興味を持ったらどんどん首を突っ込んでいきました。
    ただ2012年は前に進むというやり方見直していきます。

    2011年は万事うまく行ったようにも思いますが、
    内容がどこまで付いてきたかというと疑問が残ります。
    このままだと手を広げすぎて
    力が廻らなくなりそうな雰囲気があるので、
    何事も早めのタイミングで処理していきたいです。
    状態をうまく持続させていけば大丈夫だと思いますが、
    そのための努力が必要です。

    2012年からは現場での立ち位置も変わるので、
    今の仕事で今自分は何ができるのか考えます。
    自分より優秀な人なんていくらでいて、
    それでもその中で自分が生き残っていこうとするなら
    今後は戦い方を変えて行かないと…