YAPC::Asia 2015に参加してきた(1日目編)

参加レポートYAPC::Asia 2015に参加してきた(前夜祭編)の続きです。

1日目

Merry Chrismass

Perlの開発者であるLarry Wallさんの発表でした。
Perlのことはよくわかってないですが、なんか毎年Perl6はクリスマスに出ると言われ続けていましたが、やっと今年のクリスマスにバージョン6が出るらしいです。
あとは、ホビット物語とかスタートレックもよくわかってなくてあんまり話がよくわからなかったです。。。すみません

でも、個人個人はエゴの集まりですが、仲良くやろうよっていう話は共感できました。
あと、Perlのやり方はひとつじゃない(“There’s More Than One Way To Do It.”)っていうスローガンは初めて知りました。良いなと思います。
自分自身も目的を達成することが大事で、やり方なんてのはあくまで手段だと思っているんで、それに対してやり方を限定してしまうとかはしたくないですね〜。

あと、同時通訳ホントにすごかったです!圧倒的感謝!
最近洋画を字幕で見るようにしてリスニングいけるやろ〜とか思っていたのですが全然ダメでした笑

Effective ES6

ECMascriptの話で、結構人がいて私は立ち見でした…orz

ざっくりまとめると、

  • JavaScriptは世界で最も柔軟な言語→柔軟すぎてjavascriptには罠がある
    • jsにはクラス定義がないので、無理やりクラスっぽく使う
    • newを忘れると関数として実行されるし、グローバル変数として実行されちゃう
  • ES6の登場、その機能について(詳しくはスライド参照)
    • ES6に正式にnewなしでもsyntax errorになるようになった
    • Allow function
    • Module pattern
    • strict mode
    • ブロックスコープ
    • 巻き上げ(関数で定義された変数は先頭で定義されちゃう)
    • などなど

正直、MatzのTBDの発表を聞くか迷いました。
スライドの自己紹介で中学生との身長比較の自虐笑いましたw
あと、開眼しないとjavascriptの本質を学べないらしい笑

ちなみに、Babelについては(というよりもそもそもJS自体)全くよくわからなかったので、tower-of-babelをちょっと触ってみようかなと思いました。
今JSを勉強しているところなので、もっとこの辺りわかるようにとにかくコード書いていきたいです。

HTTP/2時代のウェブサイト設計

togetterにもまとめられていました。
スライド資料と並行して読むと面白いと思います。
http://togetter.com/li/863416

ざっくりまとめると、

  • Webの応答速度とクリック率の関係
    • しかし、転送データやバンド幅は年々増え続けている
  • パイプライン問題などHTTP1.1には問題がある
  • そこでHTTP/2が出てきた
  • バイナリプロトコルの転送データ量の低減
    • テキストデータにすれば、その分データ量が大きくなっちゃうのでバイナリで
  • h2iコマンドのデモ
  • 今まではasset pipelineとか意識しなければいけなかったが、HTTP2ではデータ転送量をいかに少なくするかが大事
  • HTTP2での技術的特徴(詳しくはスライド参照)
    • 多重化
    • ヘッダ圧縮(繰り返し文字とかは圧縮しているよとか)
    • 優先度制御(各ブラウザでの優先度のつけ方はどうなっているか)
    • サーバプッシュ
  • HTTP2対応するには
    • HTTPS限定なので、証明書とか用意しなきゃいけない(無料証明書がもらえるようになるよ)
    • など

YAPCのベストトーク賞3位の人でした。本人曰く、狙ったそうでおめでとうございます!(ハムいいなぁ)
HTTP/2の方が速いよというデモなのに、HTTP1.1の方が早く表示されたのめっちゃウケた。
HTTP2はHTTPSじゃないと使えない。証明書の発行とかめんどくさいけど、無料でゲットできるサイトがある。
正直HTTP2とか、H2Oとかは全然知らなかったのですが、わかりやすい説明でした。
(途中から新しい規格なんだ…!と知るくらい)

【sponsored contents】若手エンジニア達の生存戦略

座談会形式でした。
togetterにもまとめられていました。
内容とかは http://togetter.com/li/863447

