taxin's notes

読書、勉強メモ etc.

個人目標の振り返り(2020年上半期)

はじめに

7月も半月近く経過してしまったので、今年の上半期振り返り記事を書いてみようと思います。
仕事関連のものは含めず、個人的に実施したものを中心に「何をやろうと計画して」「どこまでやったか」を振り返りました


上半期の目標と振り返り

上半期は、やりたいこと・興味のあることをいくつかの分野に分けて目標設定を行いました。
分野はざっくりと下記のように分けました。(AWSなど仕事で触っているものは下記の分野からは外しています。)

  • インフラ周りの基礎 (OS, NW etc.)
  • コンテナ / Kubernetes
  • IaC (主にTerraform)
  • アウトプット
  • コーディング
  • Private

目標をDaily or Weekly or Monthlyのタスクに落とし込んだものに関しては、目標の左側に設定したタスクの実行頻度を記載しています。
一部、1月〜3月で実施したものもありますが、4月〜6月で実施した内容がメインとなります。


インフラ周りの基礎 (OS, NW etc.)

インフラ基礎の学習: 1.5冊 / 3冊 (Not Yet)

4月〜6月までで、下記の3冊を課題図書としました。
一番上の本のみ読み終えて、2つ目の「ITインフラの仕組み」については現在も読み進めています。

www.amazon.co.jp

www.amazon.co.jp

www.amazon.co.jp

上半期を振り返って、最も改善が必要な部分は「本・Blog記事をベースとしたインプット」だと考えています。
アウトプットをメインに据えた目標設定をしていたこともありますが、それを差し引いても上半期のインプットの量は想定より少なかったです。

原因に関しては、ざっと下記のようなことが挙げられるかと思います。

  1. 技術書を読み進めるスピードが単純に遅い
  2. (本の内容が) 単なる文字列としてしか頭に入ってこない現象が度々あった
  3. インプットした本の内容とそれをベースにした考察・検証を「どこにどのように」まとめるかが決めていない

2.に関しては、単なる集中力の問題かなとも思いつつ、解決策が見つからなくてもやもやしていたのですが、リーディングトラッカーの存在を最近知ったので下半期はこれを利用してみます。


(1.に関しては、2の現象によって読み進めるのを止めたりした部分もあるので、リーディングトラッカーでどの程度改善できているかを見ていきたいと思います。)

また、3.に関しては、Hackmdにまとめつつ、はてなBlogに小さめの粒度で内容をまとめようかなと計画しています。
(負担にならない程度の小さめのアウトプットによって記録を残し、インプットによる知識を定着させることができればベストです。)

コンテナ / Kubernetes

Kubernetes The Hard Wayの完走 + Blog記事作成 (Done)

Kubernetes The Hard Wayを完走し、全Chapterの解説記事を作成しました。
(下記のChapter1の記事からChapter13までの解説記事をBlogに書きました)
taxintt.hatenablog.com

自分が運営として携わっているKubernetes Meetup Noviceの運営メンバーで集まって1日かけて実施しました。
また、完走後に勉強した内容を記事でまとめる宣言もしていたので、最後のChapterまで記事を書き切れてよかったです


Kubernetes完全ガイド読了 + 各リソースの検証: 5P / 日 (Not Yet)

当初はCKAを7月前半に受験する想定で、上記の学習を実施してました。
6月中は継続的に時間を取ることが難しかったことから、CKAの受験時期をずらしたので学習も一時的に中断していました。
(中断前までで7割程度読み終えていて、現在は学習再開しています。)

完全ガイドを読み終わったら、試験対策としてUdemyと下記の問題集を一周する予定です。
www.udemy.com

github.com

(バウチャーの有効期限もあるので)CKAの試験内容は変わるより前の8月の初旬~中旬にCKAを受験する予定です。


余談ですが、Kubernetes完全ガイドの第二版が発売されることを知りました。
(第一版を読了する前に第二版が発売されることのないように、早めに読み進めなければ...)

books.rakuten.co.jp


CI/CD Pipelineの「プロトタイプ」作成 (Done)

Kubernetes環境を前提としたCI/CD Pipelineに興味があったので自分で作ってみました。
GCRへのイメージプッシュからGKEへのデプロイまでの基本機能をCircleCIとKustomizeを用いて実装しました。
taxintt.hatenablog.com

基本的な機能の実装にとどまっているので、このプロトタイプをベースに修正・追加の実装を行っていく予定です。

IaC (主にTerraform)

