2020年上半期を振り返る
久しくブログを書いていませんでしたが、2020年も半年が過ぎそうとのことで、この半年間の振り返りをしようと急に思い立ちました。笑
ログの意味も込めて、この半年間プライベートで勉強したことをまとめようと思います。
1月
年初は友人からiOSアプリを作りたいかも!みたいな話を受けて、やったことないけど勉強するか〜と思い、Flutterを勉強していました。
簡単な見た目を作って、Railsをサーバーサイドに立てて、通信するところまでは勉強したのですが、その後友人からちょっと今はまだやらないみたいな話になったので、そこで終わりました。笑
でも、簡単なモックレベルなら結構簡単にできるんだなとわかったし、iOSとAndroidのどちらにも対応したアプリをできるのはすごいなと思いました。
何より自分でアプリを作るのは楽しいですね。
2月
2月は、業務で少し複雑なアプリケーションの設計に関わっていたこともあり、設計周りの知識を学びたいと思い、「エリックエヴァンスのドメイン駆動開発」を読みました。
1年前にちょっと読んだ時は、何言ってんだという感じですぐに読むのを諦めてしまったのですが、今回は自分自身、問題意識を持っていたこともあり、かなり響くものが多かったです。
やっぱり本を読む時はなんとなく読むのではなくて、課題意識を持って読まないと、なかなかその意味合いをきちんと把握できないなと思いました。
分厚い本を淡々と読み進めて、ちょうど1ヶ月ほどで読み終えました。
3月
3月は仕事で3末にマストリリースのものが二つあったので、割と仕事で忙しい時期でした。
そのためあまりがっつり勉強はできなかったのですが、少し本を読みました。
1冊目は「Java言語で学ぶデザインパターン入門」で、2月のDDDの続きで、デザインパターンも勉強するぞーと思ってやってたのですが、半分くらい読んだところでモチベーションが続かずやめました。笑
2冊目は「はじめよう!要件定義」という本で、エンジニアだけど、PM側の視点も理解したいと思って読みました。
この本は要件定義の基本のキ、みたいな本だったので、自分のような要件定義とはをあまりよくわかっていない身でも理解しやすく勉強になりました。
ボリュームも少なかったので3日くらいで一気に読み終えることができました。
4月
4月からは履歴プロジェクトの担当になり、社で使っているBitemporal Data Modelと真剣に向き合う必要が出てきたので、使っているGemのソースコードリーディングをしていました。
最初は概念自体あまりわかっておらず、何やっているかわからねぇ…状態でしたが、並行してActiveRecordのソースを読んだり、手元でbinding.pryを埋め込んだりしながら、勉強を進めて行ったおかげで、最終的には、こういう操作をすると内部的にはこういう処理が行われているのかと理解できるようになりました。
おかげで、社内で履歴周り少し詳しい人的な認知を得られたので良かったかなと思います。
5月
5月は前職の先輩に誘われたこともあって、Rui UeyamaさんのCコンパイラの講座を受けていました。
C言語触ったことないし、コンパイラの勉強など全くしたことがなかったのですが、わかりやすいテキストとgithubのレポジトリのおかげで、そんな自分でも進めることができました。
やる前はあんまり意識していなかったのですが、コンパイラ周りの基礎知識はあらゆるところで生きるなと思いました。
たまたまpryやArel周りのソースコードを読むことがあったのですが、それらの中でも入力された文書を解析して、任意のプログラムを実行するという観点では似ている部分もあり、そういったコードを読むときに当たりをつけやすくなりました。
並行してC言語の勉強も進めて、2つほど読みました。
1つ目は、「苦しんで覚えるC言語」で、こちらで大体の文法や基礎知識を学習しました。
2つ目は、「C言語本格入門 ~基礎知識からコンピュータの本質まで」で、こちらの本は内部での動作が比較的詳しく書かれており、実際のメモリでの配置などより詳しくCについて学習することができたので、2冊目にちょうど良い本でした。
Rubyを書いている以上、いずれCと向き合わないとなと思っていたので、勉強できて良かったです。
6月
最近は「Inspired」というプロダクトをいかに作るかみたいな部分に本を読んでいます。
半年を振り返って
こうやってみると、いかに自分が飽き性というか、興味本位でコロコロとやる勉強を変えているかわかりますね…
この一つのことにずっと向き合えない性分といつか向き合わなくてはならなそう…
ただ、下半期も色々と興味のあることをつまんで勉強するのは続けていきたいなと思います。