shuhei's lab

暇なときにテック系とか日常のこととか書きます

技術書典6 : Goがだいすきになる本 読みました

今回はWoman Who Go Tokyoさんが技術書典6で出していた『Goがだいすきになる本』を読みました。

f:id:shuhei_lab:20190502235925j:plain

ページ数はそれほど多くないのに以下の3つが一気に学べちゃいます。
sugoi...

  • Goの基礎の基礎
  • Google Cloud Functions
  • Slack Slash Command

コードも結構丁寧に解説されていて特に迷うところはなく読みやすいし、読み返してもそんなに時間かからないので気楽にGoと戯れることができる、そんな1冊になってます。 やっていく内にGo楽しくなってました。

もっとGoとGCPを理解したいくなってきたので勉強しよっ。

技術書典6 : 雰囲気でOAuth2.0を使っているエンジニアがOAuth2.0を整理して理解できる本 読了

f:id:shuhei_lab:20190421210527j:plain 技術書典6で購入した「雰囲気でOAuth2.0を使っているエンジニアがOAuth2.0を整理して理解できる本」を読みました。 まだ2冊目…(>_<)

booth.pm

前半はOAuthのロール、エンドポイント、トークンについて、
後半はOAuthの各フローについてシーケンス図を用いて丁寧に説明されています。

タイトル通りなんとなく雰囲気でやっていた方やちょっと覚えてないなぁという復習にもとても良いと思います。

また、付録でTwitterを例にOAuth認証について説明されていたところも個人的には勉強になりました。

OpenID Connectなどは次回作に掲載予定されるそうなので期待したいですね。

技術書典6 : まんがではじめるKubernetes 読了

今日池袋サンシャインシティで開催された技術書典6。

f:id:shuhei_lab:20190415095532j:plain

早速『まんがではじめるKubernetes』を読みました。

booth.pm

マンガ形式でおとうふくんがしっかり説明してくれてKubernetesの最初の一歩にはとてもいい本だと思います。
Pod、ReplicaSet、Deployment、Serviceが簡潔に説明されています。
Docker少し触ったけどなんとなくしか分かんないくらいのレベルでも多分大丈夫。
本書をきっかけにステップアップできそう。

おとうふくん、かわいい。

GDG DevFest Tokyo 2018に参加しました

9/1にiOSDC2日目と同日に行われたGDG DevFest Tokyo 2018に参加しました。
今回はAndroidとFlutter、Firebaseを中心です。

Flutter Animationの実装方法 / こにふぁー (@konifar) | Twitter

speakerdeck.com

KonifarさんからはFlutterのアニメーション実装について、基本的な流れと各クラスの役割について 丁寧に順を追って説明していただけたので自分としてはFlutterアニメーションの実装敷居がグッと下がって良かったです。
Konifarさんのセッションはいつも分かりやすくて助かります。

Advanced Room / Yuichi Araki (@yuichi_araki) | Twitter

Advanced Room

以下のテクニックを披露していただけてRoom便利しゅごぃと思いました。

  • 複数書き込み
  • 上書き
  • 更新、削除
  • 複数削除
  • 外部キー制約
  • 具象メソッドの活用
  • 必要な情報だけ取ってくる
  • LiveDataのテスト
  • ツリー構造
  • Roomの今後予定

もうRealmやめようかな…

Firebase Overview for Native Application / Daiki Matsudate@登壇x3執筆x3 (@d_date) | Twitter

こちらは最新のFirebase事情をザクっと説明しつつ、In-app MessagingやPrediction、Firestoreについてすこし濃いめにといった登壇内容です。
Q&Aでもありましたが、現在Realtime DatabaseかFirestore使うべきか悩む方多いみたいですね。
個人的にはもうFirestore一択かなーって感じです。
Crash Repoting採用してあっさり無くなった経験してますからね!w

Growing your app with Firebase / しほちゃん🐈 (@shihochandesu) | Twitter

speakerdeck.com

サービスグロースの機能を中心に紹介していただきました。
iOS/ Android両プラットフォームの導入方法も説明があってiOS / Androidエンジニアにも優しいセッション。
最近のFirebase少し追えてなかったのですが、だいぶサービスグロースのものが増えたなって印象。
サービスグロースにFirebaseを使わない理由はないって感じですね!

新しいMaterial DisignとMaterial Disign Component / DroidGirls

docs.google.com

DroidGirls美人3姉妹?によるMaterial Design関連のセッションでMaterial Designおよび、Material Design Theming、Material Theme Editor、AndroidでのMaterial Design Component、についての内容でした。
まだ猶予はあるもののもう少ししたらAndroidXは時代に突入。 結構Coming Soonなものが多いなと感じたのと、Material Design自体まだまだ進化の過程なのかなって感じました。
Material Theme Editorは時間を作ってじっくり触ってみたいな。

iOSDC2日目をサボってのGDG DevFest Tokyo 2018でしたが、最近サーバーサイドばかりやっていてキャッチアップとしてだけでも参加して良かったなってセッションが盛り沢山でした。
他のセッションも都合で聴けなかったのもあって残念ですが、あとでスライドとか見直してキャッチアップしたいと思います。

iOSDC Japan 2018 Day 1

前夜祭に続き本番開始!
はい、寝坊しましたw

MicroViewControllerで無限にスケールするiOS開発 / uounɹɐʇ (@tarunon) | Twitter

ViewControllernにChildViewControllerをどんどん追加していくという手法。
結果…
* 開発者の数:x2以上
* 開発のスピード:x2以上
* パフォーマンスview:x3以上
* 1つのVCのコード量: 〜500

