2012年3月26日月曜日

「エキスパートPythonプログラミング読書会 第二期 04」参加してきました。

connpass-エキスパートPythonプログラミング読書会 第二期 04
に参加しました。
今のところ一度も逃さず参加できている。
我ながら素晴らしい。

当日の様子はお館様がまとめて下さっています。
エキスパートPythonプログラミング読書会 第二期 04 - Togetter
清水川先生のスクリーンログはこちら
エキPy読書会2nd #4 スクリーン — Gist

実をいうと今回は予習なしで参加してしまったので、
オブジェクト指向に理解が乏しい自分にはハードル高めでした。
予習復習大事ですね。本当に。

かろうじて理解したこと

  • 組み込み型の拡張はできるが、大抵の場合組み込み型そのままで十分
  • super=公式ドキュメントには組み込み関数と書いているが、実態は組み込み型。
  • 継承関係を調整してくれているものがsuperのクラスの役割。
  • superのdictとただのdictはどう違うのか。
    特殊な継承を使う時はsuperのdictを使うと便利なことがある。
    オーバーライドしてしまったメソッドの元の方を呼び出したいと言った時に、superが役立つ。
  • ネームマンダリング=頭に__をつける。
    継承の時に名前がぶつからないようにするため。
  • MROがあるからといって、superがあるとは限らない。
    (MRO = Method Resolution Order, メソッド解決順)
    Pythonの本体ですらそういううところがある。一意ではない。
    だから正しく判断する時はソースコードを見てする。
  • Python3のパッケージ対応リストーPython 3 Wall of Shame

    そんな頭の回っていない自分にはありがたいことに、
    今回はなんと「エキPyチロルチョコ」が用意されていました!
     #expertpython チロルチョコ食べて落ち着く。 on Twitpic
    本来は2/14に配られる予定が諸々の都合によって中止になったので、
    この日に配られたそうです。

    作成された@tk0miyaさんが参加されないとのことでしたので、
    @usaturnさんが持ってきてくださいました。
    実はconnpass-新宿 Book-a-thon #11の時にそのやりとりがあったり。
    「エキPyに参加される方はその時に貰って下さい」と、
    その時には頂けなかったので何とか貰えて一安心です。

    次回はちゃんと予習したから行きたいですね。
    せっかくの機会を無駄にしないようにしたいです。

    参加者ブログ
  • エキPy読書会 第二期04参加しました - 絵事後素
  • ryu22eBlog : エキスパートPythonプログラミング読書会 第二期 04 に参加しました #expertpython
  • 2012年3月17日土曜日

    Python Developer Festa 2012.03行って来ました。

    Python Developers Festa 2012.03 on Zusaarに行って来ました!
    Python Developers Festa 2012.03 を開催します - Twisted Mind

    例の如く、当日の天気は雨模様。
    前回はぎりぎりだったので、今回は早めに行きました。

    当日の様子はかえるの人(@blaue_fuchs)がまとめてくれています。
    Python Developers Festa 2012.03 #PyFes 〜ハンズオン開始まで - Togetter
    Python Developers Festa 2012.03 #PyFes 〜ハンズオン中 - Togetter
    Python Developers Festa 2012.03 #PyFes 〜LT1 - Togetter
    Python Developers Festa 2012.03 #PyFes 〜LT 2 - Togetter
    Python Developers Festa 2012.03 #PyFes 〜LT 3 - Togetter
    Python Developers Festa 2012.03 #PyFes 〜LT 4 - Togetter
    Python Developers Festa 2012.03 #PyFes 〜終了後 - Togetter

    当日は大きく分けて
    ・ハンズオン
    ・プレゼンテーション
    が行われました。

    ・ハンズオン
    @voluntasさん、@yokatsukiさんより諸注意の後、
    10:00〜15:00まではハンズオンを実施しました。

    自分はPython でテスト(仮)に参加しました。
    しかし落とし穴が……
    講師のシャイデレ(@aodag)さんが来ない!!!
    そこでTLを探っていたところ、


    ……ひとまずハンズオンのURLは公開されていたので、
    必要なツールをvirtualenvを使ってインストール。

    しかし資料を読み進めながらテストツールをためしていたところ、
    「もしかして、Python3が必要……???」
    と気づきました。
    自分のMBAにはPython2系しか入っていないので、
    進めるには新しくPython3系を入れる必要があります。

    どうしようかな思いましたがあまり環境を汚したくないので
    pythonbrewを導入しました。
    pythonbrewはpythonのバージョン管理ができるツールになります。
    前々から入れようと思っていたのですが今回ので決意。

    しかしはまった!pythonbrew及び、
    Python3.2のインストールで午前中を使ってしまいました。
    午後一でPython3.2のインストールまで終了したものの、
    ハンズオンの内容は半分も進みませんでした。
    いかんせん自分のレベルの低さと言うものを実感しましたね。

    他のテーブルでは前回同様初心者テーブルは好評だったみたいですね。
    隣でやっていたMercurialのテーブルも終始賑やかに見えました。

    ・発表
    今回はPythonの話が多かった気がする。いや気のせいか……
    PyCon2012とBPさんからの出版されるPython本
    の押しが強かった気がします。
    置いてけぼり感がすごいと有名なこの時間。
    以下のプレゼンテーブルで進みました。

    ■しょーま(@shomah4a)さん
    PyConJP2012 メンバ募集 -pyfes 2012.03-
    →PyConJP2012スタッフ募集中。やる気のある人希望。
    PyConで年収が上がりました!(要出典)

    ■bucho(@torufurukawa)
    Python 3.3 チラ見
    →今さらながらチェックインアプリ作りました。
    mixiと連携してクーポンゲットできるよ!

    ■ところてん (@tokoroten)さん
    レベルを上げて物理で殴れ、Fuzzing入門 #pyfes
    →FirefoxやMicrosoftではやってます。
    Vista時代からやり始めてて、XPに比べてバグが半分になりました。

    ■Vの人(@voluntas)riak-ja meetup #1 (仮)
    →ライアックじゃなくてリアックと読みます。
    全部英語だけどイベントやるよ。

    ■トイプーの人(@atsuoishimoto)
    Python3と向かい合ってみる
    →あわてるな。Python2.4、2,5を使っている人は、
    まずはPython2.7の移行を始めよう。

    ■ナツ(@natsu_bm)さん
    塹壕戦から揚陸艇強襲上陸まで (2012/03/17 pyfes)
    →テスト≠品質 システムの価値をあげる手段の一つ。

    ■しぶや(@lanius)さん
    KoshiNukeによる最高のGit体験
    →会場の謎の一体感。次々と発せられる感嘆の声。
    Hey!Koshinuke!

    ■清水川先生(@shimizukawa)
    PYTHON PACKAGING (PyFes 2012.03 発表資料) - Google Docs
    →そんなうまい話はねぇ!

    ■たきざわ(@turky)さん
    実録!電子出版サイト裏の裏!
    →「電子書籍について話してください!」と
    色々なところでいわれますが、全部断っております。

    ■くえにし(@kuenishi)さん
    できる!ZooKeeper超入門
    →「ゲームじゃないよ!」「どうしてこうなった!」

    ■takabow♨ (@takabow)さん
    絵で見てわかる 某分散データストア
    →便利でカスタマイズしまくれる分散KVSです。(100%Java!)
    Pythonボルダリングイベントきてね!

    ■Yohei Sasaki(@yssk22)さん
    20120317 CloudFoundry #pyfes
    →PaaSのカーネル部分を提供。
    ぶっちゃけGettingStartedがあるくらいで
    ドキュメントありません。CouchDBはオワコン。

    ■TakuFukushima(@takufukushima)さん
    ネットワーク仮想化プラットフォームMidoNetについて
    →ネットワーク機器はスケールアウトできる!?

    ■moriyoshi(@moriyoshi)さん
    何か(仮)
    →innokoDB。ストレージエンジン。
    「泣いてもいいですか?」「あ、insertとかできるんですね」
    ■Web魚拓の人(@hiroki_niinuma)
    ウェブ魚拓史
    →1DのAndroidゲーム,トンネルRPG出しました。
    魚拓が起こした問題。◯電すごいな(◯い意味で)

    次回の日取りは決まっていないそうですが、
    引き続き参加したいと思います。
    9月ごろとおっしゃっていたので、
    その頃はPython3.3がリリースされている頃ですかね。
    Python2→3系に移行することになった時のために
    もっとPython力を見につけておきたいですね。

    会場を提供してくださったOracleさん、
    ハンズオンや発表されたみなさん、
    参加されたみなさん、お疲れ様でした&ありがとうございました!

    参加者ブログ
    Python Developers Festa 2012.03 #pyfes でテストハンズオンに参加した - あさとの @drillbits
    Even More Addicted to Indentation: Python Developer Festa 2012.03 に行きました。
    Python Developers Festa 2012.03に参加してきましたよ! #pyfes - プログラマ行進曲
    「Python Developers Festa 2012.03」に参加して来ました。 - 強火で進め
    Python Developers Festa 2012.03 に参加してきた - 彷徨えるフジワラ
    pyfes 2012.3に参加してきました。 - そこはかとなく書くよ。

    2012年3月12日月曜日

    新宿 Book-a-thon #11に参加してきました。

    kashew_nuts-tech: 新宿 Book-a-thon #7 -新春スペシャル-に行って来ました。
    以来ずっと仕事が終わらず一向に参加できる気配がなかったのですが、
    久しぶりに参加。

    気づけばconnpass-新宿 Book-a-thon #11と二桁になっております。
    ATNDからconnpassへとイベントページも移行。
    気分一新ですね。

    当日の様子は@usaturnさんが以下にまとめてくれています。
    新宿 Book-a-thon #11 - Yukarin'Note

    今回自分が読んだ本は

    読んだと言うより記述しているスクリプトを、
    VM上のUbuntuで写経していました。

    主催の@tk0miyaさんの学生時代のバイト話で盛り上がっていたお陰で
    そちらの話が気になりなかなか本に集中できないというおまけも
    ついてましたが、
    区切りのいいところまでは読み終えることができました。

    次回のBook-a-thonイベントももう日にちが決まっているようです。
    connpass-新宿 Book-a-thon #12
    20日が祝日ということで22日(木)になり、
    自分もまさかの補欠になっていますがなんとかなるでしょう。
    楽しみです。

    2012年3月11日日曜日

    MacとWindowsでvimのdotfiles管理してみた。

    去る3/3、TokyoVim#4に行って参りました。
    参加登録の〆切は過ぎていたのですが、
    主催の@kana1さんに直接連絡することで何とか参加!
    いや〜きいてみるものですね。

    当日の様子は@usaturnさんがまとめてくれています。

    TokyoVim#4 - Yukarin'Note


    自分が当日やったこととしては以下の3つです。
    ・NeoBundle.vimを用いてdotfilesの整理
    ・VMに入れているWindows7にNeoBundle.vim導入
    ・バイナリエディタとしてのVimの使い方調べ

    dotfilesについては以下のURLが詳しいです。
    gitが入っていれば2〜3分でいつも使ってる自分の環境が構築出来ます。
    ナウなヤングのためのgithub入門講座 -基本機能からdotfiles管理まで- - 馬鹿と天才は紙一重
    少し引用させてもらうと、

    dotfilesはhomeディレクトリにある各種プログラムの設定ファイルです。
    .vimrcとか.screenrcとか、ああいうやつです。
    これらがgithubにあると同じ設定ファイルを
    例えば会社と自宅のような別環境で使うことができ、
    どちらかで設定をしなおすという面倒なこともなくなり便利です。

    以前は下記リンクを参考にvundleでやってみましたが、
    neobundle.vimでまたやり直してみました。
    今回移行しようと思った最大の理由は、
    Pluginを入れるたびに出てくるDOS窓が煩わしかったから。
    そろそろしっかりvimを使う。dotfilesのgithub管理とvundleの導入。 - holyppの日記
    そろそろしっかりvimを使う。github+vundleを利用したWindowsとの同期。 - holyppの日記

    vimprocという非同期処理を行う
    Pluginを動かすのに少し手こずりましたが、
    MBAに入れるときは
    30秒で MacVim に VimShell を入れる最速の方法 | ウェブル
    を参考に_vimrcに
    let g:vimproc_dll_path = $VIMRUNTIME . '/autoload/proc.so'
    
    と記述することであっさり動きました。
    WindowsでもWindows7 GVim にVimShellをインストールする | karakaram-blog
    を参考に解決することができました。
    proc.dllをproc.soにリネームして.vim/autoload/にコピーすることで完了。

    Vim上で、
    :Unite neobundle/install:!
    
    と打つとDOS窓がでることなく次々にUpdateが実行されていきます!

    これでMacだろうがWindowsだろうが
    問題なく自分のVimが使えるようになりました。
    参加者のみなさんお疲れ様でした!