Con_HumiのDEV_LOG

開発メモやガジェットのことをつらつらと.

builderscon 2017 に参加しました!

8/3(金)~5(土) に開催された builderscon tokyo 2017 に参加しました。

builderscon.io

会社のスポンサー枠のチケットを利用させて頂き、初めての参加でした。 会社には大感謝です。

builderscon とは?

buildersconは「知らなかった、を聞く」をテーマとした技術を愛する全てのギーク達のお祭りです。 buildersconではトークに関して技術的な制約はありません、特定のプログラミング言語や技術スタックによるくくりも設けません。 引用:builderscon - Discover Something New

という、技術のさまざまな話題を扱うカンファレンスです。 YAPC Asia という Perl その他のカンファレンスの運営スタッフの方が運営されているとの事。

当記事以外にも沢山の方が参加エントリーを書いているのでそちらもご覧下さい。

Feedback - Blogs: builderscon tokyo 2017 - builderscon

感想(結論を先に)

builderscon は初参加でしたが、さまざまな分野・レイヤーのセッションがあり、 とても楽しめました。

さらに、イベントホールで提供されるコーヒーやジュース、ランチセッションの お弁当など飲食物がどれも美味しかったのが印象的でした。 豪華な朝食も提供されていたらしいのですが残念ながら朝食には間に合わなかったので 次回は絶対に早起きして朝食も食べたい!

また、他のエンジニアの方の努力の成果を聞いていろいろと高まったので、 業務に使えそうなもの/そうでないもの区別なく、幅広い分野の技術と触れ合って 楽しめたらいいなと思います。

このブログも放置気味なので活用していきたい気持ちです。

今年はスポンサー枠での参加でしたが、次回はチケットを買って参加したいなと 思いました。個人スポンサー特典の大切りしゃもじ?がチョー魅力的でした。

まとめると、
とても楽しく刺激的でまた行きたいと思ったのでまた参加します!

よろしくお願いいたします。

以下、参加セッションメモ覚書き

0日目(前夜祭)

確か内容拡散ダメだったので書けないですが、さまざまな会社のプロダクトのヤバイ話やスゴイ話を聞けました! 「わかるわかるー!!」や、「スゴーい!!!」って感じでした。

1日目

初めてのMySQLチューニング -データベースは怖くない!-

  • 資料など
    builderscon.io
  • mySQL チューニングの話
  • my.cnf 編
    • デフォルトダメ!ゼッタイ!
    • mysqltuner を使うといろいろ警告してくれる github.com
    • テーブル毎にファイルを分ける
      • ファイルアクセスが速くなる? ⇒ my.cnf に設定を書く & ダンプ・リストア
        • 仕組み的に速くならないのでは?という指摘あり。
    • 仮説・診断・設定・計測 が大切
    • チューニングは継続!
  • レプリケーション

  • 不要レコードは設計⇒退避⇒削除

  • mysql5.6 以上からは GTID が使える!

マイクロチームでの高速な新規開発を支える開発・分析基盤

  • 資料など
    builderscon.io

  • 開発スピードが速いとモック作っても意味ないことも

  • やる・やらないのきりわけが明確だとぶれないし必要最低限のものを最短の期間で作る事に近づく
    • 要件を見直して理由含めて明確にする事が大事
  • Infrastructure as Code を極力実施
  • CircleCI便利 早い
  • マイクロサービスやりすぎ良くないらしい
    • 細かく分けすぎると大変になる。
  • 可視化は redash 、redshift にデータをぶっこんでいる。
    • エンジニアではない方がRe:dashで SQL書いて実行してガシガシ分析している
      • スゴイ
  • iOSだとpush通知の許諾がされにくいが Android だと許諾率がよい
  • アプリやデバイスからのログの入り口 ⇒ AWS:kinesis
  • データで確信が持てない施策は極力許さない
    • ペルソナを想定した仮説検証より、ログから取れる数字を使った仮説検証
      • ペルソナは宝くじのようなもの、ログから取れる数字は統計的な値として使える。
  • 開発段階で最小限に機能を絞る
    • 新機能はABテストをやって、リテンションに効果のあるもの「だけ」残す
      ↑リテンションは、アプリを再度使ってくれる事
  • ユーザーが少ない段階では、母数が少なくても有効な分析だけを実施
    • むやみにさまざまな分析を行わず、手法の特製を知った上でやる

Haskellを使おう