Githubに参考になるリポジトリがアップされているのでこれで勉強だ。

github.com

安定したチャットを実現するためのアプリとAPI設計 / 🍿muukii🍿 (@muukii0803) | Twitter

speakerdeck.com

チャット系アプリに携わった自分としてはかなり興味深い話。 チャットやタイムラインを扱うアプリは苦労するPaginationの話が聞けてとても良かった。

iOSアプリ内で不正なSSL証明書を検知する / kobakei / iOSDC 8/31 14:20~ Track A (@kobakei122) | Twitter

speakerdeck.com

当初他のセッション聞こうと思ったが満員でkobakeiさんのセッション聞くことにしたんですが(ゴメンナサイ)、 全く知見のないところをかなり丁寧に説明していただいて中間攻撃者や証明書のピン留め、運用と導入の可否についてまで言及されてて分かりやすかった。
事業形態によってはマストになる気がするのでこのセッションを聞けたことは今後の糧になりそう。
39も投げましたよ!

宣言的UICollectionView / ishkawa (@_ishkawa) | Twitter

speakerdeck.com

Swift実践入門著者のishkawaさんのセッション。 個人的に理解が追いつかなかったので資料をもう一度見直して復習したい内容です。
宣言的に実装すると可読性、実装コスト、テスタビリティの点で有利になりそうだが、想定していないような実装とかだと逆にコストが高くなりそうとのこと。

iOSエンジニアが知るべきProgressive Web Apps開発のエッセンス / laiso🇹🇭@iOSDC 8/31〜 (@laiso) | Twitter

speakerdeck.com

メディアによる少し誤ったPWAの見かたの是正と再確認、AndroidiOSのPWAの違い、エコシステム指向について言及されていて、
色々な観点で自分の認識がちょっとズレているなと再認識できたセッションだった。

プロトコルでStoryboardともっと仲良くなる / 椎名夏希@iOSDC1日目 (@417_72ki) | Twitter

speakerdeck.com

Storyboardともっと仲良くならない? そんなお話。 プロトコルを用いて画面遷移をコードから引き離してより変更に強い、typoに強い開発を目指す。
個人的にはSegueをほとんど使っていなかったので改めて勉強してみようと思った。

ってなわけで盛り沢山でDay 1が終了。
Day2はGDG DevFest Tokyo 2018に浮気するのでお休みしまーす。

iOSDC Japan 2018 前夜祭

仕事を早退してiOSDC Japan 2018に参加!

f:id:shuhei_lab:20180830235931j:plain

前夜祭から結構な盛り上がり。

f:id:shuhei_lab:20180830235538j:plain

前夜祭で私が聴講したセッションは以下。

  • 標準アプリから学ぶ、HIGが教えてくれないiOSデザインのこと

  • キラリと光るテクニック、アプリをデモするときの心構え

speakerdeck.com

  • iOSエンジニアの為のgrpc-swift入門

speakerdeck.com

speakerdeck.com

  • Playground駆動開発のすすめ

speakerdeck.com

www.slideshare.net

どれもいいセッションでしたが、個人的に良かったのは『キラリと光るテクニック、アプリをデモするときの心構え』かな。
デモの時ってメンタル的に余裕ないので少しでも心配事をなくせる方法を伝授していただけた気がします。

明日も楽しみ。

Amazon Linux 2 についてメモ

仕事でEC2使うときにAmazon Linuxって2が発表されたんだよなーと思ってちょっと調べてみました。

Amazon Linux 2 とは

公式から概要部分を引用。

Amazon Linux 2 LTS Candidate は、Amazon Elastic Compute Cloud (Amazon EC2) で使用する Amazon Machine Image (AMI) として提供されます。また、Docker コンテナイメージとして提供されるほか、VMwareOracle VM VirtualBoxMicrosoft Hyper-V の仮想化ソリューションで使用する仮想マシンイメージとしても提供されます。仮想マシンイメージは、オンプレミスでのデプロイとテストに使用できます。Amazon Linux 2 は Amazon EC2 の最新の機能をサポートしており、AWS と簡単に統合できるパッケージが含まれています。Amazon Linux 2 のセキュリティアップデートとメンテナンスアップデートは継続的に提供されます。

2018/06/18現在は 「Candidate 2(リリース候補版)」となっているので最終版ではない。

メリット

  • EC2だけでなくオンプレでも使える
  • DockerやVirtualBoxVMWareでもイメージとして使える
  • 長期サポート
  • Candidate から 最終LTSビルドへのローリングアップデートが可能

デメリット

  • ノウハウが少ない(AL2として)
  • まだリリース候補版

現行Amazon Linux との比較

Amazon Linux Amazon Linux 2
OS RHEL6ベース RHEL7ベース
initデーモン Upstart systemd
ファイルシステム ext4 xfs
オンプレで使えるか 不可 可能
サポート 定期的なセキュリティアップデートがAmazon Linux 2の最終LTSビルドから2年間提供される セキュリティアップデートとバグ修正を 5 年間提供する長期サポートが付属
Amazon Linux 2へインプレースアップグレード 不可 -
Amazon Linux 2へローリングアップグレード 不可 -

まとめ

おそらくもう少しで正式版が出ることと現行Amazon Linux のサポート期間考えると、これからサービスを開発していく場合にはAmazon Linux2でいい気がする。
デメリットについてはRHEL7ベースで学習しながらやればなんとかなりそうだし、最終LTSビルドへのローリングアップデートも可能なのであまり問題にならなそう。

参考