builderscon2017 8/4(金)
概要
- 8/4(金) 10:30~
- 慶応大学 日吉キャンパス 協生館2F
- builderscon - 知らなかった、を聞く
buildersconは「知らなかった、を聞く」をテーマとした技術を愛する全てのギーク達のお祭りです。
感想
- 朝ごはん置いてあるのがテーブル席なので手を伸ばしにくかった
- LinuxConの通路に飯が置いてあって適当に食べられるの楽で良かった
- ストレージ・ネットワーク・OSSと多岐にわたるジャンルを扱うセッションだった
- 実際に運用されているサービスの裏側的な話も多かったので実用的だと思った
- LTは実用的な話はあまりなかったがネタとして色々面白かった
- DWHのトレンドもクラウドに移行している風潮も有り、オンプレ・クラウド・ハイブリッドや、それらに対して外部のサポートをどの程度得るかなど選択肢は増えており知識を貯めていかないと厳しいと感じた
- 研究テーマでもあるOSSについては、eXtremely Distributed Software Developmentというものを知ることが出来た
- 下記セッションを選ばなかったのを少し公開している
セッション聴講記録
Opening
- YAPC::Asia TOkyo直系カンファレンス
- 経験の共有による他分野のコラボが目的
- 多岐にわたる知識の集約
- Discover somethins new
- Announcemnet
- Sponsor / Lunch Session / Best Speaker / Blogs(feedback)
B オンプレクラウドを組み合わせて作るビックデータ基盤の作り方 11:00~11:30
- リクルートライフスタイル @nii_yan / yu-yamada(gh)
- エンジニアがビジネスにどんどん突っ込んでる社風
- 分析基盤
- 300人ぐらいが分析基盤利用
- pythonとかRとか各自好きなもので分析。非エンジニアもtableau使って。
- 独自ETLフレームワーク(YAML + SQL)開発
- データのやり取り. embulkライク.
- 数千テーブルあるのでどこにデータがあるのか分かりづらい
- Meta情報管理Web(METAL KING)
- 毎日データベースの定義ファイルを収集
- カラムに対するコメントなども管理
- 社員の入れ替わりが激しいが、これにより属人性をなくしている
- リアルタイムデータはfluentd + kafka
- DWHとは?
- 列指向が多い。
- 処理はだいたい追加のみ。更新削除しない。
- DWHの検討
- DWH比較
- まとめ
- データレイク構造でデータは1箇所に集約して、エンジンは用途に合わせて選ぶようにするのが良い
- メタデータ管理は可視性の権限管理はできている?
- データベース単位での権限管理はできている
- テーブル単位ではデータを送ってないので、やっていない。出来るとは思う。
- メタデータ管理でサービスのデータ構造が変わった時に、その情報はどう管理している
- 日次で収集しているので1日遅れで最新者が見れる
- 1年前のデータと突き合わせたいというときは?
- 実データは管理しておらず、メタ情報だけ管理しているのでできない
B OSS開発を仕事にする技術 11:30~12:00
- ChatWork
- OSS開発を趣味でしたい?業務でしたい? => 比率1:2ぐらい
- モチベーション
- 良いもの作りたい
- 楽したい
- コードで認められたい
- 開発を楽しみたい
- やること
- 無理な目標を立てる
- 巨人の方に乗る
- 気をつけること
- やったこと
- 大変だったこと
- OSSのやり方についてのテンプレートがない
- XDSDが近かった(http://www.xdsd.org/XDSD-WhitePaper.pdf)
- “オープンソースソフトウェアの育て方”
- 具体的な話
A マイクロチームでの高速な新規開発を支える開発・分析基盤 13:20-14:20
- Gunosy, @timakin
- 新規事業: LUCRA
- Go/Swift iOSアプリ
- 新規事業は3か月で。人もいない。
- Party Callot
- 分析基盤に併せて実装機能を選択
- 検索やお気に入りは後回し。記事が見られて、その効果を測定できることのほうが大事。
- 中で使っているものの話中で使っているものの話
- アーキ
- iOS
- 分析基盤
- 運用・開発問わずRe:dashで開発してる
- 営業でも開発よりも効率的なSQL書ける
- 主要KPI
- 根拠なくユーザーの好みを規定しない。仮説検証が絶対。
- メンバ3人全員がフルスタックだったのか?
- 実際書けちゃうもの。気合でフルスタックになった。
- 分析に力をいれてたが、実際必要だったのか?
- Gunosyのポリシーで「数字は神」
- ペルソナもいいが、やはり主観が入りユーザー目線が語れない
- 撤退基準(データを捨てる基準)はあるか?
- 7days retensionを見て、キャンペーンを切り捨てたりする
- まずA/Bテストで切り捨てるので、本番に行ったら邪魔にならない限り消さない
- ユーザーをグルーピング(パーソナライズ)してクラスタ化してるか?クラスタ化してるならどうやってる?
- パーソナライズは検討中
- ユーザーのセグメント内で人数の増減があったりすると、少数に振り回されることがあるのでは?
- 既存プロダクトで有効だった分析手法を活用する
- 今まで、そこで困ったことは無かった
- プロダクトの進化によってデータの持つ意味が変わっていったりして難しいのではないか?ノウハウはあるか?
A Anatomy of DDoS - Builderscon Tokyo 2017 14:30-15:30
- cloudflare @SuzanneAldrich
- Evolution of DDoS
- 2012 - 300Gbps
- 2013 - 400Gbps - NTP reflection
- 2016 - 1Tbps - IoT
- Botnet
- OSIモデル
- Application Layer Attack
- IPアドレスやuser-agentが予測できない
- Protocol Attack
- 対策
- Blackhole Routes
- RateLimiting
- Filtering L7 requests with rule
- UDP flood attack
- SYN flood
- DNS flood
A RDBアンチパターン リファクタリング 15:40~16:40
事前挙手
寿命: データベース > アプリケーション
- => データベースリファクタリング(和訳版は絶版)
- データは生き物。日々変わる。
- マジカルな初期設計の上に天才が仕様追加をすると、それ以上仕様追加できない状態になる
- データベースの不吉な臭い
- 依存関係の高いマルチDBアプリのリファクタリングについて
- サービス停止の壁 -> 政治と技術で解決する
- 移行中は過去の状態を保持する -> backupやレプリケーション
- 一度作ったDBは消せない
- DBの肥大化と共に問題は大きくなる
- RDBの知識は寿命が長い
- 現状、Mongo/Postgresマルチ。Postgresに統合したい
- PostgresのJSON型に移行するのは一つの手
- FDW使えばPostgresのテーブルのようにmongoを参照できる。参照系だけでなく、更新系もカバーしてくれる。
- カラム変更中のパフォーマンス確認時に注意すべき指標は?
- merkerel使えば、はてなのプロダクトで気にしている指標は確認できる
- MySQLでは見るべき指標はたくさんあるが、中でも気にすべきものは?
- 時と場合による
- テスト。アプリケーションを通したテストはやっているが、DBを直接テストするというものはあるか?
- 3つほどある。ストアドプロシージャ、データの中身、
- そのテストを実行するのはプロダクションDB?
- 投入前、後どちらも考えられる。時と場合による
A LT 16:50~17:50
QRコード
raspi + aws iotロガー
- serverlessで座標ロガー
- 1月7円
- DynamoDB -> CSVエクスポート -> GoogleMap読み込みでUIおk
「できる!!!Validation!!!」言及・参考情報
- 欺瞞に満ちたこの世界ではValidationなんてでいないのでは
- Validationやろうとする -> 死ぬ
カンファレンスアプリ
アイドルフェスのタイムテーブル
アドテクやってるエンジニアだけど、どうしても伝えたいことがある。
- 「多重影分身広告」「老眼殺し広告」
- アドテクやってるけどうざい広告多い。
- 広告を良くしていきたい
名札とベストスピーカー
- バリアブル印刷
- パラメータ毎のQRコードを印刷できる
我輩が作ったものを淡々と
Node8.3.0について // Speaker Deck
- Node.js v8.3.0が8月中にリリース
- V8エンジンが v5.8 -> v6.0 に
- turbofunによる再低下
正規表現の変形で作る独自記法Wiki Parser - 橋本商会 - Scrapbox
JSON-LD schema.org
MS Azure
- MS Auzreの簡単な説明
- Azureに関するアンケートの結果 => https://onedrive.live.com/view.aspx?resid=D6440F2C021205C7!54874&ithint=file%2cxlsx&app=Excel&authkey=!AOqQHoi3FrPkpLY
その他、釣行していないセッションの資料
- DeepLearningによるアイドル顔識別を支える技術 / 2017-08-04 builderscon tokyo // Speaker Deck
- 横山光輝三国志 全文検索システム - Google スライド
- ブラウザ拡張のクロスブラウザ対応についてどう向き合っているか #builderscon // Speaker Deck
- Building high performance push notification server in Go // Speaker Deck
- Goで実装する軽量マークアップ言語パーサー / Gohn: parser written in Go // Speaker Deck
- Building high performance push notification server in Go // Speaker Deck
- 真のコンポーネント粒度を求めて // Speaker Deck
- 複雑なJavaScriptアプリケーションに立ち向かうためのアーキテクチャ // Speaker Deck
- Haskellを使おう // Speaker Deck