Developers Summit 2017 (1日目)

資料の一覧はここでまとまりそう。
http://codezine.jp/article/detail/9999

イカ、メモとか感想文。

確実に良くするUX/UI設計

http://www.slideshare.net/takayukifukatsu/nikkei-renewal

  • 正しいPDCAサイクルを回しましょう
    • 思いつきで行動しない
    • フィードバックを時間が無いから反映しない等では意味が無い
  • プロトタイピングに時間をかける
    • 競合はどうやっているか調査
    • レイアウト×フォント×サイズ×行間... などすべての組み合わせを試せるようにして、良いと感じるまで試す
  • ユーザに使ってもらう(テストをしっかり行う)
  • ユーザの意見をそのまま鵜呑みにしない。意見や行動から本当にやりたかったことを推測する
    • 意見から、何がほしいか考える
    • ビデオで記録し、振り返る。(ボタンを探す動作しているなら、すぐボタンが見つからない==悪いUI ...かもしれない)

Elastic Stackを利用した異常検知

スライドはまだないみたい。Elastic{ON} 2016と同じ内容っぽい?

  • Elastic Stack(ElasticSearch,kibana,beats,logstash)の紹介
  • Prelert (教師なし機械学習を利用した分析プラグイン?)を用いた異常検知
    • デモ:毎分の購買数のグラフから、瞬断(?)が発生し購買数が落ち込んだ時を検知する(人が見れば一発だが、自動検知が難しい部分)
      • × 閾値(夜間の落ち込みと区別できない)
      • △ 増減差分 + 閾値 (一応できなくはないが、閾値は日々変わるので頑張る人が必要。)
      • ○ Prelert(ちゃんと時間帯のアクセスを意識したモデルを過去のデータをもとにして作るので、夜間も区別できる)
      • (でも、 見逃してた異常データを学習することはないんだろうか。日常的に起きていなければ大丈夫?)
  • kibanaの見た目、だいぶ進化してる

ファルコン・ランチ

ほんとは「Cygames CTOが語る。最高のコンテンツを支える最高の技術」を見に行きたかったが、登録してなかったので。


Node.js の未来について

https://speakerdeck.com/yosuke_furukawa/next-node-dot-js-on-devsummit-2017

  • less is more
  • 今のnodejsは標準(ECMA,WHATWG,IETF等)に追従している段階。
  • v8
    • async/await が stableになるとか。(不安定でもv7でフラグつければ利用可能。)
    • ES Modules
      • CommonJSとES2016のimport/exportの相互運用性(interoperability)を上げる対応
      • 進捗ダメそう(v10になるかも)

グランブルーファンタジーを支えるインフラの技術

本日のお目当てだったセッション。

隣で話しかけてくれた方がいたが、話を弾ませることが出来ず申し訳なかった。

  • 王道を往くサーバ構成
    • LB-Web(Apache+mod_php/nginx+nodejs)-Cache(Memcache)-DB(MySQL MHA+水平分割)
    • オンプレミス環境。クラウドだと思ってた
      • ネットワークやI/O的にクラウドだと辛いらしい。
  • ログ
    • テキスト・課金ログなどの増大に伴い、分散したりしても辛い
      • AWSを活用。S3に集約、Auroraに入れたり、DWH分析など。
      • Aurora、MySQL(5.6?)互換なので、AWS切り替え前に使えてたツールがそのまま使えてよかった的な話も。頭良い。
    • kibanaとmackerelの可視化。
  • リアルタイム通信
    • チャット、マルチバトルのステータスとか
      1. 管理サーバとルームサーバを分けていたが、管理サーバがネック(要冗長化
      2. Redis PubSub、ブロードキャストの負荷とかで結構辛かった。
      3. Nginx + Lua でL7ロードバランサを作り、分散。ポート枯渇(TIME_WAIT)問題があったのでkernelもリビルドしてる
    • 団チャットとかはまだのような気がする。(Nodejs用のサーバ情報を返して、そこにwebsocket通信してるようにみえるから、まだ(1)っぽい?クライアントからの振る舞いだけだと(3)と区別はできんけども。)
  • タグシステム
    • サーバの情報を集約したりする
      • 環境(production)かどうかや、デプロイ可能かどうかといった付加情報も記録して、サーバリスト作ったり色々使える。便利だ。

新しいビルドターゲットとしての Webブラウザ。もしくは C/C++ で書く Web フロントエンドプログラム

  • AngryBotsをWebAssemblyで動かすデモ 10分ぐらいロードに時間かかった。
  • WebAssemblyはバイナリ、S式、C/C++、(あとRust?)などで書いて変換できる。バイナリ・・・
  • ベンチマークを取っていて、ネイティブと比べると、1.4倍ぐらいの遅さらしい。最近のCPU性能なら十分?
  • JITがあるといっても、インタプリタ実行でネイティブコードに落とし込むのも何度も呼ばれる関数に限る。ので、速度求めるならWebAssemblyは良さそう

監視・解析ツールから読み解く!トラブル対応&負荷対策

  • トラブルを検知するために色んなツールを使ってる
    • トラブルに対するツール(Munin,Kibana,New Relic,Mackerel,xhprof)の向き不向き

アプリケーションのログを埋め込むときに何か基準とか決めてるんだろうか。

Windows Holographicと始める 新しいコンピューターの形


Hololens ほしい。が、カードの上限額を伸ばさないと買えない・・・

晩御飯

以上です。