1年間実務経験を積んできて学んだこと（2年目）

## はじめに
こんにちは、Ryutaroです。

気づいたらこの記事を書いてからちょうど1年経っていました。

https://qiita.com/ryutarom128/items/be0ccca1048592284d07

ということで、この記事を通して1年の振り返りをしていきます。

その前に参考までに自己紹介です。

- 情報系の大学の3年生（2024年2月時点）
- 2022年4月～2023年3月: O社でインターン
- 2022年11月～現在: K社でインターン

## 月ごと
### 2023年4月
- リコメンドシステムのプログラムをフルスクラッチで書いていた。しかしプログラムが複雑になりすぎて自分でも何を書いているか分からなくなり断念した。今ではオブジェクト指向についてもっと勉強していればもっとうまくいきそうな感じがしている
- PostgreSQLの環境構築をし、データベースの設計を行った。しかしNotionのテーブルで書いており管理が面倒だった。今ではdraw.ioをもっと早く使っておけばよかったと思っている
- Dockerによる運用方法について考えていた。今では、あのプロジェクト初期段階でDockerを使う必要はなかったなと思っている。Dockerでも動かせるような設計にしておけば良いだけかなと思っている

### 2023年5月
- ロリポップマネージドクラウドのサーバーにデプロイした。少し使いづらい部分もあったけど、デプロイのいい練習になった。ドキュメントが少なかったので自分で試行錯誤しながらできて面白かった
- SQLite3の環境構築をした

### 2023年6月
- 論文要約サイトを作ろうとしたけど断念した。機能を多くしようとしすぎたのと、こだわりすぎた。ドキュメント書くのもいいけどそこよりももっと先にやるべきことがあるなと思った。今見たらここまでは完成させていた↓
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2906464/d1e1f18e-86b5-cd1f-5ef8-7414afbfbdd2.png)
- 同時進行でタスク管理アプリも作ろうとしていた。6月は設計書を書いていた
- 大学の授業を通して設計書の重要性を知った

### 2023年7月
- QiitaとGoogleアナリティクスを連携した。（[参考](https://help.qiita.com/ja/articles/qiita-google-analytics)）この画面↓を見るだけで楽しかった。自分が書いた[この記事](https://qiita.com/ryutarom128/items/6e5d36efb136f9595f07)の表示回数が落ちずに一定を保ち続けていて記事を書くモチベーションに繋がっている
![Untitled.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2906464/e3f4dcec-47d3-2566-2aa2-32c8eb6f5b81.png)
- 大学の実験でwebサーバをフルスクラッチ？で作った。ポートを指定して開いて、ソケットを使って通信を行えるようにした。比較対象として、ApacheとNginxを使ってDockerコンテナ内でサーバを立てた
- フィッツの法則に関する大学の課題で、人間の反応速度を調べるためにArduinoを使った↓
![IMG_9858.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2906464/d914e157-9cd4-41c4-f213-c59b256a0763.jpeg)

### 2023年8月
- 大学の授業でCPUについて勉強した。0と1だけでなぜCPUが作れるのかが少し分かった
- [このサイト](https://nextjs.org/learn/dashboard-app)でNext.jsを勉強した
- OpenAIのAPIやLangChainを使って文章の要約をしようとしていた。処理効率を考え切れておらず請求額がやばかった

### 2023年9月
- 記録なし（バイクの免許を取るために自動車学校に通っていて忙しかった）

### 2023年10月
- DjangoでWebアプリを開発していた（業務）
- 6月に出てきたタスク管理アプリの開発をしていた
    - Googleアカウントでログインできるようにした
    - markdownで編集ができるようにした
    - コピーした画像を貼り付けられるようにした
    - 権限の管理を行った
    - 報酬管理もできるようにし、グラフを描画できるようにした
    - メイン画面↓
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2906464/3d3c71a0-94d5-65fc-1c42-6a9821cc8713.png)
- 大学の課題でDBについて調べた。RDBにおける正規化の方法を勉強したり、SQLを使った問い合わせの方法を実験したり、RDBとそのほかのDBの違いなどを調べたりした

### 2023年11月
- 独自の拡張子を設定し、その拡張子のファイルを開くと自身で作ったアプリが自動で開くようにする方法を知った↓
![sample_labnote.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2906464/6c019f27-7677-e499-6316-362bd86ec916.gif)
- 大学の授業でUMLについて勉強した。ユースケース図やクラス図などを知った

### 2023年12月
- 大学の授業で、C言語を使って画像処理（フィルタリング）をした。久しぶりにC言語を扱って、前までは理解できなかったポインタのイメージが掴めた。DjangoでDB操作を経験したからそれができたのかなと思った

### 2024年1月
- Djangoでテストコードを書いた
- MySQLにおいて一意制約を設けたいときには767bytesまでに制限されることを知った（[MySQLドキュメント](https://dev.mysql.com/doc/refman/8.3/en/create-index.html#create-index-column-prefixes)）。そのせいでDjangoでMySQLを使ったとき、unique=Trueにするとmax_lengthは255文字に制限されることを知った（[Djangoドキュメント](https://docs.djangoproject.com/ja/5.0/ref/databases/#character-fields)）

### 2024年2月
- 大学の課題で、手だけで文字入力ができるシステムを作った↓
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2906464/87666930-6be2-2d5d-c484-2dac2cf14e1b.png)
- paizaを使ってアルゴリズムを勉強することにハマっていた
- locustを使ってAPIサーバの負荷テストをする方法を知った
- Webスクレイピングに関する新サービスを開発していた（業務）
 
## まとめ
この1年間を振り返ると、かなり大変だったけど着実に成長できたなという印象を抱きました。
大学の実験や課題レポートに時間を追われていることが多かったですが、そのおかげで知識を深めることができたのは良かったです。
次の1年は、自分が作ったサービスを世の中にちゃんと公開することを目標にしていきます。

最後まで読んでいただき、ありがとうございました！