2020年のたーせるくんの業務は、本日をもって終了しました。
お仕事おつかれさまでした!
やぁー……
本当にどうなることかと思いました。
今年は、突然の異動・夜通しの本番移行・慣れないテレワーク・炎上案件の救難・そして AWS ソリューションアーキテクト アソシエイトへの挑戦など、本当にいろいろありましたが、無事にお仕事も納まりました。
コロナ禍とはいえ、いろんな人との出会いもあり、別れもあり。 楽しくてつらい一年でした。
ところで、今年はどんな本を読んだの?
マンガから技術書までいろいろ読んだものの、今回も敢えての10冊に絞って紹介していこうと思います。
買ってよかった本10選
Ionicで作る モバイルアプリ制作入門[Angular版]
Ionicで作る モバイルアプリ制作入門[Angular版]<Web/iPhone/Android対応>
- 作者:榊原 昌彦
- 発売日: 2019/11/27
- メディア: 単行本
Web 開発の技術でスマートデバイス向けアプリが作れる Ionic から、なんと Angular 対応版の入門書が登場した。
発売は2019年11月だが、実際に買って読んだのは今年に入ってからである。 Angular を知っていてモバイルアプリに興味がある人なら購入して損はない。
この本の素晴らしい点は、買ったその日にすぐちょっとしたモノをサクっと作って動かせるくらいお手軽なことである。
日本語で読める Ionic × Angular 本としては現時点で書店に並ぶ唯一の書籍であり、難易度・サンプル・解説の構成どれを取っても絶妙である。 なぜもっと早く出会えなかったのか。
発売当初から Angular のメジャーバージョンは2つ上がって11になったものの、2020年12月現在も内容的にはまだまだ充分に通用する。
購入の決め手となった著者からのリプライ
元記事を補足しておくと、Cordovaの課題は、古いAndroidデバイスについて書いてあるのと、現在はCapacitorというCordovaよりシームレスにNativeブリッジできるフレームワークがでてるので、現代の採用では課題にならないと思います。そういう時代があったという感じです。
— Masahiko Sakakibara (@rdlabo) February 7, 2020
高校数学でわかるディープラーニングのしくみ
- 作者:貞美, 涌井
- 発売日: 2019/12/11
- メディア: 単行本
昨年、『最短コースでわかる ディープラーニングの数学』を読んだ。 数理的な原理に関してはなんとなく解った(つもりになった)ものの、残念ながらそこまでだった。
その理屈をどうすればチャットボットの自動応答や音源分離などに応用できるのかは、恥ずかしながら本書を読むまでいまいち摑めていなかったのだ。
この本のすばらしいところは、CNN や RNN といった仕組みを、はじめに概念レベルで広く浅く説明をした上で、のちの章で詳細な理屈を数式によって示す構成をとっている点である。
最初の数章は非常にやさしく、それでいてこの本が扱うトピック全体の表層的概念をひととおり抑えられるので、読者は自分のレベルに合ったところまで読み進めて、好きなところで学習を終えられる。
高校数学と銘打たれてはいるが、あまりそこに強く囚われる必要はない。 むしろ中高生や文系の方でも充分に楽しめる一冊だと思う。
この1冊で合格! AWS認定ソリューションアーキテクト - アソシエイト
アプリケーションエンジニア(自称)だった僕が、いきなり AWS ソリューションアーキテクト アソシエイト (SAA-C02) 試験を受けることになった。
実は Udemy の他に 3冊くらい攻略本を見繕って 2ヶ月ほど勉強をしたのだが、その中でも一番わかりやすく、試験当日は試験会場まで持っていき、さらに合格後には人にも勧めた(勧めた人も合格した)。
しかし、周りにこの神本の存在を知られた今となっては、もはや資格が無価値になるのも時間の問題なので、僕は追いつかれる前に先に進まねばならないのだ。
サーバーレスを学ぼう AWS Lambda DynamoDB API GatewayでLINEボット作成
この本をきっかけにサーバレスがぐっと身近に感じられるようになった。
本書のよいところは題材の設定に尽きる。 フロントエンドまわりをバッサリ切り捨てて、バックエンドロジックのサーバレス化にだけ焦点を当てているので、ムダなく効率的にエッセンスだけを拾うことができるからだ。
今回紹介する中では最もライトで手軽な一冊で、あっという間に読み終わる手軽さも素晴らしい。
独学大全
独学大全 絶対に「学ぶこと」をあきらめたくない人のための55の技法
- 作者:読書猿
- 発売日: 2020/09/29
- メディア: 単行本(ソフトカバー)
かつて『ITエンジニアのための【業務知識】がわかる本 第5版』を読んだとき、〝自己啓発を止めるときが、SE 生命の終焉のとき〟という一節が妙に心に残ったものだった。
結局僕は業務 SE にはなれなかったのだが、どこで何をしていようと、新しい何かのキャッチアップをやめてしまったら僕はいずれ錆びて死ぬのだろう。
大人になった今こそ、独学スキルの重要性はいや増すようである。
この本はあまり賢くなく、すぐに飽きるしあきらめてしまう人たちのために書かれた。 独学の凡人である私にはこれが精一杯である。 しかし独学の達人が書いた書物よりもきっと、繰り返し挫折し、しかしあきらめきれず、また学ぶことを再開したような、独学の凡人であるあなたの役に立つだろう。
独学は自分との戦いで、達成しても褒める者はおらず、挫折しても責める者はいない。つねに学びの機会が与えられるわけではなく、条件に恵まれるとも限らない。
この本は、独学の道具箱だ。 どのように学ぶか < 何を学ぶか < 学び続けるか否か について、55もの技法が紹介されている。
ぱらぱらと捲ると、会えない者を師と仰ぐ私淑という技法が目に留まる。
コロナ禍で会えなくなってしまった師友 ──いま、このブログを読んでいるあなたのことかも知れない── に想いを馳せ、「あの人ならどうするだろうか」などと考えているうちにモチベーションに火が着くのである。
使ってわかったAWSのAI
使ってわかったAWSのAI -まるごと試せば視界は良好 さあPythonではじめよう! -
- 作者:井上 研一
- 発売日: 2020/06/02
- メディア: 単行本(ソフトカバー)
我が家にはこの本が何故か3冊ある。 行く先々で何故かつい買って帰ってきて「同じのあるじゃん」を2回繰り返した結果である。
この本は、AWS の AI サービスと、その簡単な使い方を紹介したカタログ的な一冊だ。
AWS には具体的にどのような AI サービスがあり、それがどのような問題を解決するためのものなのか、頭の中にインデックスを作る際に大いに役立った。
たとえば画像理解の Rekognition や 自然言語理解の Comprehend、画像データから文字を抽出する Textract、翻訳の Translate、テキストデータを音声に変換する Polly、チャットボットの Lex …… そして SageMaker や Deep Learning AMI などなど、まず主だったサービスの顔と名前を一致させないと始まらない。
僕はこの本で Lex の存在を知り、いつかチャットボットをサーバレスで作って AWS にデプロイしたいと夢見ている*1。
さわって学ぶクラウドインフラ docker基礎からのコンテナ構築
この本を読むまで、僕は大きな勘違いをしていた。
コンテナについて語るとき、「仮想サーバー技術がどうこう」という話から始まることが多いのですが、そうしたことは忘れてください。 コンテナは、もっとシンプルで簡単な技術です。 ひと言で表現すると、コンテナとは「互いに影響しない隔離された実行環境を提供する技術」にすぎません。
これまで、〝コンテナ仮想化〟を一つの熟語だと思い込み、いたずらに抽象度の高い難解な概念だと誤解していた僕は、目から鱗が落ちた。
さて、本書独自のアプローチとして、Docker エンジンを手持ちの PC ではなく AWS の EC2 上で動かすことを前提としている。
これは、2020年12月現在、学習環境を整える上で最も確実で容易な方法だと思われる。
過去の様々なしがらみによって、Windows マシンに Docker を入れようとするといくつかの流派があり*2、書籍によってもまちまちである。 最新式の M1 Mac に至っては Docker がうまく動作しないとすら言われており*3、結局、ローカル端末上に Docker エンジンをセットアップしようとすると環境構築の段階でやる気が粉砕されかねない。
本書に従えば、Docker と相性の良い Linux が入った EC2 が瞬時に調達できる。 しかも万一粗相をしても汚れた環境は未練なく捨てられる。 そしてピュアでクリスタルな学習環境を手軽に再生できるので、力いっぱい遊ぶことができるのだ。
また、非常に明解かつ平易な文章で読者を置き去りにしない配慮もすばらしい。 やはりテクニカルライターの文章力は流石としか言いようがない。
なお大澤文孝氏は AWS 書籍でもおなじみ
もしかしたら偶然ではないかもしれません……。
— モウフカブールtech (@mofukaburTech) May 18, 2020
大澤文孝はAWS書籍を量産しているという噂が…。https://t.co/VlaZdP0G6W
お買い上げありがとうございます!
Amazon Web Servicesインフラサービス活用大全 システム構築/自動化、データストア、高信頼化
Amazon Web Servicesインフラサービス活用大全 システム構築/自動化、データストア、高信頼化 (impress top gear)
- 作者:Michael Wittig,Andreas Wittig
- 発売日: 2019/09/05
- メディア: 単行本(ソフトカバー)
IaC、すなわちコード(というか設定ファイル)からインフラを自動構築できる AWS CloudFormation をもっと知りたくて買った本。
AWS のマネジメントコンソールからの使い方は分かったものの、設定ファイルが読めない・書けない状態だったのでなんとかしたかったのだ。
この本は、ミニマルなところから出発して、徐々にできることを増やしていく親切な構成*4をとる。 YAML にも適切なコメントが書かれており、可読性も高い。
AWS の基本的なサービスについては幅広く(ただし SAA-C02 の試験範囲より狭い)載っており、マネジメントコンソールだけでなく AWS CLI による CUI 操作の方法についても示されているため、リファレンスとしても有用な一冊である。 大事にしたい。
マイクロサービスパターン
マイクロサービスパターン[実践的システムデザインのためのコード解説] (impress top gear)
- 作者:Chris Richardson
- 発売日: 2020/03/23
- メディア: 単行本(ソフトカバー)
昔、サザンオールスターズが、「たぶん本当の未来なんて知りたくないとアナタは言う」などと歌っていたが、このまま時代の潮流に任せてコンテナ化やサーバレス化が進めば、そう遠くない将来、エンタープライズ向けのシステムにもマイクロサービスの概念は持ち込まれるだろう。 たぶん。
もしそうなったら、きっと Dev だけでなく Ops も変わる。 プロセスだけでなく組織も変わる。 僕らは来るべき未来に備えなくてはならない。
この本は、マイクロサービスを手放しで礼讃しているわけではない。 予想される影響範囲やトレードオフを詳細に評価した上で、マイクロサービスならではのアーキテクチャの設計ポイントをデザインパターンという形で客観的にまとめ上げている。
たとえば通販システムのマイクロサービス化を考えたとき、顧客管理サービス、受注処理サービス、在庫引当サービス、会計処理サービスなど、複数のサービスの同期をしっかり取らないと死ぬことにすぐ気付くだろう。
この本では、Sagaによって、複数のサービス間でデータの整合性を維持するパターンをいくつか紹介している(コレオグラフィベースのサーガとオーケストレーションベースのサーガ)。
同じ目的のパターンであっても、それぞれの違い・適用のポイント・利点と欠点の比較が充実しており、著者による非常に深く鋭い洞察が窺える。
ちなみにこの本の内容を充分に理解するには予備知識として DDD を理解していると望ましい。 かく言う僕も DDD は怪しいので、これを機に履修したい。
みんなの精通
みんなのPythonと名前がそっくりなので間違えて買ってしまったお友達もいるのではなかろうか(いねーよ)。
思えば中学の頃、クラスメイトが思い切ったような表情で「たーせるくんは、もう精通したの?」と僕に訊いてきた。 「まぁー…… どっちかと言えば」と曖昧な返事をしたような記憶がある。
このように、早い遅いの差はあれど結局みんな経験することなのだと思うが、いかんせんプライベートの極致でもあり、その体験が詳細に語られることは少ない。
さて、この本は note に投稿されたみんなの精通エピソードが贅沢にもなんと100篇も収録されている。 投稿時のルールはたった一つ。「どんなエピソードであっても必ず信じるので、嘘だけはつかないで」というもの。
事故のような形で自爆してしまった人、ちんちんの新機能に気付いてしまい試さずにはいられなかった人、そして他人の手によって精通を迎えた人など、なるほど100人いれば100通りのドラマがあるのだなぁ…… としみじみ思った。
毎年、10冊を選ぶのはけっこう大変そうだね。
あれ…… そういえば、今年はマンガが入ってないんだね。
新規に買って読んだ本は、『神々の山嶺』『善悪の屑』『外道の歌』くらいで、既刊は全巻読破したけどどれもいまいちだった。
チョイスがエグすぎるwww
おまけ
そういえば、ネットワークスペシャリストの午後試験対策本『ネスペ 23』には、たーせるくんの投稿が掲載されてるんだよね?
そんな大昔の話を……
もしかして、『みんなの精通』にも、たーせるくんのエピソードが載ってたりして。
断じて無いのでご安心ください。
*1:残念ながら 2020年12月現在、Lex は日本語には対応していない。
*2:Docker Toolbox を使うとか Docker Desktop を使うとか、Hyper-V を使うか VirtualBox を使うとか。
*3:2020/12/15現在、M1 Mac対応のプレビュー版 Docker Desktop の配布が開始された。 Docker Developer Preview Program に申し込めば無料で入手できる。
*4:対照的に『基礎から学ぶ サーバーレス開発』はヒドい。意味不明な設定ファイルが6ページにも亘って掲載されていて、そこに何の注釈も補足説明もなかった。 買って後悔した。