ryo’s blog

日々学んだことをまとめています.

2021年振り返り

軽い自己紹介

25歳ソムリエの Ryo です。以前はミシュラン2つ星レストランやワインバーに勤めていました。
現在はエンジニア転職を目指して、42TokyoでC言語を中心にコンピュータの基礎から学習しています。

はじめに

2021年を一言で表すと
「42」
これにつきます。
1月に入学試験のPiscineに参加し、4月に入学してから毎日約10時間以上を学習に費やしてきました。
そんな怒涛の一年間を振り返ってみます。

42で行ったこと

カリキュラム

  • libc, fgets, printfの再実装

  • TCP/IPサブネットマスクなどネットワークの基礎知識を学ぶ課題

  • DockerでLEMP環境の構築

  • シグナルを使ったメッセージの送受信を行う課題

  • 2つのスタックを限られた操作でソートする課題

  • X Window Systemのラッパーライブラリを利用してfractalを表示する課題

  • 食事をする哲学者の問題

  • bashの再実装(ペア課題)

  • debianをインストールしてパスワードポリシーやパーティションなどの基本設定を行う課題

  • IPv4のルーティングを学ぶ課題

その他

  • テストフレームワークの実装(ペア課題)

  • Go, Node.js, Vue.js の基本的な構文を学ぶ課題

  • 2週間に渡るPython版Piscineの参加

  • コードレビューを100回行う(課題によるが1回につき1時間程度)

  • 亀山会長に腹筋を見せる

  • Tutorになる

個人的に行ったこと
触った技術

C言語
1年間ほとんどCでコードを書いてました。 libcの再実装から始まり、2ヶ月間かけてbashの再実装を行ったりしました。

C++
主に競プロで利用していました。42の課題を通して基本的な構文やオブジェクト指向プログラミングについて学び始めています。

Python
42のPython Piscineをきっかけにちょっとした作業で使ったりしています。 Discord Botの作成、NBA API を利用したデータのグラフ化などを行いました。

Go
42の課題で軽く触れました。これから本格的に勉強していく予定です。

Node.js
Node.jsとsqlite3を利用してCRUD操作を行うREST APIを作成しました。

Vue.js
42の課題で軽く触れました。

印象的な課題

約2ヶ月に渡るbashの再実装は、これまで取り組んできた課題の中で一番濃かったです。
GitやNotionを利用して細かく情報共有を行いながら課題を進めていきました。
マニュアルやbashのソースを読みこむ必要があり、実装量も多いため時間をかけた分、学ぶことがたくさんあったように思います。
ここでコードの読みやすさや一貫性、機能の疎結合化などを意識するようになりました。
またペアの方がエンジニアとして10年以上の経験があったため、課題の取り組み方や実装方針の立て方、困難にぶつかったときの解決方法などを教わりました。
現在はここで学んだことを意識して日々の課題に取り組んでいます。

印象的なできごと

詳細は省きますが、亀山会長に腹筋を見ていただくという貴重な経験をしました。今年こそはマッチョになりたいです。
42TokyoのTutorになれたことも印象的でした。今後も積極的にコミュニティに貢献していきます。

今やっていること

Raytracingのペア課題に取り組んでいます。これでC言語の課題が終わるので1月中に完成させたいです。 C++、Goの勉強も少しづつ行っています。

今年の目標
  • firstcircle突破

  • AtCoder 入緑

  • アルバイト or インターン or 就職

  • ブログを月1回以上更新

改めて1年間を振り返って

42Tokyoで多種多様な人達と出会い、ともに成長していくことができたと思います。 さまざまな価値観や考え方に触れることで自分にない気づきを得ることもありました。 今後もピアラーニングを通じて成長していきたいです。

おわりに

出会ったすべての人に感謝です。2022年も頑張ります。