GDG DevFest Tokyo 2019 行ってきた | Advent Calendar 2019
IT系の勉強会行ってきた Advent Calendar 2019 - Adventar の25日目
メリークリスマス!今年最後のアドベントカレンダーです!
今年も無事に一人で埋めれたので満足!
動画にチラッと映っててYouTubeデビューを飾ってた。
基調講演
- DevFestとは?
主催はGoogleDeveloperGroup、毎年世界規模で1回開催されてる - 特定技術に絞らず色んなものの技術をつなぐ、各種入門からエキスパート
円周率31兆桁世界記録への道
- 3/14に円周率計算でのギネス更新
- 円周率計算の歴史、人類の進歩は円周率の計算の歴史
4000年前 3.1くらい
1400年 10桁
1949年 2037桁
1973年 100万桁
→31兆桁は170TBくらいのメモリが必要、HDDでは計算が追いつかない - スーパーコンピューターをフル活用する並列プログラミングでの難易度が上昇
- GCPを活用
計算には121日かかった、費用20万ドル
→今なら3万ドルくらいでできそう
4ヶ月見守る。Datadog と Stackdriver を活用 - 周りの支え
GCP環境使える、上司のサポート、技術アドバイスの同僚、広報チーム、要望を聞いてくれたPM - クラウドの力を借りて難しいものを簡単に
- 11歳からプログラミング、文系を進められるくらいの数学能力
とりあえずやってみる。どの参考書がいいかなー等に時間をかけすぎない - 4回Google落ちたけど、5回目に受かった。 Linkedinでせっかくだし受けない?ってきた
- インポスターシンドローム
自分の評価が低いが周りからみたら全然そんなこと無い
→当初は円周率の計算が終わった際に個人ブログ等で発表しようかと思っていたが上司が広報を通じてアナウンスするべき等をすすめる - 英語はできたほうが道は広がる
ネイティブにはなれない、聞きやすい発音を心がける。勉強はネトゲ、ハリーポッター、Youtube - 英語に近道はない、練習は質より量、人によってゴールは違う
- 今までにない新しい技術に囲まれてる。企業文化とチームワークに支えられて実現できた。継続は力
パネルディスカッション
- 転職タイミングについて
自分のバリューが出せない
時代の流れOSからWeb、社内ではやりたいことやれない
日本の会社は異動がある。シリコンバレーに出資するそっちの雰囲気を感じたい - キャリアパスの多様化
アイデンティティのレイヤーをネットに作る
適当にやってたことが将来の仕事につながる確率は少ない、真剣にやってきたことがつながる可能性がある。計画的偶発理論 - 新卒は大手かベンチャーか
行けるなら大企業がいい、どこでスタートではない
中身を見る。Excel書くだけの会社もある。ガチベンチャーはおすすめしない
ブラックかホワイトか?人の生活を守ってくれる会社
Chrome Dev Summit 2019: Recap
- 2013年から開催、WebとChromeに特化したイベント
- 最近はフレームワーク関連の話も増えてきた
- PWA:強めのブックマーク、ストアに出せたりもする
- 近年はJSの話が多かったがHTMLとCSSのトークもあった
フォームの見た目を改善するプロジェクト、スタイルを変えやすくする仕組み
ダークモード設定がCSSに伝わるやつ - JS+SEO的なセッション
コンテンツ中心なサイトでもJSは無視できない
GoogleBotが新しいChromiumベースになった
インデックスまでの時間も短縮 - リアルワールド志向のパフォーマンス
高スペックなMacで快適なネットワーク状況での開発ではなく実環境を考える
UXを損ねる指標を設け、パフォーマンスが悪い場合は警告が出る可能性を示唆
→devtoolsのLighthouse等を活用し最適化
ML Kit の最新情報
- Firebaseの機能の1つ、機械学習利用を簡単にSDKで組み込める
- 発表時は6機能だったが現在は11機能に増えてる
各種デモを交えて機能の紹介 - On−Device と Cloud でAPIが使えたり機能が微妙に異なったりする
→資料がキレイにまとまってるのでそちらを見るのが良いです
来年に備えるために Android の知識を網羅する
- 昔のAndroid開発はEclipseだったが今はAndroidStudioでKotlin
- Jetpackに含まれるライブラリが70個入ってるのでそれを使っていい感じにアプリを作る
- AndroidStudio4.0
JetpackCompose新しいUI kit
KotlinDSL対応
MotionEditor:GUI上で簡単にアニメーションを実装の動きを確認
MultiPreview:各解像度を一括で確認 - Flutter:1つのソースでモバイル、Web、デスクトップに対応
- RxJavaは高機能すぎる問題
→Coroutines(軽量スレッドのようなもの)を活用し通信部分をシンプルに作る - MVVMがGoogle推奨、実現するためにJetpackの活用を推奨
- Jetpack
ボイラーテンプレートコードの手間を省く、下位互換を備えた仕組み
4つ大きく分かれてる。UI, Architecture, Foundation, Behacior
CloudNative 時代における GKE/Kubernetes ではじめる開発
- k8s は Platform for Platform とも呼ばれてる
- Cloud Native
疎結合なシステム、回復性がある、管理しやすい、可観測、堅牢な自動化 - k8sは複数のノードをマシンとして束ねていい感じに起動させるオーケストレーター
→ローリングアップデートやロードバランシングやサービスディスカバリやコンテナ死活監視、スケジューリング等を行ってくれる - Declarative Code and APIs:構成情報を宣言的に記述しAPIに登録
→定義した状態を維持するような形 - GKE:他のクラウドのk8sより3年近く早く開発してて充実している
AndroidX の歩き方
- 作り方のガイドラインがあるので新しいAndroidアプリは読むのをおすすめ
- ktxはKotlinなのでできるだけそちらが推奨、同じ名称のパッケージがあった場合はandroidx配下のものを使うのが好ましい
- ライブラリのAPI一覧 AndroidX Releases | Android Developers
- 非同期処理はコルーチンで行うような形になりそう
- 各種情報元の紹介
Android Jetpack | Android Developers
Android Developers – Medium
Android · GitHub
各発表の密度が濃いものが多く、とても有意義な時間でした。
特に基調講演での Emma Haruka Iwao (@Yuryu) | Twitter さんの発表は素晴らしい発表だったと思います。