その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

Hokkaido.pm #8 に参加してきました

Hokkaido.pm #8 に参加してきました。
会場は札幌市産業振興センター、スペシャルゲストは@typester さん (KAYAC)と@zigorou さん (DeNA) でした。
しかしまあ北海道さみい!!! 僕も2年くらい前まで道民だったはずなのにこの寒さは骨に凍みます。

聞いてきたこと

  • @jamadam さん - Mojolicious をperl-5.8.7 で使えるようにする
    • Mojolicious はperl5.10.1 以上のバージョンが必要だからだるい
    • ので、mojo-legacy というperl5.8.7 で動くのを作った
      • defined-or 演算子を書き換えた (defined-or は5.10 以降で実装されたので)
      • state をour に書き換えた
      • say をMojo::Base で提供した
      • などなど
    • 詳しくはスカイアークのエンジニアブログを読んでね
    • 紹介以降はmojo-legacy のライブメンテナンス
    • Github のmojolicious をfork して云々
    • Github につながらないアクシデントが発生した!!!
  • @typester さん - XS にまつわる話
    • XS はかつて食わず嫌いだった。難しそうだしイミフ。
    • 今では年に数個XS モジュールをリリースされてる
    • iOS アプリの為にC でパーサライブラリを書いた→XS 化したい
    • XS とは
      • Perl の世界と外の世界をつなぐもの
      • 例えば、Perl からC 言語のライブラリを使うなど
    • XS で高速なPerl プログラミングをするのは異端 (e.g. Mouse, Text::Xslate)
      • なぜならXS でオブジェクトを操作するのとPerl でそれらを操作するのは同じくらいの速度だから
      • 時間がかかる計算部分をXS にしないとあんまり意味が無い
    • 普通の人はまずライブラリを普通に書いて、それのXS バインディングを作れば良い
    • XS を書くのに必要なもの
      • ターゲットライブラリの使い方 (C/C++ の知識を含む)
      • XS の知識 (1): XS マクロの使い方
        • XS マクロ、あと.xs 内部の構文の知識
        • ST(N) とかXSRETURN(N) とかのマクロ群の知識
      • XS の知識 (2): C とPerl の間でのデータ変換の方法
        • perlguts を読めばいけるのでは
    • XS モジュールの作り方
      • 作るためのモジュールの選択
      • C の静的モジュールをXS モジュールの中に突っ込むと良い
      • ppport を使うとライブラリの差とかを吸収してくれて便利
      • xs のモジュールはblib ディレクトリに中身が入っている
        • なので、use blib '.' とかやるとパスが通る
        • あるいは、コマンドラインで-Mblib とかやると通る(←こっちのほうが一般的?)
    • XS は型変換の機構を持っているので自動で型変換される
    • XS はC に変換される
    • XS におけるObjective-C の話題
      • .xs を書かずにxsubpp で生成された.c と同じ形式のファイルを.m として書く
      • .xs でObjective-C を記述して、xsubpp で生成された奴を.m ファイルにリネームしてよしなに
    • MacRuby 的なやつはキモいからいらない
      • Perl でMac アプリを書きたいわけじゃない
      • 単機能をPerl の流儀で書けた方が良い。
    • 牧さんのXS モジュール (Text::Mecab, ZeroMQ, etc) は綺麗だからパクればよいのでは
  • @typester さん - 未来をつくるプログラム
    • 未来をつくるのは技術者
      • なのでプログラマは未来を作る事が出来る
      • せっかくプログラマになるのなら“未来をつくるプログラム” を書こう
    • 仕事と趣味の話
      • 仕事: 人生を賭けようが賭けまいが収入が得られる
      • 趣味: 収入が得られる場合もあれば得られない場合もある。人生は賭けない。
      • 仕事 ≠ 趣味
    • 心がけるべきこと
      • アイデアは常に考え続ける
      • 技術は常に磨く
      • ハックの精神
      • ロールモデルを持つ
      • ライバルを持つ
      • 仲間を持つ
        • ライバルや仲間を持つのは、今いる環境に依存するから難しいかも
        • ロールモデルは誰でも持つことが出来る。
          • それすらも難しかったらオープンソースのプロジェクトにコミットしたり、勉強会に参加すれば良いのでは
  • @zigorou さん - サルでもわかるOAuth2
    • 世界一わかりやすいOAuth2.0 の説明 *1
    • 以下を解説
      • RFC6749
      • RFC6750
    • これ、すげーメモ取ったんですけど、多分zigorou さんのスライド (完成版) を見た方がぜってーに良いと思うのでそっちで。
      • 図とかたくさん出てきますし……
  • @__papix__ さん - モジュール作ってみた
  • @techno_neko さん
    • YAPC::Asia Tokyo 2012 LT-thon ベストエルティニスト賞
    • Web +DB の宣伝
    • 名前付き引数について
      • ハッシュで渡す
      • ハッシュリファレンスで渡す (←Perl Best Practice に載ってる方法)
    • Hokkaido.pm Casual の紹介
  • @koji_magi さん - 爆破してみました
  • @akiym さん - これまでのPerl5についてのあらすじとこれからのperl-5.18
  • @xtetsuji さん - Hokkaido.pm があってYAPC でトークできた
    • 2007 年以降のYAPC を当時の背景を交えながら紹介
    • 2007 年とかPerl 知らなかったんで勉強になりました

しゃべってきたこと

浮動小数点の話とか、あとテストモジュールの話をしてきました

ここらへんは気が向いたら別のエントリにしようと思っているんですが、まあスライドに言いたいことが全部書いている気がするので、
それで良いかなーとも思ったりしています。

あとこのスライド、行きの飛行機の中でシコシコ書いていたんですが、どうやらその一部始終を@typester さんに見られていたようです。*2 *3
@typester さん曰く「機内で(スライドにあったような)イカレたテスト書いてる人がいて、ないわーwwwとか思ってた」との事でしたが、その「ないわーwww」というテストを大真面目に書いてv0.01 としてリリースしていたのが僕です。ないですね。
しかし、自分がスライド書いている姿を見られるって割と恥ずかしいですね! 穴があったらなんとやらです。

そんな感じでした

Hokkaido.pm #8 大変おもしろかったですし勉強になりました。ありがとうございました。
またお邪魔したい所存です。



私信

各方面から「moznion が懇親会で荒ぶっていた」というレポートを受けていて、
僕としては記憶が曖昧でハッキリしているのでなんとも言えず、ただただ怯えております。
関係者の皆さんにご迷惑をお掛けしていたら本当にすみません!

*1:マジで

*2:2次会で明らかになりました

*3:そもそも同じ飛行機で、しかも近くの席に位置していたのがびっくりしました