YAPC::Asia Tokyo 2015に行ってきた
最後のJPA主催YAPC::Asiaに参加するべく、社長と交渉してYAPC::Asia Tokyoのチケット代&宿泊費&旅費を会社支給にしてもらった沖縄在住のadokoy(Twitter: @adokoy0001)でございます。
場所はビッグサイトの会議棟(あの逆ピラミッドの中)で、なにげに初めて入るので道に迷いました。
今年は沖縄の知人エンジニアも数名参加していたので、その日のイベントが終わったら近くの居酒屋で二次会というパターンが3日間続きました。
去年のYAPC::Asiaは毎晩貸し切りのバーでエンジニアと交流するチャンスがあったのですが、今年はDay 1の夜だけだったのが個人的には少し残念でした。(沖縄から来た知人と毎晩飲んでいたのですがw)
ということで、以下、印象に残ったことや学びのあったセッションを備忘録代わりとして書いていきます。
Day 0: 前夜祭
今回は2トラックで30分のセッションを3セットという流れ!
つまり合計6つのうち3つは見れない・・・ので、泣く泣く見たいセッションを選びました。ほぼ無限に湧き出る缶ビールを飲みながら前夜祭開始!最高の夏。
うずらさんによるPHPのお話 - "PHP帝国の逆襲!"
PHP有識者のうずらさんが発表中に時折「カシュッ ... ゴキュゴキュ ... フー ...」と言いながら進められたPHP7のお話。
PHP5.6から6をすっ飛ばしていきなり7になった理由は割愛!色々と膨大な発表資料が用意されていたようですが、聴衆のご意見により大部分が割愛されてしまいましたw
個人的には以下の点に興味を持ったので後で調べてみようと思います。
- PSR-7の詳細と実戦投入の実績があるオススメ実装等
- PHP6周辺の事情
- 各WAFのパフォーマンス
"Perlワンライナー入門"
私はあまり使うことはないのですが、ワンライナー独特の書き方などに興味があったのでちょいと聴講。
-lオプションや-nオプションを使えるようになりたいなと思いました(小並感
あと、String::Trigramをuseしてワンライナーを書けばかなり高度なサーバ管理作業ができるので便利ぽかったです。
"我々にできるOSSとそのコミュニティの育てかた"
現在トレジャーデータ所属の@tagomorisさんのお話。
fluentdとか具体的なものではなく、OSS一般でどのようにそのコミュニティを発展させた方が良いのかというお話がメインでした。
いろんな人を巻き込んで良いコミュニティが育つのは、意外にも「公開時点で動きはするが、機能の充実度や完成度は低め」のものだという話は面白かった。たしかに、初めからほぼ完成されていて特に不満のないOSSならばそれを改善しようという欲求が生まれにくく、活発なコミュニティになりにくいところがあると思います。
Day 1
オープニングが終わって会場はそのまま、Perlの生みの親 Larry Wall のセッション!
"メリークリスマス!"
もちろん私は英語力がないので同時通訳のレシーバーを装備。Larryはホビットの冒険と指輪物語が大好きで、発表内容もそのメタファーがかなり多め。
発表タイトルは"メリークリスマス!"、これはPerl6の正式版をクリスマスにリリースするという宣言でもありました(今年のクリスマスとは言っていない。いや、言った!)
"Web由来の組み込みエンジニアの半年間のすべて 〜WebとiOSとBLEとハードウェアデバイスのこと〜"
webエンジニアの方が会社を辞め、ハードウェア製造業を起業した話。
ソフトウェアならばリリースした後に発覚したバグは比較的簡単に対処できますが、ハードウェアを作って出荷するような業態だとそれが難しく、まず工場で生産ラインを作るまでにしっかりとテストをする必要がある、など、意識の違いを感じました。
webエンジニア時代に得られたスキルが工場管理のアプリ作成で役に立った等、かなりいい話が聞けました。
また、電気回路の知識の無さを補うため、その手の業界で働いていたシニアエンジニアを「エンジニアモード」というサービスを使って探し、アドバイザーになってもらったとのこと。そういうアドバイザーをマッチングするサービスがあるなんて初めて知りました。
「本番でarduino使うのは、大学の入学式にお母さんと一緒に行くようなものだよね」という発言が個人的には名言だなと思いました。後半の文を今後積極的に使っていきたいです。
Matzさんのセッション
最後までトークタイトルはTDBのまま・・・と思いきや、「Toward Brain-aware Design」というタイトル。Rubyの父、まつもとゆきひろさん。
言語の設計についてのお話と、近年(あいまい)のシェルスクリプト再評価に乗っかったStreemという自作言語(というかフレームワーク的な?)の紹介がありました。
とりあえずRubyで「やらなきゃよかった」という設計がPerlやLispに影響されたものだったというのは納得でしたw
また、内部的な振る舞いを決定する型については「プログラマが型による微妙な振る舞いの違いを意識せずに書けるのが理想」「絶対に型は書きたくないでござる!」と言っていました。
工夫すればOSが上手くCPUを使えるように組めるシェルスクリプト・パイプ、そのようなピタゴラスイッチプログラミングを書きやすくするStreemへの期待が高まりました。
"Podcastを支える技術、エンジニアのためのWebメディア、そしてCPAN"
ゆーすけべーさんのwada.fm運営のお話。
まずはCDNとかそういう高価なサービスを利用することなどは考えずに、普通に配信しても速度的に意外と大丈夫とのこと。でも.fmドメインが高いのはネックらしいです(ですよねー
Podcastをやるようになってからはマイクにこだわるようになったとのことで、私はさっぱり分からなかったのですが、機材についてかなりマニアックな話が。
質問コーナーで回答した「カラオケボックスだと周りの音楽が入ってくるし、店員さんが勝手に入ってくることもあるからダメ。ちゃんとしたスタジオを借りてやった方がいい」という知見はムダ知識として雑談などに活かせそうでしたw
"Lightning Talks Day 1"
ライトニングトークで知人の@gongoZさんがトーク!
PHPのregister_globalsという凶悪機能についての割りと真面目で面白いお話でした!
PHPほとんど使わないのですが、ヤバさだけはかなり伝わりましたw
みなさん、サポートがまもなく切れるので5.4以上に頑張って移行しましょう。
Day 2
最終日。途中でショルダーバッグをどこかの会場に置き忘れてしまい焦って探しまわった・・・見逃したトークが・・・(T_T)
見つけた人が届けてくださって、クロージング終了直後に受け取ることができました。感謝!
"Discover the Microsoft Azure"
Microsoft Azureのデータセンターの様子や、サービス内容の話などなど。
スケールが大きな話が多く、ずっと「おぉ・・・」と呟いておりました。
例えばデータセンターにあるサーバを集約したコンテナ(物理)の話では、そのコンテナ内のマシンの何割かが壊れたらコンテナごと破棄する、とか。大富豪っぽいインフラ運用にも思えますが、考えてみると中身を開けて修理することによるリスク(作業ミス、配線ミスによる障害の拡大)を考えると合理的!
データセンター1つの面積はフットボールコート16面分、ジャンボジェット機が32機入るぐらいの広さ、など・・・。
あと、機械学習関連のサービス、プラットフォームも充実している模様。
ちなみに最近ではAzureでLinux VMの数が増えているようです。
"データ分析基盤を支える技術"
このセッションは絶対に見たかったので早めに会場に入って着席しました。
高速な集計や柔軟な構造を実現するためにKVSやドキュメント指向なデータベースを使うこともありますが、やはりRDBはあらゆる面で便利なので使いたい。でも、データ量が増えるとパフォーマンス、スケーラビリティが悪くなっていく。
ならばパラレルRDBMSを使おう、というお話。
データ分析基板に関する技術を俯瞰するような形で説明がなされていましたが、かなり細かく深い話もあったので個人的に印象に残ったものを箇条書きでまとめます。
- Schema on WriteとSchema on Readの長所・短所
- ETLではなくHDFS上にELしておいて目的別にそれぞれTを並列実行
- MapReduceとTezの説明
- パラレルRDBMSプラットフォームはAmazon Redshift、Google BigQueryなど
- 自前でパラレルRDBMSを構築するより、まずはプラットフォームの利用を検討しましょう
- 可視化ツールはなんだかんだで商用ソフトがスゴイ(Tableauとか)
まとめ
クロージングで@lestrratさんが「YAPC::Asiaという名前はJPAのものというわけではなく、自由に使っていいものです。」と言っていました。主催は違えど、来年以降もきっとYAPC::Asiaはありますよね!
営業色が薄く「技術に対して純粋である」雰囲気のYAPC、今年も最高でした!