09

YAPC::Asia Tokyo 2015

f:id:carrotsword:20150820180654j:plain

今年も行ってきました、ということで。

前回の感想エントリでは門外漢が行くべきかどうだかな〜と思っていたのだけど、いざ参加募集が始まったら迷ったものの結局行くことにした。前夜祭から参加。

Day 0

聞いたのは以下のトーク

PHP帝国の逆襲!(を願うPHPerが話す最近のPHPについてのクイックツアー PHP7対応版)

Yet Another Perl Conference の口火をきるのがPHPとRubyのトークというのがやはりここのところのYAPC::Asiaらしさなのかな。 多分 uzulla さんのトークを聞いたのは初めてなんだけど前年ベストトーク賞を取っているだけあってどんどん会場をあっためていくのはさすがとしか。 しかし内容はだいぶ濃かった。もともと長い枠向けに書いていたのか?かなりボリュームがある内容をどんどん喋っていくので、PHPに関してはせいぜいにわかというレベルの自分には途中まったくわからない点などもちらほら。

とはいえたまにPHPの案件などもあったりするのでPHP7情報は今後役に立ちそう。

はてなブックマークのトピックページの裏側

はてなブックマーク10周年おめでとう御座います。

ということで10周年の企画として作ったというトピックページの裏側がどうなっているかという話。意外と「これとこれとこれを使えばできる」というような話で随分簡単なんだなという印象。(まあ実際にはいろいろ困難もあるのだろうけど)

最近 elasticsearch をいじっているので自分の作っているもので使えそうかな〜と考えながら聞けた。

技術ブログを書くことについて語るときに僕の語ること

どうやればブクマを稼げるか、というところから話が始まった。個人的にここのブログにはどういったことを書いたものだかなというのはしばしば悩んでいるんだけど、あまりそういう悩みの参考にはならないかな、という雰囲気だった。

ただ最終的には

  • 良いエントリを書くにはそれなりに時間も知見も必要になる
  • 時間や知見が必要になるエントリを書くにはエネルギーが必要。
  • エネルギーを得るためにブクマ(まあブクマじゃなくてもいいけど)を稼がねばならない

とうまくまとめられてしまった感じ。 ちまちまネットで調べたことを書き綴っても仕方ないというのは確かにそう思うんだよな〜。

Day 1

なぜだか 10:00 開場と感違いしていて 10:10頃到着。 オープニングトーク聞きたかったのだが失敗。

メリークリスマス!!

ラリーの英語トークだったんだけど、同時通訳のレシーバ売り切れだったのかもらえず、そのまま入ったのでとりあえず通訳なしで聞いてた。ホビットの話をしてたのはともかく、まあ全体的には細かい話がよくわからなかった。残念。

Perlの大将いい声で喋るな〜と思って眺めていた。

DeepLearning の前に知っておくことがある! 再帰型のニューラルネットワークや自己組織化マップについて語ろう

ニューラルネットワークの経緯的な話から始まってだいぶ頑張ってい急いで喋っていたのだけど、時間が足りずに全て説明仕切れていなかった感。今回聞いたトークでは割と多かったんだけど、説明がやたら早かった。

個人的には全然この辺の分野は知らないものの経緯的なところはなんとなく聞いたことはあって、逆にちょっと突っ込んだ話になると全くわからなかった。 ただ質疑応答の時間には全くよくわからない会話がされていたので、分かる人には分かる内容だったのだろう。

TBD

Rubyの大将のお話。

トークの導入でRubyを封印しますといってやっぱ封印解きますといった話の流れとか結構慣れた感じで全編面白おかしく聞くことができた。 すでにいろいろなところで書かれているけどRubyのまずかったところとして「Perlの影響を受けすぎた」「Lispの影響を受けすぎた」といったことをあげてた。けどまあ質疑応答でRubyのほとんどは正しいはずとも言い直していて結局どっちなのか感はある。

Rubyはほとんど書かないけど個人的にRubyの嫌いなところはto_sとか。短くしたいにしても中途半端な対応に見える。まあどうでもいいか。

後半Streemの話だったけど、パイプラインを構成して一向という2フェーズある感じが、わかりやすいのは間違いないのだけどなにかもやもやする。普通のソフトウェアなら設定とコードに分かれるような感じがあるからかな。

Perlの上にも三年 〜 ずっとイケてるサービスを作り続ける技術 〜

ベストトーク賞1位おめでとうございます。

はてなのサービスの内側の概要と、はてなブログを作るにあたってどういった設計を採っているかという話。途中幾つか書籍が引用されてて「最高」とのことなんだけど、喋ってる内容としては(十数年Webシステムを作っては壊ししている身としては)特に新しさはない感じではある。まあ結局こうなるのかというような。 しかしこういった現在の着地点を確認できるトークは安心して聞けるし、自分のやってきたことの振り返りになって良い。