Pragmatic Terraform on AWSの写経: ? P/日 (Done)

上記は、1月〜3月で実施したタスクの内の一つです。
(何ページずつ進めていたかは失念しましたが、4,5P/日くらいで進めていた記憶があります。)

booth.pm


一通り、写経してみてTerraform(HCLの書き方も含めて)に慣れたのは大きいと思います。
実際の業務では、単純に書くだけではなくディレクトリ構成・環境差分への対応方法・tfstateの分割など実運用を意識した設計や実装をする必要があると思うので、そういった観点での学習もできればいいかなと思います。


アウトプット

Blog記事の執筆: 記事2~3本 / 月 (Done)

上半期だけで、20本 (振り返り記事も含めて)の記事を作成していました。
どのような記事を書いたかに関しては割愛しますが、コンテナ・Kubernetes関連の記事が7割くらいを占めていたと思います。

(20記事程度書いて、450アクセスいかないくらいでした。)
f:id:taxintt:20200715212938p:plain


(社内/社外の両方で) 勉強会・Meetupでの登壇

上半期は人前で話す機会に恵まれました。
社内向けには、NIST SP800-190をベースにしたコンテナセキュリティの概論についてセミナーをしました。 (社内向けのセミナーなので、スライドは非公開です。ご了承ください。)

社外向けには、Kubernetes Novice Tokyo(#1)で、EKS 101というタイトルでLTをしました。
speakerdeck.com


コーディング

コーディングに関しては、春頃から時間を確保して色々やっていました。
(AtCoderに関してもやっていましたが、他のタスクを優先して現在は気が向いたらABCに参加するくらいです。)

N予備校(プログラミング入門 Webアプリコース) : 2レッスン/日 (Done)

アプリケーションの実装における基礎を一通り頭に入れるために上記のコースをやりました。
単にコードを書くだけではなく、API設計やデータモデリングの部分も説明されていたので、設計面を踏まえた上で実装のレッスンに移れるという点で非常にありがたかったです。
www.nnn.ed.nico

VMベースでの環境構築に耐えかねてDockerを用いてPostgreSQLのDB環境構築を行った際には、その内容もブログ記事として書いたりしました。
taxintt.hatenablog.com

Learn-go-with-tests : 1レッスン/日 (Not Yet)

現在は、Goの学習のために、TDDをベースとしたこのテキストを使ってコードを書いています。
andmorefine.gitbook.io

もともと、Pythonをメインで書いていて動的型付け言語しかまともに書けない状態だったので、静的型付け言語で且つとっつきやすそうなGo言語を勉強しています。
(KubernetesとGoの相性が良いこともあり、何かしら応用できるのではないかという部分もモチベーションの一つになっています。)


Private

ランニング: 1回 / 週 (Done?)

上記に関しては、大体目標達成することができました。
(厳密に言うと1,2月は一回ずつ足りないかもしれません)

  • 1月: 19.88km / 4 Runs
  • 2月: 33.97km / 4 Runs
  • 3月: 35.26km / 5 Runs
  • 4月: 52.20km / 8 Runs
  • 5月: 52.85km / 7 Runs
  • 6月: 58.35km / 9 Runs
  • 上半期Total: 252.52km / 37 Runs

雨と引越しなどでバタバタしていたこともあり、最近は家の周りをウォーキングするにとどまっています。
(前回のRunから2週間近くも間が空いてしまっています。早く梅雨が空けて欲しい...)


英会話: 2回 / 週 (Not Yet)

コロナの影響で校舎が閉鎖してしまったこともあり、目標は未達成となってしまいました。
(対面式のスクールに通っているので、ここはどうしようもない部分ではありますが...)

英語で話す機会を増やしたことで、英語を話す際は多少は口が慣れてきました。
その一方で、会話時に語彙・文法の貧弱さが出ているので、下半期はこの部分のインプットが必須になってくると思います。


下半期の目標

下半期に関しては全体的にインプットの比率を高めて、同時にインプットの質の改善にも取り組んでいきます。
目標設定と日々のタスクへの落とし込みは実施中なのですが、現段階で下記は実施予定です。
(下半期の目標設定の話はまた別記事で書こうと思います。)

インプット(分野全般)


コンテナ / Kubernetes

  • CKA / CKADの取得
  • TerraformでのGKEハンズオンの作成


アウトプット

  • 1, 2記事 / 月の頻度でのブログ記事の作成


コーディング

  • (Golang) client-goを用いたサンプルクライアント or TUIツールの実装