WEB+DB PRESS Vol.94を読んだので、書評してみます。子見出しレベルまでは全部目を通しましたが、内容もある程度以上細かく読んだ項目について書きます。
特集1: スケーラブルAWS
以下の6章からなる特集です。
- AWSにおけるスケーリングの基本戦略
- 規模が拡大しても破綻しない監視
- Webサーバ/アプリケーションサーバのスケール
- キャッシュサーバのスケール
- データベースサーバのスケール
- オートスケールを無駄なく活用
今、JOIN USのiOSアプリ+サーバーAPI実装を1人でやっていて、特にサーバーサイドはまだまだ勉強不足なところが多くて、今回の特集はとてもありがたかったです。最近サービス好調なのが嬉しい一方、油断していると負荷ヤバそう、という感じだったのでベストタイミングでした( ´・‿・`)
幸いAWSインフラ周りは、以前から担当してくださっていたフリーランスの方にもお願い出来る状況であるのですが、僕自身きちんとした知識持っていないと正しい状況判断なども出来ないので。
サーバーサイド・AWSはある程度分かるものの、自信をもって判断出来ないことが多かったり、ちょくちょく知識欠けている僕にとって、すごくぴったりな内容で、読んで良かったです。
特集2: はじめてのKotlin
最近、周りでも利用が増えてきて、Swiftとも似てるということで注目はしていたKotlinです。ただ正直、細かい文法は実際必要になったら覚えれば良いなと思っていて、今Android開発は全くやってないので、けっこう読み飛ばしちゃいました。
KotlinをAndroid開発の言語として選ぶことの是非、については面白かったです。関数の数・バイナリサイズへの影響が、他のJVM上で動作する言語(Scala・Groovyなど)と違ってかなり少ない、ということなど知らなかったです。僕もAndroid開発することになったら、Kotlin使いたいというスタンスでいます( ´・‿・`)
最後の章には、今後のマイルストーンが書かれています。次の1.1で追加される新機能としてasync/awaitがあることなど知りました(Swiftでは入るとしてもしばらく先になります)。最近Rxが盛んで僕もRxSwift愛用していますが、学習コストの低いasync/awaitで済むことも多い気がしていて、このあたりどう使い分けされていくのかな、と思いました。(C#ではけっこう前から両方とも使える状況ですが)
特集3: 作って学ぶ Electron
これも興味はあるものの、個人的に直近では必要無い知識ということで、けっこう読み飛ばしちゃいました。
環境構築、Electron・ReactJSによるTwitterクライアントアプリの作成、そのパッケージング、と一通りなぞれる内容です。もし今後必要になったら写経したいなと思ったりもしました。
コラム
プロダクトアンチパターン
ひげぽんさんの記事で、記事タイトル通り、プロダクトを作っていくにあたって、あるあるなアンチパターンが紹介されています。
- A/B/C/D/E/F/G/H テスト問題
- 「それ設定で」問題
- サイレントマジョリティ問題
- KPI問題
タイトルだけで何となく察しが付くと思うので、説明は割愛します。
Naoya Itoさんが良いと言っていて期待してましたが、2ページに濃い情報が凝縮されていて、とても良かったです( ´・‿・`)
頭では分かっているものの、いつの間にかアンチパターン踏みそうになっていることなどもあり得るので、改めて気を付けようと思いました。また、こういう記事は、今チームがこのアンチパターン踏みそうになっているのでは、という状況で注意喚起する時の材料としても有益ですね。
ほかにもアンチパターンをお持ちの方がいれば、ぜひ筆者のTwitterアカウント @higepon に共有してほしい。
とのことです( ´・‿・`)
ソニックガーデン倉貫義人 「育てる」負担をなくし、各人が腕を磨ける組織
できればできるほど自由になっていくっていうのがスポーツだとかアーティストの世界で、我々もプログラマーのことをアーティストと言っているのならそういうふうにやろうと。
教育・マネジメントの負担を減らす取り組みとして、こう書かれていたのが印象に残りました。もちろん、ただ教育を放棄する、というわけではなく「見習い」制度など工夫されているようで、僕は好みのやり方でした( ´・‿・`)
連載
Pumaを使ってみよう!
仕事でサーバーサイドRuby on Rails使っているにも関わらず、Pumaは恥ずかしながら知りませんでした( ´・‿・`)今使っているunicornや、以前使っていたWEBrickでさえあまり違いを把握出来ておらず…。サーバーサイドは自分の中でサブの位置づけとは思いつつ、やるからにはこのあたりもきちんと押さえておく必要あるので、ありがたい記事でした。
プロセスベース・スレッドベース・イベント駆動、の違いにも詳しく触れられています(Pumaはスレッドベース)。以下が分かりました。
- Pumaはスレッドベースで、特にメモリ量削減につながる
- 使う場合はスレッドセーフとなることを意識
- 特に困っていなければ、現状のunicornから移行する必要無さそう
OSSによるデータ分析基盤の構築
SQLによるデータ抽出を前提にしたBI(Business Intelligence)ツール組み合わせとして、以下が紹介されています。
- Embulk
- Re:dash
- Digdag
これも実際に手を動かしながらなぞるのが良いと思いつつ時間がかかるので、今後の引き出しに出来るように目で記事を追うだけにとどめました。
余談
献本ありがたやです
Vol. 91のiOS特集を書きまして、それ以来、発売1週間くらい前にWEB+DB電子版を献本していただいています。
今回書評を書いたのは、せっかく献本していただいているので、恩返ししたいなという思いがありました。ただ、メインの理由は次の通りです。
書評を継続したい
今、2点問題意識があります。
- 技術書を読む量が以前と比べてかなり減っている
- 読んだとしても読み方がいい加減で、定着しているか微妙
アウトプットを心がけることで以下の影響があるのでは、と期待しています🤔
- 書評すること自体に楽しさを覚えたり、ペースメーカーとなってくれそう
- 書評というアウトプットを意識することで、自分のなかで情報整理出来る
今回はMediumに書きましたが、もう少し技術的に突っ込んだ意見書けるような時(iOS・Swiftなど)は、Qiitaでも良いかなあと思っています。とりあえず、まずは継続したいなと思います( ´・‿・`)