はじめに
はじめまして。hitomiと申します。現在、立命館大学の学部2年生で、主にGo言語を使ってバックエンドの開発をしています。今回は私が1年間でやったことをまとめていこうと思います。書籍、サイトに関しては、読了した月に書いています。ひと月でたくさんのことが書けるくらい頑張りたいです。
4月~5月前半
前年に引き続き、競技プログラミングをやっていました。このころにAtcoderで水色になったので引退して、開発方面の勉強を始めました。
5月後半~7月
ベンチャー企業で開発アルバイトをしていました。Vue.jsやExpress.jsやPostgreSQLを使って広告管理ツールを作っていました。
8月~9月
Go言語を始めました。技術書を読み始めたり、イベントにも参加したりと、一つの転換点になりました。
イベント
・【学生向け】Enablement Workshop 〜インターン前に学ぶべき良いコードの書き方〜
Goで著名なtenntennさんのお話が聞きたくて参加しました。
言語の文化を学んだり、ドキュメントなどの1次情報や内部実装などの0次情報を読むのが大事という話が印象に残っています。
他の言語はわからないですが、Goのコミュニティだとこういったすごい方の話を伺ったり質問したりできる環境が整っているので、一度はそういったイベントに参加するのをおすすめします。見えている景色が全然違うので、何か得られるものは確実にあります。イベントだと質問とか相談もしやすいです。
開発
・ウミガメプロジェクト
ひとりでウミガメのスープが遊べるWebアプリを作り始めました。
問題を追加したり取り出したりするAPIを実装しました。
書籍、サイト
・A Tour of Go
Goのチュートリアル的なやつです。他の言語を触ったことがないと難しいかも。
Concurrencyはやってないです。
・APIを作りながら進むGo中級者への道
Twitterでおすすめされているのを見て買いました。
REST APIを実際に作ってみるハンズオンで、並行処理とかテストとかも入ってます。
体系的に学べるめちゃくちゃいい本なのでおすすめです。5000円でも買います。
A Tour of Goをやった後にやるといい感じです。
・オブジェクト指向でなぜつくるのか
秋セメにオブジェクト指向の授業があったので先に読んでしまおうと思って買いました。
いい本でした。読んだ後の満足感がすごかったです。
プログラミングやCSがちょっとわかっている(B2)くらいだと読めると思います。
コラムがおもしろいです。
・リーダブルコード
言わずと知れた良書です。ここらで読んでおこうと思って購入。
開発をやりたい人は読んでおくといいと思います。
「いいコードとは何か」がなんとなくわかって、心持ちが変わるんじゃないかなと思います。
・コンピュータはなぜ動くのか
思っていたのとは違って、CSの基本的なことがまとまっている本という感じでした。
しっている内容ばかりで、自分にはレベルが合わなかったです。本屋で実際に確認することの大切さを実感しました。
B1のときに読んでおくとよかったかなあと思います。
・わかばちゃんと学ぶ Git使い方入門
Gitを勉強したいと思って買いました。
マンガということで内容は結構薄く、自分には合いませんでした。
10~11月
夏休みであまり進捗が出せなくてまずい!となっていました。
初めてハッカソンに参加したり、趣味開発、低レイヤー、リスニングを始めてみたりと、挑戦がありました。来年のISUONに向けた勉強も始めました。
イベント
・技育CAMP vol.10
初めてのハッカソンに参加しました。
作品のリポジトリはこちらです。
詳しい話は以前書いた記事を見てください。
・技育CAMP vol.11
10月に続いて11月も参加しました。
作品のリポジトリはこちらです
開発
・ウミガメプロジェクト
独自エラーやロギング、認証を実装しました。
OAuthを使うのが無難という話だったのですが、せっかくなら自分で実装してみたいということで、この記事を参考にして実装しました。
メール認証も導入したのですが、smtpパッケージでうまく送れたときは気持ちよかったです。
書籍、サイト
・作ってわかる! はじめてのgRPC
先ほど紹介した「APIを作りながら進むGo中級者への道」の著者であるさき(H.Saki)さんが書いてくださいったZennの書籍です。
gRPCというプロトコルについてGoで実際に使ってみて学べます。
いい本です。
・[試して理解]Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識
低レイヤーもちゃんと勉強しないとなーと思って購入。低レイヤーに興味がある大学の友達と一緒に読み進めました。
いい本でした。OSについてきっちりまとまっていて、実際にコマンドを打ったりプログラムを動かして学べるので、頭の中のお話で終わらないのがよかったです。
・Classroom of the Elite, Vol. 1
「ようこそ実力至上主義の教室へ」という激おもろ作品の英語版Audibleです。リスニングの勉強に買いました。リーディングは英語訳のラノベ読みまくったらできるようになったので、リスニングも同じようにできるようになろうという試みです。
結果大成功で、かなり聞き取れるようになりました。
・Classroom of the Elite Vol. 2
上に同じです。
12月
イベント
・ Career Reflection for Gophers【京都開催】
6社共催で学生がキャリアについてディスカッションするイベントです。
ディスカッションでいろいろな人の話がきけたのが良かったです。
それだけでなく、懇親会では各企業からきてくださったメンターの方々にいろいろ質問したり、話がきけたりしたので本当に行ってよかったなと思います。
・Go Conference mini 2023 Winter IN KYOTO
地域のGoコミュニティが主催するミニカンファレンスです。前回仙台で開催されたのが引き継がれて、今年は京都での開催となりました。
やっぱりすごい人たちは内部実装とかproposalとか読んでるんだなあと思って自分の勉強計画を見直すきっかけになりました。
その後の懇親会もすごく盛り上がってて楽しかったです。
技術が好きな人たちと、自分の憧れの人たちと時間と空間を共有して楽しめたのが嬉しかったです。
書籍、サイト
・実践 Docker - ソフトウェアエンジニアの「Docker よくわからない」を終わりにする本
Dockerの勉強がしたいと思ってやりました。
Dockerの基本的な概念やコマンドをハンズオン形式で学べます。
いい本でした。これさえやれば基本的なコンテナの構築はできるんじゃないかと思います。
開発してるアプリで使用してるymlファイルはコピペなので、この本で学んだ知識を駆使して自力で改修したいなと思います。