Kubernetesのクラスタ1つに開発と本番運用に必要な環境を詰め込んだらコスパが良くなった話

  • 資料など
    builderscon.io

  • 初心者向け

  • 開発者の労力含めて安くなる話
  • 開発・本番・運用すべてk8sで実装
  • 設定をテンプレート化して外部から変数など取り込めるようにする ⇒ ksonnet
  • Ingress ← これが面白い感じだった。
    • URL のルーティング
    • リバースプロキシを簡単に構築
    • Let’s Encrypt とかと簡単に連携
    • gce-ingress-controller / nginx-ingress-controller
    • nginx-ingress-controller
      • 出来上がるものは nginx のリバースプロキシ
    • Ingress でk8sクラスタのサービスを利用する時にOAuth認証とかも出来る。
  • GitHub は無償で Organization が作れて OAuth2 のプロバイダとして利用できる
  • nginx がアクセスを全部受けていろいろルーティングする 良しなにやってくれる
  • Q&A
    • kube-lego を使おうと思ったわけは?
      • あまり比較していない
    • ECS や Docker Swarm との違いは?
      • 他のを使った事ないです
    • Kubernetes の導入前と導入後で開発コストがどのように変わったか?
      • Kubernetes を導入すると同時にマイクロサービスアーキテクチャに 変えたので効率は上がった
      • 金銭的には、GCEのプリエンプティブなノードを組み込む事ができ、 上手く使うとVM単価が8割ほど安くなる
    • Kubernetes の リソースとリミットの知見について
      • 試行錯誤中だが、正しく設定しないとメモリが溢れてVMが落ちる

2日目

ここまで出来るmruby

  • 資料など
    builderscon.io
  • 軽い
  • mruby-clicli コマンドが使える
  • 組み込み先にファイルシステムがない場合もあるのでmrbgem はコンパイルされて 1バイナリに組み込まれる
  • mruby の開発は ruby or C
    • 計算コストが低くてさらっとかけるところは ruby で書く
    • 計算コストの高い処理を実装したり、システムコールAPIを叩くところはC
  • mruby-mrbgem-template
    • mruby 開発を色々便利に書ける
  • mruby で LL のもう一歩先へ
  • mruby と自分のソースコードを一緒にガシガシデバッグしていく
    • gdb をつかう ctag とか gtag をちゃんと書いてねー
  • SEGV
    • mruby やる前は諦めてたが、mruby やったら解決できる!
  • 社内で開発するOSSあると良さそう!
  • mrbgem されていないライブラリがたくさんあって著名なコントリビュータになれる!
  • FastCertificate
    • アクセスした時点でSSL証明書を Let’s Encrypt で取得してSSL通信できるようにする。
    • エンドポイントをRedisにもたせてあればそれを使うしなければLet’s Encryptする
  • 負荷制御の自動化
  • LOLIPOP のコンテナサービス
    • コンテナが定期的に再起動
      • 良くもならないし悪くもならないのはメリット
  • madam 便利かも json で ipvsadm の設定を入れられる
  • middleware + mruby = 強い!

小さく始めて育てるコンパイラ

  • 資料など
    builderscon.io
  • 言語の処理系を作った事がある人が会場に沢山いて皆さんスゴイ
  • 自分は電卓もまともに作った事が無い感じだったので、高度すぎました…
  • ソースコードの解釈とかスゴイ難しそうだけど面白そうだなーと思いました。
  • まずは電卓作るところからはじめてみようかな…

OSSで始めるセキュリティログ収集

  • 資料など builderscon.io

  • セキュリティリスク・侵入への気づき方は外部からの指摘は多い

  • 操作ログどうする?
    • audit が良さそう
  • audit はどう取るか?
    • go-audit
      • Slack 製 json で出る
    • osquery 良さそう
      • sql で OS の中身を選択できる
  • osquery 使うと監査ログ取れるし、これサーバーだけでなくMacとか社用PCに入れても良いのではと思いました。
  • ログイン履歴から多要素認証できるの良さそう
  • 守りつつも運用負荷を軽くしたり多様性を広げる形のセキュリティすごい
  • セキュリティ担当者に聴きに来てほしい感じだった。

OSS貢献超入門

  • 資料など builderscon.io
  • まずは好きなリポジトリをウォッチ
  • ライセンスとかOSSの決まりごとはパッチとかイシュー投げてから考えようぜ!
  • ソースコードやドキュメントを追いかけることをやっていく。
    • マイナス検索
      • Qiita とか StackOverFlow 抜かしてみる
    • 正直ボク(講師)にしか参考にならなかったけどすごく参考になる本
      • 「熱血アセンブラ入門」
        Amazon CAPTCHA
      • わからなくても読み進めてみることが大事。
      • 時間を見つけて読むことが大事。
    • リポジトリをウォッチしていく
  • contribute の仕方は contribute xxx でググる!またはcontributeページを読む