ドメイン駆動設計はどうなんだろう?まあユビキタス言語等個別プラクティスそれぞれについていろいろあるが、個人的にはここ10年でさすがに無理が出てきていたり、時代にそぐわない部分が出てきているように感じている。

PietでLISP処理系を書くのは難しい

Pietってそもそも何か知らなくて、トークが始まる前の休憩時間にググってみたんだけどビットマップをインプットとして解釈する言語らしい。ただいろいろ制約が多くて(ただでさえビットマップを書くのが大変そうなのに)もう辛くて辛くて仕方ない、みたいな話だった。

ただのもの好きがやる事かと思ってたら質疑応答の時間にPiet処理系いじった経験のある人が出てきたりガチLISPerがそんなんじゃ困るみたいな意見を申し立てていて面白かった。

発表はちょっと準備不足感があって、トークの途中で出てきたURLとかちゃんと共有されるのか不安。

Perl6 on JVM: It works??

Perl6のサブセットというのかミニマルセットというのか、nqp(Not Quite Perl)というものが定められていて、nqpが動けば、そこでPerl6を動かすことができるということで、今のところParrot、More-VM、rakudo-startという3種のVMが開発中。で、以前はだいぶ遅かったんだけど、ここのところだいぶ早くなってきて実用的ですね!という話。 多分 nqp と rakudo の話はだいぶ前のrebuild.fmでtokuhiromさん出演回でも話をしていたのでその辺はなんとなく知っていたんだけど、インストールもだいぶ簡単にできるように整えられていますよ、というのは初めて聞いた。

スレッドに関してはJVM上で動いているrakudoはだいぶましだけどMore-VMでは動くけど思った風には動いてくれないということを言っていたので、まだ前途多難なのかもな~。

Lightning Talks Day 1

LTに関しては一言づつ

  • 日本最多のオフィス訪問シリーズ 「行ってきたシリーズ」のTOP5+αとして日本のイケてるオフィスを紹介しちゃうよ!
    • マイクロソフトオフィス(製品ではない)のPVが高いとのこと。あとISUCONのCMが半分
  • Gitの作り方
    • 意外とお手製でやれるという話。
  • SaaSを組み合わせて作る, ぼくらの障害対応術!
    • デモ中にガチ通知飛んできて最高
  • cpm - an experimental cpan client
    • 依存解決を並行処理して最高
  • Norikraで作るPHPの例外検出システム
    • システムでカバーしなければキャッチできない例外がPHPにはあるんです!
  • RSSをざっくりクロールしてゆるふわにパースする
    • 結構複雑なユーザ入力の検証なんかでよく出てくる問題。あまりがちがちにやるといい感じに処理できないという。
  • Slack + Hubot でお前の一番好きな二次元嫁キャラと一緒に仕事をする
    • 別の方面でも一度聞いたことがある話の気がする。なんでこういうのSlackがいいんだろうか。やってることはバッチとかシェルスクリプトのような気がせんでもないんだけど。
  • YAPC?雨事情
    • 今は北陸で働いているんだけど、確かにオフィスビルで仕事してた時代は本当に外に出るまで雨とか気にしない事が多かった気がする。窓の外を眺めさえすればいいはずなんだけど。
  • Haskell Strikes Back
  • (昔の) PHP が誇った最高の機能 register_globals の真実、そして未来へ
    • マニュアル「その結果に驚くことでしょう」
    • 「ちゃんとかけ」
  • Perl同人活動報告2015
    • レスペーパー化の時代にワープロであるところのMicrosoft Wordなんて不要になったんじゃと思ったけど意外と需要が生き残ってた

Day 2

どうしてこうなった? Node.jsとio.jsの分裂と統合の行方。これからどう進化していくのか?

個人的にはNode.jsでアプリケーションを書くことはないんだけど、フロントエンドのビルド環境としては度々使うので、まあ若干の不安があったので聴講。 コミュニティリーダーの交代とロールモデルの変遷について話していて、なかなか興味深かった。ほかのプロダクトなんかではどうなっているのか興味ある。Javaだと支配者がいたとしたら James Goslin だろうか。結構早い段階からJCPが成立していたような気がするけど。 取り合えず今後の使用に関しては問題ないのかな~という感触を得たけど、まあ先のことなんてわからないしな。

NASA主催の世界最大級ハッカソンSpaceAppsを運営した話

発表者の湯村さんは別の筋で見かけたことがあったので、リアル湯村さんを見に聴講。

