Mi in progress

研究者の道ではなく、エンジニアになることを決意した人のブログ。

JJUG CCCで聴講したセッションまとめ

Introduction to MicroProfile Metrics #ccc_i1

スライド

www.slideshare.net

メモ

  • Eclipse MicroProfileが提供するMetrics APIについてのお話
  • マイクロサービスを対象とした監視用API
  • アノテーションを利用することで簡単に実装できる

調べてみたこと

MicroProfileとは

公式サイト

マイクロサービスアーキテクチャに最適化したJavaを実現するための「MicroProfile」、Eclipseの正式プロジェクトに

JMX/RMIとは
  • JMX = Java Management Extensions
  • RMI = Remote Method Invocation
    • ネットワークを通じてプログラム同士が通信を行い、異なるコンピューター上にあるオブジェクトのメソッドを呼び出すための技法
JAX-RS, CDIとは

ディープラーニングシステムの導入と運用で学んだ事 #ccc_i2

メモ

AIのユースケース
  • 画像から販売量推定
  • 携帯電話の不正利用チェック
  • データからのレコメンド
  • 顧客セグメンテーション
  • PREDICTIVE MAINTENANCE
ディープラーニングシステムを始める上での注意点
  • まずはシステム全体を俯瞰して考えよう (Production ML Lifecycle)
  • 全チームを巻き込もう
  • 機械学習の能力とビジネス価値はマッチするのか?を考えよう
  • 機械学習を決定する前により簡単なソリューションがあるならまずはそれで始めよう
  • クラウドの費用

調べてみたこと

Eclipse DeepLearning4Jとは

公式サイト

公式YouTubeチャンネル

ゴンザレスさんおすすめのディープラーニング入門書

Deep Learning: A Practitioner's Approach

Deep Learning: A Practitioner's Approach

  • SkymindのCo-founderであるAdam Gibsonさん執筆の本、つまりDL4J開発者が書いてる本
  • ディープラーニング系の本は行列の話から始まりがちで、いわゆるバックグラウンドが数学の人を対象とした本が多い
  • それに対してこの本はプログラマがわかりやすい内容となっている

Scala製システムを4年間運用することで起きた様々なことへの対処 #ccc_i3

メモ

Mackerel4年間運用の軌跡
  • 194週連続新機能リリース
  • Playframeworkのバージョンアップ
  • sbtのバージョンアップ
  • 機能の廃止
  • チームメンバーの移動
  • プラットフォームをデータセンターからAWS
運用をし続けていくなかで学んだこと
  • 運用において大事なのは、採用技術とそれにまつわるコミュニティの近さ
  • コミュニティが近ければ、有識者や開発者からアドバイスがもらえる
  • スキルマップでチーム内の技術力を可視化
    • 各技術に対するメンバーのスキル状態を点数化することで、「このチームに足りないスキルはなにか」を可視化
    • 誰かが抜けたときの影響を点数で表せるから、「こういうポジションの人がほしい」という依頼を会社にしやすい

調べてみたこと

はてな研修用教科書

github.com

How to Properly Blame Things for Causing Latency: An Introduction to Distributed Tracing and Zipkin #ccc_i4

スライド

speakerdeck.com

メモ

  • 英語講演だったのでメモが全然取れなかった(´;ω;`)
  • 次回は取れるようになれてたらいいな...
  • Adrian Coleさんの英語は発音が綺麗でとても聞き取りやすかった
    • 「日本の皆さんはツイッターが大好きですよね。宮崎駿の作品が放映されるとすごい呟きますよね。」というお話に笑いました

調べてみたこと

Zipkinとは

公式サイト

分散トレーシングシステムとは

engineering.linecorp.com

Qiita - 分散トレーシングシステムのZipkinを使ってみた話

REST APIに疲れたあなたに贈るGraphQL入門 #ccc_e6

スライド

www.slideshare.net

メモ

GraphQLとは
  • GraphQL vs RESTという形で紹介されることが多い
  • RESTの次のパラダイム
  • AWS AppSyncを利用することで簡単にGraphQLが使える
  • リアルタイム機能とオフライン機能を簡単に実装できる
GraphQLの概要
  • GraphQLはAPI用のクエリ言語であり、TypeSystemを使用してクエリを実行するためのサーバー側のランタイム
  • クライアントがサーバーからデータを取得、変更、購読できるようにするためのデータ言語
REST APIの疲れるところ
  • API仕様ドキュメント管理が大変
  • 叩き方を理解するのが大変
  • ドキュメントと実装がずれてて喧嘩
  • 1ページを表示するのに何個もAPIを叩かないといけない
  • せっかくイベントドリブンに作っていてもサーバーとの接続は複数
GraphQLのメリット
  • クライアント、サーバー間のインターフェイスがクリーンに
  • イベントドリブンで書くことができる

調べてみたこと

GraphQL

公式サイト

AppSync

AWS AppSync