はらへり日記

腹に弾丸

YAPC::2015に行って来ました

行って来た

YAPC::2015に行って来ました。

大きなカンファレンスに参加したのは初めてだったのですが、本当に行ってよかったと思いました!

特に1日目の懇親会ではいろんな人と話すことができて、とても刺激的でした。

イベントの大小関わらず、カンファレンスやら勉強会やらでは外には自分の何千倍もできる同期がゴロゴロいることを知れたり、Twitterやらこの界隈での有名人に絡めるチャンスがあるところがとてもよいことだと思っているので、その意味でトーク以外も充実したイベントでした。

トークは言わずもがなのクオリティです(ggればスライドとかいっぱい出てきます!)

2日間、スヤァしてたりなんやらでフルで聞いて回れなかったのですが、聞けたものに関して備忘録的に感想書きたいと思います。

聞いたトーク

HTTP/2 & クラウド時代のウェブアプリケーション実行基盤

トークの詳しい内容に関しては僕が説明してもしょうがないし資料もあがっているのでこちらをご覧いただければと思います。

HTTP/2.0は個人的に資料を集めたりドラフトを読み込んでおり、理解に苦戦してる最中だったので迷わずに行きました。

内容構成としては前半がHTTP/1.1の復習とHTTP/2.0の概要。

その後に具体的にHTTP/2.0に踏み込み、最後にHTTP/2.0のWebサーバであるH2Oの宣伝解説を中心に近年のWebサーバの実装のお話、という感じでした。

随所で言われていることですが、HTTP/2.0そのものはともかくブラウザやWebサーバの実装がまだまだ追いついていない印象が強い気がしました。

あとは単純にHTTP/1.1から移行するだけではHTTP/2.0の恩恵が受けづらく、むしろ現状の実装次第で逆効果になってしまうこともあることがよく理解できました。

後はH2Oはとても素晴らしいですね。実際にVPSに突っ込んで触ってみて概要をつかめたらと思いました(リポジトリこちらにあります)。

後は優先度制御の説明がものすごく分かりやすかったです。今まで全然理解することができずチンプンカンプンだったのでそれだけでもこのトークを聞いた価値は何にも代えがたいですね。

見事、今年のYAPCでトーク3位を獲得していました。おめでとうございます!

WebAudio で入門する信号処理

資料はこちらの下部にあがっています。

昔、Web Audio APIを触っていたことと、今後も時間があったらぜひ触りたいと思っていた技術だったので聞きに行きました。

スライドを見るとわかると思うのですが、結構ぶっ飛んだ内容が多くて笑いの絶えないトークでした。

Web Audio APIダイヤルアップ接続のモデムを再現したり、モールス信号を送ってみたり、Lチカしてみたり(!?)、とにかくそう来るか、という実装とデモがたくさん見れてとても面白かったです。

cho45さんもおっしゃっていましたが、Web Audio APIの強みはJSで直接波形をいじれること⇒すなわち音の波をいじってできることは全てできるとも取れるので、今後の動向が楽しみな技術の1つであり、その可能性を見せていただいた気がします。

ちなみに、「仕様変更が多すぎて動かないゴミコードが散っている問題にはどう対処すればいいですか」と聞いたところ、「基本的なところは変わらないので、空気を読みつつ変更に耐えるのがベター」と言われました。デスヨネー

esa.io - 趣味から育てたWebサービスで生きていく

資料はこちら

esa.ioというサービスの誕生秘話や運用方法、開発の際に心がけていることをお話されてました。

全体的に技術の話よりも自分のサービスに対するそこはかとない愛や、いかにユーザの声を迅速にモダンに解決していくかのアプローチという話が中心でとてもよい刺激をうけることができました。

起業とまではいかなくても、自分の作ったサービスがみんなに愛されるようになりたい願望は僕にもそこはかとなくあるのでとてもモチベーションがあがるよい話でした(\( ⁰⊖⁰)/)

Adventures in Refactoring

資料見つけられませんでした…(あがってたら教えて下さい( ꒪⌓꒪))

GitHubの中の人によるリファクタリングのお話でした。

トラックAだしトーク前には「今日はテクニカルなことをめちゃたくさん話すから早口すぎたら言って。遅くするから。」って同時通訳の人に言うから怖かったけどなんとか聞けた。

具体的なコードを出しつつ、いろんなことをおっしゃっていたけど、超ざっくりまとめると以下のとおり。

  • リファクタリングの目的

    1. 開発者の幸せ
    2. 性能の向上
    3. 将来の作業に自信を得る
    4. 開発者の教育
  • リファクタリングのテクニック

    1. コードの中に幸せを増やす - スタイルガイドを作る
    2. 動詞の型 - 動詞を名詞化する
    3. 使い勝手のよい抽象化レイヤーを入れる
    4. 使っていない抽象化レイヤーを取り除く

他にもいろいろ言ってたけど、詳しくは他の方のブログで…。

印象的だったのは2つで、リファクタリングによってプロダクトの振る舞いが変わっては絶対にいけない」ってのと、リファクタリングではよくバグが見つかるが絶対に直してはいけない。絶対だぞお前ら!絶対にだ!」ってことですね。

後者に関しては前者に違反するし、そのリファクタリングによって新しいバグが出た時にそのボトルネックリファクタリングなのかバグなのか分からなくなるからと言っていました(それに気づくのに2年かかったらしい)。

辛いことをやめる!から始まる業務改善とInfrastructure as Code

資料はこちら

おー、Infrastructure as Codeの話かー。理解できるかなーと思って聞いてみたら相当にエモい話だった。

業務改善をする上で何を意識して、誰をどう巻き込み、結果的に何を生み出さなければいけないのかという話を熱く語っていらっしゃいました。

僕は社会人1年目で世渡り術が全然わからないので、この話をこのタイミングで聞けて本当によかったと思います。

内容で一番印象に残っているのは、「いくらイケてる仕組みを取り入れようと上長に訴えても何も下準備がなかったり味方がいないと『それ、君が一人で勝手にやろうと思ってることでしょ』で流されてしまう」ってところですね。

これを含め、いろんなことを肝に命じながらエンジニアとして業務改善そして自分の幸せ、昇給をしていきたいと思います!

感想

  • 技術のアンテナの幅がとても広がった(視野が広がった)
  • 世代関係なく、いろいろなエンジニアの考えを聞いたり、会社の話をしたりできてとてもよかった
  • LT出たかった

今年で最後なのが本当に残念ですが、またどこかの勉強会とかでYAPCで会った皆様に会えたら嬉しいですね。

それまでコツコツと修行をしようと思いますヾ(´∀`)ノ