今年は一言で表すと42Tokyoとコロナな1年でした。
要約
1月に42Tokyoの入学試験Piscineを受験、新型コロナウィルスの影響で開校が延期。4月からオンラインの特別カリキュラム開始、6月から42Tokyoが開校し本来のカリキュラムを進めています。
出来事
42Tokyo
去年42Tokyoの存在を知り、1月に入学試験Piscineを受験、合格しました。
その後、新型コロナウィルスの影響で42Tokyoの開校が延期。代わりに4月から1ヶ月間特別カリキュラムがありました。特別カリキュラムについては以下の記事を参照ください。
6月から開校し、本来のカリキュラムが始まりました。カリキュラムは基本オンラインで進めています。
カリキュラム
42Tokyoのカリキュラムでは以下の課題に取り組みました。
- 標準Cライブラリの再実装
- 指定ファイルディスクリプタから1行ずつ文字列を読み込む関数の実装
- ネットワークに関するクイズ問題
- printfの再実装
- Wolfenstein 3Dのような、Ray castingを使ったゲームの製作
- DockerでWebサーバ、DBなど全部入りのコンテナを立てる*1
- 過去作成したC言語の関数をアセンブリで再実装
現在は、Kubernetesで各種サービスを立ち上げる課題、bashの再実装に着手しています。
イベント
42Tokyoでは時々イベントが行われます。運営側が主催することもあれば、生徒が主催することもあります。以下のようなことをしています。
- コードゴルフ
- ラジオ体操
- 外部イベントの参加(CTF、CodinGame)
コードゴルフのお題はBrainf*ckの実装や以前の課題などです。終わった後、皆で実装を見せ合うのが勉強になります。
ラジオ体操は、毎日2-3回、決まった時間に皆とやっています。体操をするだけでなく、定期的に雑談や進捗を報告する場になっていて、モチベーション維持に役立っています。
オンラインで変わったこと
文章を書く機会が増え、積極的にコミュニティへアウトプットをするようになりました。
オンラインだと暗黙知が形成されにくいこともあり、なるべく課題で学んだこと、躓いたことは文章に残すよう心がけています。
レビューで説明するため様々なツールを使うようになりました。
Googleスライド、HackMD、Notion、A Web Whiteboardなど。オフラインの時は紙に書いて説明していました。
42Tokyoに入ってみて
- 多様な生徒に出会うことができました。
- 42Tokyoは学歴や職業などに関わらず、人を受け入れています。それまで交流関係が狭かったのですが、42Tokyoに入学してから様々な生徒と出会い、刺激を得ています。
- 生徒の役に立つツールを作るのが楽しいです。
- 多数の生徒が在籍しているので、ツールを作るとフィードバックが得られ嬉しいです。
- データを分析する楽しさに気づきました。
- 42ではAPIが提供されており、生徒たちが成績などのデータにアクセスできます。他国のキャンパスのデータも取得できます。
- データから予測を立て提示すると人を動かしやすく、楽しいです。
その他
42のカリキュラム外で作ったもの
AtCoderのスコアをSlackに投稿するツール
Discord Bot
42TokyoのDiscordサーバでBotを稼動させています。
42Tokyo用のBot以外に、ロール・チャンネル管理Botも作成して、時々使っています。
-
日別で各課題に合格(validated)、提出(submitted)、登録(subscribed)した人数を表示してみたり
入学時期別で成績分布をグラフにしてみたりしています(画像はダミーデータです)。
データの取得にはGASやPythonを使っています。
スマートホームはじめました
Google Home Miniを家族に貰ってから、Nature Remo mini、Switch Botカーテンを買って部屋で使っています。
Nature Remo miniと連携した音声でのリモコン操作は、リモコンを探す必要がなく快適です。Switch Botカーテンは、朝カーテンを自動で開けてくれるので目覚めがよくなりました。
読んだ本
- スッキリわかるC言語入門
- Head First C ―頭とからだで覚えるCの基本
- C言語を勉強するために読みました。
- すべてがFになる THE PERFECT INSIDER S&Mシリーズ (講談社文庫)
- Piscinerに教えてもらい読んだ本。1996年にこの本が書かれたのすごいです。
- 銀河ヒッチハイク・ガイド 銀河ヒッチハイクガイドシリーズ (河出文庫)
- 42の元ネタの本。「42」が出てくるのは意外と後の方です。
- Discord Bot運営実践入門
- Discord Bot開発の知見の宝庫でした。
- カイゼン・ジャーニー たった1人からはじめて、「越境」するチームをつくるまで
- 勇気がもらえる本でした。タスク管理、振り返りのやり方、とても参考になりました。
- 個人Webサービスシステム構成事典
- これを読んでHeroku + Papertrailを導入してみました。
- 数学ガールの秘密ノート/丸い三角関数
- 数学ガールの秘密ノート/ベクトルの真実
- 数学ガールの秘密ノート/行列が描くもの
- Ray castingの課題で数学の知識が必要になり読みました。数学が好きになれる本だと思います。
- Discord Bot開発実践入門
- 『Discord Bot運営実践入門』より初心者向けな本。初心者の布教用に購入。
- 失敗プログラマー
- 落ち込んでる時に読んで元気が出ました。
- プログラマのためのDocker教科書 第2版 インフラの基礎知識&コードによる環境構築の自動化
- Dockerの課題があり購入。インフラの教科書 + Dockerな感じです。
- 15Stepで習得 Dockerから入るKubernetes コンテナ開発からK8s本番運用まで (StepUp!選書)
- Kubernetesの課題があり読みました。
他、読みきってはないですが、『人を動かす 文庫版』が集団の中で上手くやっていく方法が書いてあり勉強になりました。立ち回りが上手い方はこの本に書かれていることを実践されてるように思います。
来年の抱負
- 42Tokyoの除籍システム、通称ブラックホールに吸い込まれることなく、来年中に基礎的な学習を終え、インターンに参加できるレベルに到達したいです。
- 42Tokyoに入って、便利なツールを作ったり、データを集め眺めて分析のようなことをするのが好きと気づきました。今の環境でできることをやっていきたいです。
来年もよろしくお願いします。
*1:Dockerの課題は、本来は各プロセスを別コンテナにするべきでしょうが、分離された環境で環境構築の練習をするのが目的なのかなと思います。