YAPC::Asia Tokyo 2015 で聴いたセッションのメモや感想

  #conference

最初で最後のYAPC。
聴いたセッションのメモとか感想とかをぽつぽつと。

前夜祭

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

  • Hackとの速度勝負
    • Hackが前に流行ったけどPHP7では基本速度は大差無い
    • コミニュティが安定しているPHP7を使ったほうが無難
  • PHP使う…?
    • スタートアップなどスピード勝負でガリガリ書きたいときは適している
    • SlackもPHP使ってるしまだまだオワコンじゃないよ!

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

  • Elasticsearchって重要語句抽出の機能あるのかしゅごい
  • トピックタイトルは短く誤解のないように作成するというのがなかなか定量的に検査しづらそうだなぁ

我々にできるOSSとそのコミュニティの育てかた

  • とにかく全部英語
    • コミニュティの母数を大きくするためには公用語の英語を使う
    • ロシア語のissueを日本人が読みたくないように、日本語のissueを海外の人は読みたくない
  • 最低限の機能だけを実装した不完全な状態で公開する
    • issueやpatchを送ってくれる人が出てきて自然とコミュニティが形成される
    • 完璧すぎるとissueやpatchがなくて使われてる感が無い

1日目

メリークリスマス!

  • perlの父ラリーさんのありがたいお話
  • 肉声で聴きたかったので、翻訳機なしで挑んだらほとんど理解できなかった(´;ω;`)ブワッ
    • そもそもHobitとLoad of the Ring読んだことなかった…
    • でもすごい聞き取りやすい発音と速度(ついでに髪サラッサラ)で惚れた
  • 基本自分語り?
  • perl5をHobit、perl6をLoad of the Ringに対応させて、見た目は違うけど根底にあるものは同じだよという話
  • 文脈把握できなかったけど"-Ofun (Optimize fun)“と"I FAIL GOOD (正しく失敗する)“がとても印象的だった
  • ラリーさんはLinux Mintを使っていてalias p='perl'だった
  • perl6は今年のクリスマスに(なるべく)出すらしい

Managing Containers at Scale with CoreOS and Kubernetes

  • k8sのイントロダクション
  • サービスの無停止デプロイのデモ
    • proxyから少数nodeを抜く
    • 抜いたnodeのアプリケーションをupgrade
    • proxyに戻す
    • の繰り返し
  • dashboardのデザインがオサレ

TBD

  • rubyの父matzさんのありがたいお話
  • rubyをdisって一番コミニュティに角が立たないのはわしじゃ
    • rubyの最disりポイントはperlの影響を受けたこと
    • 2番目はlispの影響を受けたこと
  • 言語アーキテクチャは振り子のように移り変わる
    • 遠い昔に発表されたものが、時間が経って再評価されたりする
    • GCはかつてプロセスが重くなるからと避けられていたが、JVMが採用し再評価された
    • 処理速度重視から、OOPのようなデザイン重視?へ移り、また速度重視になりつつある
  • streemはピタゴラスイッチみたいで楽しいよ

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

  • はてなブログのとても生々しい話
  • かつてはてなブログはModel層, View層, Controller層, コピペ層で形成されていた
    • 3回コピペされたコードはDRYの精神に基づきコピペ層へ配置される
  • オブジェクト指向入門, DDD本などを輪読してリファクタリング
  • 大規模な改修を続けられるって健全な環境だなぁ

Electron: Building desktop apps with web technologies

  • electronの紹介
  • electronの開発チームは現状1人らしい
  • 既存のjsライブラリを使えてとてもエコな印象

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

  • 自分で使いたいサービスを作っていたら会社になってた話
  • かわいいは正義

2日目

ISUCONの勝ち方

別記事書いた

実はホットでオープンな Microsoft Azure

  • azureは1regionあたり16datacenterあってサーバは60万台
  • サーバを詰め込んだコンテナ(物理)でDCを構築している
  • 壊れたサーバは使わずに放っておいて、一定数壊れたらコンテナごと破棄する

MySQLで2億件のシリアルデータと格闘したチューニングの話

  • CPU 2core, memory 8GBでレコード2億件のDBを運用する
  • countクエリが1分超え
  • primary keyをランダム値にしていると痛い目に遭う
  • indexの再構築をなめてはいけない
  • scale up,outできない環境がただただつらそうだった

データ分析基盤を支える技術

  • データ分析周りのOSS, XaaSの俯瞰的な紹介
  • データ分析周りで出てくるETLはExtract Transformation Load(抽出, 変換, 登録)の略
  • 分析基盤の構築・運用はとてもしんどいのでSaaS使ったほうが楽

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

  • 2011年頃にラック契約していたオンプレミス環境がEOLを迎えるにあたってAWSへ移行した
  • 大体1月2,3人での移行作業
  • RDS
    • たまにネットワーク断が発生するからアプリケーションで要フォロー
    • create tableやindex, 外部キー制約などを除外しておくとdump dataのimportは早くなる
      • perconaのmysqldumpにはそんなオプションがあるらしい
    • timezone変更できないのでtimezone関係の関数を使っている場合は要注意
    • 移行時のwrite timeを短縮するためにmulti-azからsingle-azへ一時的に変更
  • session storageとしてyrmcdsを使っている

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

  • hb-acnsを導入した時の話
    • nagios, cactiの設定を登録するシステム
  • 全方位の社員を説得して味方を増やす
    • CTOを味方につけて、個人の思想・プロジェクトではないことをアピールする
    • メリットをとにかく主張する
    • トラブルシュートは最優先で行う
      • ユーザは一度でもつまずくと離脱してしまう
  • 布教活動をする
    • ドキュメントを残す
    • ハンズオンをして強制的に試す環境を作る
  • 効果を定量的に計測しておくと良い

とても楽しかったですまる


comments powered by Disqus