SpaceAppsというハッカソンの運営は以前からやっていたのだけど、今回石川に住まいを移したのでリモートでの運営ということでいろいろ苦労したとのこと。Google Hangoutsを使ってたくらいの説明しかなかったと思うんだけど、個人的に今の仕事もいろいろチームが分散して作業することが多いのでその辺もっと突っ込んで聞いておけばよかったかも。

アイディアソンにはそれ専門の人を呼んでるといってたな~。どんなことをしているかも軽く話してくれてたけど、それでうまくいくのかどうかまったくわからないので何とも。

3分でサービスのOSを入れ替える技術

正直インフラ屋ではないものの、最近ちょいちょい手を出し始めているので興味があったので聴講。

インフラの現場がわかっていればいろいろ納得感があったのかもしれないけど、rebuild.fm で聞いたような単語がしっかり出てくるなーというような感覚で聞いてた。時系列で問題を順次解決していくような形で説明されてて内容はとてもわかり易かった。 SSHみたいな何でもできるみたいな手段は極力封じておいたほうがイノベーションが進む、みたいな考え方がでてきたんだけど、現場で初めからそのように思い至って進めたんだろうか。後から振り返ったらそうなってたというのならわかる気はするのだけど、そうでなければ自分ではそんな発想には至れなさそうだ。ただまあ、SSHが使えるようになるところまでも若干しんどいと思われるので、そのしんどいところを超えてしまえるのならSSHに頼らなくてもいいかも、とは考えられるのかな。

最後のBlue Green Deploymentのところはやはりストレージまでは対応できていないということで、その辺の「現状ここまで」感がわかったのもよかった。

ソーシャルゲームにおける AWS 移行事例

個人的に社内のあれやこれやをいい加減AWSでやれないのか、と思い始めていたので聴講。

移行時間を短くするためにいろいろ調べていて、実際に自分でやるときにも使えそうかもな~という感じで聞いていた。 MySQLに関してだいぶいろいろやっていて、今思い返してみるとこれらの問題はどうやって検出したんだろう?移行期間は手順をChef化したりRDSの検証をやったりで約一か月間くらいらしい。割となんども移行してみてテストしてを繰り返したのかな。

yrmcds って初めて聞いたなーと思ったら、Garoonのバックエンドなのか。

developer.cybozu.co.jp

あと一つ上のトークでも出てきたけど、結構Consulが今回のYAPCでは頻出ワードだったみたい。まったくマークしていないのでちょっと手を動かしてみておくかなあ。

HTTP2 時代の Web

ベストスピーカー賞2位おめでとうございます。

mozaic.fm とどのくらい違うんだろうなどと思いながら聴講。

HTTP2を理解した上で移行しないのもありと話しながらも、言いたいこととしてはHTTP2使っていこうぜということだったんだろう。 多分個人的にはそんなに高トラフィックの対応を要求されることも多くないのでさして差し迫って必要という感覚ではないし、インフラがいつの間にか対応してたところに乗っかっていけるといいなくらい。ちょっと気になるとすれば、HTTPS化かなあ。

Lightning Talks Day 2

  • MySQL 5.7の罠があなたを狙っている
    • すごく面白かったし、役に立ちそうな情報が満載だった。個人的にはPostgreSQL派なので、MySQLは使わないかもしれないけど。
  • 吉祥寺.pmというイベントを作った話〜聞きたいトークが有れば自分でイベントを作ろう!〜
    • 勉強会毎回遠いよね。遠い遠い。
  • 命名の話をします
    • なんだかイマイチ落としきれていない感じだったけど
  • botになる技術
    • コンテンツ力が極まるとBotになれる
  • モダンなクライアントサイド JavaScript に追い付くためのための小さな(しかし大変な)一歩の話
    • あるある
  • Evaluating your stylesheets
    • Naoya 最高!
  • Thank you for ${^ENCODING} variable
    • perl 最高!
  • 本物の "ロック" ってやつを魅せてあげますよ - 分散排他ロック篇
    • 高信頼で高可用性で伝統も実績もある電話最高!
  • コミュ力あげてこ
    • 電話より伝統も実績もあるモールス最高!絶対やると思ってたけど
  • CONBUの道具箱
    • デモが圧巻でした
  • Vim script静的解析の光と闇
    • ざわざわ落とさなくても闇しかないと思ってた

The END

このエントリはさっき一度間違って公開してしまったんだけど、yuuki氏のアドバイスに従って予約投稿により平日にポストするとしようと思います。逆に被って埋もれてしまうかな。ま、それはさておき。

今回を以てYAPC::Asiaはいったん終了するとのことで、自分が参加したのは去年の今年の二回だけだったんだけど、今回も非常に楽しめました。

運営の方々、スピーカーの方々、参加者の方々、お疲れ様でした。ありがとうございました。

f:id:carrotsword:20150822175357j:plain