正直、あんまり生存戦略的な話はなかったです。しょっぱなに(緊張をほぐすために)ビールで乾杯から始めてて笑ったw
みなさん新卒2年目で私と同期な人がほとんどだったのですが、やっぱりすごく優秀だなという印象でした。
若手だからという特権で、「これ使いたい」とか「これクソですよね」とかバンバンものを言えるとか。
それに対して「じゃあ直してよ」と言われて直せばその分評価される。という自分にはないものを持っていました。

あとは、コミュニティの話。
「コミュニティに貢献しようと思った理由は、Perl への恩返し。業界として盛り上げていくぞ!っていう意気。」
という言葉を聞いて、自分もよちよち.rbというコミュニティに参加していて、Ruby界隈もコミュニティが活発で盛り上げていて、自分も盛り上げていこうという気持ちになりますね〜。

そして老害の話
若手の人たちにとっての老害は、「古い文化を尊重してなんでも却下するのは老害なのでは」
幸いにも、うちの会社には何かしたい!と思った時に、なんでもかんでも却下する人はいないので恵まれているかなと思います。

やらかした時の話
「誰しも一度はやらかすので、やらかしても被害を少なくするとか、もう2度と同じ間違いを繰り返さない」
という言葉を聞いて、自分もよくやらかすんですが同じ間違いをよく繰り返してしまうんですよね。耳が痛かったです(>_<)

あと、やっぱりプログラミングが好きなんだなと。

このあと、休憩スペースでpapixさんと話す機会がありました(自分から無理やり話かけた感あるけど)
同期とは思えないほど優秀な人で、すごいなとしかおもわなかった。
papixさんはGaiaXの人で、新人研修の話をした。
新人研修で、会社合同で研修をしようという話があるらしい
基礎的な部分は会社でやるとして、応用編みたいなのを新卒エンジニアを集めて、「この会社はこの技術が得意だから〜」みたいな話を持ち寄って話すのも面白そうみたいな話をした
そういう話面白いなと思ったし、自分自身で他の会社と関わりをもっともってこういう企画をやりたいなと思った(せっかくRubyを触っているわけだし)

うっかりをなくす技術

ざっくりまとめると、

  • 安全工学とか人間工学(ヒューマンエラー)の視点を交えて説明
  • ヒューマンエラーの定義は、システムから要求された行為から逸脱したもの
  • 人的要因は、指差し確認などして意図的に意識レベルを高める(目視だけだと集中力が低い)
  • 環境要因は、複雑な手順とか、複雑なコードだと間違えやすいので、わかりやすくするとか間違えても大丈夫なような状態にする
  • 間違いに気づきやすくするには。ハインリッヒの法則がある。1つの重大なインシデントの裏には30の小さなアクシデントがあって、100のニアミスがあるというもの
    • これらは全て似通った要因からなりたっている
  • コードでも、リーダブルコードを読んで読みやすいコードを心がける

タイトルが「うっかりをなくす技術」なのに、最初にACアダプタを忘れたという話をされていてとてもおもしろかったです笑
結構私は、人的要因でうっかり間違えたりするほうなので、指差し確認とか、声に出すとか、意識的に集中力をあげるような工夫はしていきたいなと思いました。
あと、何度も同じ失敗をしてしまうことも多々あるので、その裏にある小さな原因を考えるようにして、それをひとつひとつ潰せる努力をしたいと思います。
それにはKPTのProbremで、ふせんの深堀りをした後のTryはすごく有効なんじゃないかなと個人的な感想です。

LT

LT一覧はこちらです。
下記は資料一覧です(一部)

印象に残ったLTのざっくり感想を

  • もうね、すごく面白かった
  • しょっぱなの「行ってきたシリーズ」はほぼネタで、LT感満載でした笑
  • Gitのハッシュ値ってこうなってるんだ…!という驚きが
  • mackerelから、Qiitaに記事投稿する話、発想が面白いと思った!
  • 2次元の嫁がいないので、あんまり共感できなかったけど楽しそうだった笑
  • 雨事情、退勤時に教えてくれるのすごくよい。Ruboty-pluginであってもいいかなと考え中(現在の天気を教えてくれるのはありますが)

余談

懇親会があったのですが、別のイベントページで申し込んでおく必要があったみたいで、申し込みをしてなくて参加できませんでした。
参加したかったああああああああああああああああ!!!!!!!!!!!!!!!!!!!!!!!泣

前夜祭の記事でも書きましたが、懇親会で仲良くなって知り合いをもっと増やしておきたかったなぁと思いました。