このブログを作った動機でもある今年の振り返りを書いていきます。

今年はいろいろ大変な一年でしたが家にいる時間が増えた分たくさんやりたいことができた一年でもありました。

静的型付け言語デビューしたり(TypeScript, Scala)、内定先の選考インターンで課題だと感じた設計関連のインプット・アウトプットをたくさんできたのがよかったです。

あとはいくつか作りたいものをつくれて充実感があってよかったです。では振り返っていきます。

1月~2月#

のちに内定先となる第一志望の企業の本選考インターン(の続き)をやっていました。いちおう詳細は伏せますが、メンターの方々に助けていただきながらがんばりました。Slackでやりとりをしていたのですが、年末年始も反応していただきとっても助かりました。

使った技術はReactです。

無事内定は頂けたものの、モデルはどういう基準で定めたの?という質問に対して全然うまく説明できず、設計関連の知識の足りなさを強く感じました。

3月#

N予備校の"サーバーサイドプログラミング入門"と"実践サーバーサイドプログラミング"をやりました。

はじめて仮想環境をつかってssh接続しながら開発しました。

動くコードが載ってるだけでなく割と詳しめに背景となる知識を解説してあってかなりわかりやすかったです。自分も書いたコードの背景や実装の根拠をしっかりと語れるようになりたい…。

4月#

本選考インターンでつくったWebAppのリファクタリングをしました。 あとはTypeScriptの勉強をはじめました。やったことは

あたりです。始めて静的型付けの言語に触れて表現力の豊かさを感じました。わかりやすさと堅牢さが得られそう…、エディタがいろいろ教えてくれるので開発効率も上がりそう…などと感じました。

5月#

  • CLIのtodoアプリをNode.js(TypeScript) でつくった
  • 読みかけだったリーダブルコードをよんだ
  • Repositoryパターンを実装してみた

CLIのtodoアプリはCLIでTODOを確認したくなったのとTypeScriptで何か作ってみたくなったので作って npm で公開しました。

責務の分離を意識して書いたので今までよりは見通しの良いコードを書けたと思っています。

あとははじめてWebpackの設定を書いて、create-react-app の便利さを感じました。(今までcreate-react-appが何をしてくれているのかわかってなかった…)

6月#

6月はたくさん本を読みました。毎日作業を始める前に1時間本を読むスタイルが自分にあっている感じでした。

RubyのOOP本は

  • 単一責任で設計しよう
  • 依存関係をちゃんと管理しよう

みたいなことが書いてあった気がします。依存関係についてあまり意識したことがなかったので新たな観点を獲得できました。

そのあと読んだ現場で役立つ~は"ドメインモデルとは"みたいな話が書いてあって今まで自分の中で整理できてなかったことが言語化してあってとてもスッキリしました。

↑の2冊を読んだ上で成瀬さんのDDD本を読んだのでスムーズに理解できました。我ながら結構いい感じの流れでDDD(の入り)を学んでいけた感じがしています。(あと成瀬さんの本がわかりやすすぎた…。とてもおすすめです!)

7月#

  • Twitterのクローンアプリの設計 & フロントエンドの実装開始
  • Webを支える技術 をよんだ

設計のアウトプットをしたかったんですが特にアプリのアイディアとかもなかったのでTwitterのクローンアプリを作りました。

事前に

  • 要件定義
  • スケジュール
  • 設計

をしてから開発に入ったので大きな手戻りなく開発できました。と同時になかなかコードを書き始められなくてもどかしく感じました…。

クローンアプリのことについてはまた別の記事で詳しく書きたいと思います。

8月#

  • 応用情報の勉強をはじめた
  • Twitterのクローンアプリのバックエンドの実装

大学・大学院で情報系を学んでいる&学んできた人たちに少しでも追いつきたいと思い応用情報を受けることにしました。(資格がとれるからというより試験があって合否があった方が頑張れるので…)

友達と毎日1時間くらいUdemyの動画をみる形で応用情報の勉強をやっていきました。(動画自体は40時間くらい)

Udemyで試験範囲を一通り学んだあとは、試験前2週間程度で過去問10回分を3周くらいしました。

午前問題はわりとはやくから安定して7割以上とれてたのでよかったんですが午後問題が6割前後しか解けなくてずっと不安でした…。

9月#

  • Scalaの勉強をはじめた

scala-texttour of scala とかをやりました。

TypeScriptと比較して、型まわりの機能が多かったり(共変、非変のあたりとか)ビルトインのメソッドが多かったりして、学習コストはあるけどちゃんと学んだら堅牢で表現力豊かなコードがかけそうだな〜という印象。

コップ本も買いましたが途中まで読んで積んじゃってます。再開したい。

10月#

  • Evans本 をよんだ
  • Vimに入門したけど2日で心がおれた

Evans本を読みました。成瀬さんのDDD本を読んでから望んだので前半はわりと理解できましたが後半はサッパリでした…。🤔

IntelliJちょっと重いなあ…ということでNeoVimに入門してみましたがPluginがなかなかうまく動かなかったりしてIntelliJでやってることができる状態にするのめっちゃ大変やん…となり挫折しました。

11月#

  • Scala x PlayFrameworkで簡単なAPIサーバをつくった

学会準備のためあまり勉強できず、、

ScalikeJDBCの使い方が難しくて詰まった。あとScalaのimplicitがむずい。

12月#

  • 応用情報受かった
  • このブログをNext.jsでつくった

応用情報受かりました!🎉

午後が結構不安だったのでめちゃめちゃ嬉しかったです。(午前78%, 午後62.5%だった)

わりと広く浅く学べたのでこれからがっつり学ぶ必要が出てきたときの土台となってくれれば…と期待しています。。

Next.jsに入門しました。今までcomponentが増えてくると辛みが増していましたがcomponentを/pages/componentに配置するやり方が読みやすさ的にも書きやすさ的にもいいなと感じました。

あとはVercelへのデプロイが簡単すぎて感動しました。

詳しくはこちら をご覧ください。

まとめ#

最後まで読んでくださりありがとうございます。

あと4ヶ月でエンジニアとしてのキャリアがスタートするのでそこまで頑張って力を高めていちはやく技術力で会社に貢献できるようになりたいです。

2021年もがんばります。