2023年の振り返りと2024年の抱負を書いておく。すぐ忘れちゃうので

2023年の振り返り

一年を振り返るとこんな感じだった。

  • 1月〜3月: AWSの資格を集めてた。
  • 4月〜6月: AIの勉強しながらzennに記事を書いてた。
  • 7月〜9月: C言語のコンパイラ作ったりGPT-4で遊んだりしてた。
  • 10月〜12月: 本読んだりOS自作や現代ポートフォリオ理論を勉強したりしてた。

1月〜3月:AWSの資格を集めてた。

2022年の11月後半ぐらいから2023年の3月までAWSの資格を集めてた。 この頃はAWS使えばすべての課題を解決できると信じ切ってて、割と洗脳状態にあった。

資格取り終わってしばらくAWSの勉強から離れてみると、AWSって高いし設定項目も多すぎるので、そこまでいい製品ではないような気がしてきた。 たとえばこの記事とかはAWSの価格が高すぎることについて言及している。

また、最近になってほとんどの企業はAWSをAWSの言う通りに使ってるわけではないこともわかってきた。 資格で出てくるベストプラクティスって構築するのがすごく難しいし、そのベストプラクティスを知ってる人が少ないので、実際には別の構成となってることが多い。 ベストプラクティスを守るのが常に正義ってわけでもないので、この構成はベストプラクティスじゃないなぁって思いながら傍観している。 結局、正解なんてないわけだし。

あと、JavaScriptやReactやAWS Amplify周りの勉強も少ししていた。 そもそもAWSの資格を集め始めたのは、TypeScriptでCDKを書くのが面白そうだったからで、資格集めが一段落したタイミングでJavaScriptの勉強をしていた。 ブラウザのJavaScriptとnodejsの違いを理解したのとJavaScriptの実行モデルが複雑なこととかを学んだ。 それに関連してReactの勉強もした。 関数コンポーネントとかReact HooksとかReduxとかが面白かったことを覚えている。 AWS Amplifyも少し触った。 GraphQLでサーバー側のデータベース更新のイベントをブラウザ側に通知するというのが面白かったことを覚えている。 この辺は進化が激しすぎるので、必要になったタイミングで勉強するようにして、深入りはしないようにしたい。

4月〜6月: AIの勉強しながらzennに記事を書いてた。

4月に自作PCを作った。記事

この自作PCでDeep Learningの勉強していた。 CNNとRNNあたりまで知ってたけど、その先のことを知らなかったので勉強した。 結果として以下の知識を得られた。

それぞれのモデルについて自分でデータ探してきて動かしたので、理解度は高いと思う。 また、最新のモデルになればなるほど自分で学習させるのが難しいこととわかった。

あと自作PCでkubeflowを動かしたくてk8sも勉強していた。 k8sの勉強は中途半端になっている。 k8sって理想は素晴らしいけど実際に扱うのは難しすぎると現段階では考えている。

7月〜9月: C言語のコンパイラ作ったりGPT-4で遊んだりしてた。

Cコンパイラ自作の記事を見つけて面白そうだったので、Cコンパイラを自作し始めた。 途中で中断したりして2024年1月になってもまだ完成していない。 とりあえずセルフホストまではやろうと思っている。

コンパイラの自作をやってパソコンの仕組みとかC言語のこととか何も知らなかったことに気づいた。 コンパイラを作る中で得た細かい知識はZennのスクラップにまとめている。

GPT-4を使うようになった。 LibreChatというOSSからAzure OpenAIのGPT-4を使っている。 LibreChatが応援したくて、Issue立てたりThird-Party Toolsにプルリクを送ったりした。

また、RAGを作りたくていくつかのベクトルDBも試してみた。いくつか試した感じだとMongoDBとOpenSearchが使いやすかった。 この分野は成長が早いので新製品が出るたびに勉強してたらきりがないので、ある程度時間が経ったら勉強したい。 個人的にはDynamoDBのベクトルDB機能かCloudflare Vectorizeに期待したい。 少し試した感じだとベクトルって結構容量が大きいので、すべてのデータにベクトルを付与して保存するようになったら、クラウドの費用が上がりそう。

10月〜12月: 本読んだりOS自作や現代ポートフォリオ理論を勉強したりしてた。

以下の本を読んだ。

  • 官僚制のユートピア 記事
  • Cプログラミング診断室 記事
  • ケーキの切れない非行少年たち
  • ブルシットジョブ 記事

以下の本は途中まで読んだけど、最後まで読めなかった。2024年に読みたい。

  • 型システム入門
  • 21世紀の資本
  • 負債論
  • ゲーデルと20世紀の論理学

Cコンパイラ自作がマンネリ化してきたので、このリポジトリを参考にOS自作の勉強も始めた。 とりあえずgrubから自作OSを起動するサンプルプロジェクトを作った。 OS自作は学ぶべきことが多くて非常におもしろい。

投資の勉強の一環として、現代ポートフォリオ理論を再度学習した。 大学院時代に一時期勉強してたけど本読みながら数式を追ってただけだったので理解度が低かった。 今回は実際の株価のデータ使いながら分析しつつ勉強していた。 あと実際に投資も始めた。

2024年の抱負

2024年の抱負を書いておく。

  • 本を読む。
  • 勉強を続ける。
  • なんか始める。

本を読む。

2023年の後半に人文系の本を読んで面白かったので、2024年も人文系の本を読みたい。 具体的な本の名前を書いちゃうと逆に読まなくなっちゃうので、ここでは書かない。

あと、読んだことはすぐに忘れちゃうので、ノートを持ち歩いて読んだ本の内容を書き留めていきたい。

勉強を続ける。

自由気ままに勉強しているので、ここに目標を書いておいても何の意味もないと思うけど、一年後に読み返すと楽しそうなので書いておく。

コンパイラ自作とかOS自作とか低レイヤーの勉強がかなり面白かったので続けたい。 コンパイラとOSが終わったら、ルーターとかコンテナランタイムとかデータベースとかニューラルネットワークのライブラリとか、その辺を自作したい。 (こんなの全部作ってたら人生終わりそうだけど。。。)

最近Sparkのコア部分がScalaで書かれていることが気になっているので、この辺りをなんとなく勉強したい。 Scalaって関数型言語の中でも難しい部類に入るという認識で、そういった言語がSparkのコア部分に使われていることが気になっている。

Scalaに関連して型システムも勉強したい。 型システムって20世紀初頭の論理学の研究から発展しているので、その辺りの論理学と型システムの関係を理解したい。 そもそも型システムを知らないので相当時間かかりそうだけど。。。

あと、せっかく数学が得意なのに統計学の知識がないから社会で使えていない気がしているので、統計学を勉強したい。 統計学の先に金融工学とかもあるので知っとくと投資にも役立ちそう。

金融工学に関係して、会計とか経済学の勉強もしたい。 会計は現代社会では益々重要になっている上で、ファンダメンタル分析にも必要なので勉強したい。 経済学もマクロ経済とかあんまり理解してないので理解しておきたい。

あとは英語とか。。。 勉強したいことはたくさんある。

なんか始める。

2023年は勉強ばっかりしてたので、2024年は何か新しい遊びを始めたい。 気分を変えるために、身の回りのモノの買い替えから始めようかな。