プログラミング初学者が1ヶ月で得たスキルとコーディング以外のナレッジ

# はじめに
・本記事は、プログラミング初学者の私が神戸に来て__取り組んだこと__、そしてその中で__得たこと__をまとめる記事になります。

# 取り組んだこと
##### 主に大きく分けて```4つのカテゴリー```になります。
>__Potfy.me (チーム開発)__
>__Laravel sail (個人開発)__ 
>__Kobe Engineer's Lab (イベント運営)__
>__Qiita へアウトプット__

# 得たこと
### ・　Potfy.me (チーム開発)
---
```Potfy.me では、ユーザー自身のポートフォリオを　「　下書き　」　と　　「　公開　」　　で保存できる機能を実装しました。また、ポートフォリオの編集画面で 「　下書き　」　「　公開　」　の切り替えをできるようにし、公開タブと下書きタブで表示するポートフォリオの切り替え、ポートフォリオ一覧画面では下書きポートフォリオは非表示の機能も実装しました。```
公開タブ
![スクリーンショット 2022-01-28 19.32.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2383846/2c5d9b8f-0c1c-b89c-ce7e-fb4fe0fb618b.png)
下書きタブ
![スクリーンショット 2022-01-28 19.30.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2383846/ee5c5e0f-5b0f-643b-887a-6f71cb487ecf.png)
公開 / 下書き　保存切り替え
![スクリーンショット 2022-01-28 19.34.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2383846/fc5ee75d-4738-71c0-d085-dd764f72ccbd.png)

>__Github__

__1. git clone でローカル環境での環境構築__
__2. 機能毎にブランチを分けて、完成したら (今回は) develop に merge する。__
__3. PL への PR の作成__
__4. 新機能をリリースする際の PR の作成__

>__Skills__

__1. Service クラス・Repository クラスなどのサービスに応じたアーキテクチャでの実装__
__2. Bootstrap を使用しサービスに応じて実装__
__3. 三項演算子を使用した条件分岐の理解__
__4. Faker でテスト用のダミーデータを作成し実装の確認__

### ・　Laravel sail (個人開発) アプリ "BB'S"
---
```Laravel sail では、環境構築からデプロイまでを個人開発で行いました。今回は、スレッド投稿サイトでユーザー同士のメッセージのやり取りや、写真投稿、管理者によるユーザーのスレッド削除などの実装をいたしました。```
>__Docker__

__1. Laravel sail で Docker にコンテナの立ち上げ__
>__Skills__

__1. Laravel Breeze の認証機能の理解__
__2. guard で各リクエスト毎にユーザー認証定義を理解__
__3. Service クラス・Repository クラスなどのサービスに応じたアーキテクチャでの実装__
__4. エラーハンドリングで例外が起こった際の画面の制御__
__5. XSS攻撃の回避と URL を検出しリンク化する__
__6. AWS S3 を使用しサービスに応じて画像投稿を実装__
__7. サービスに応じて、マルチログインの実装__

### ・　[Kobe Engineer's Lab (イベント運営)](https://kobe-engr-lab.connpass.com/)
---
```Kobe Engineer's Lab では、主にイベント告知の 「　connpass　ページの作成　」 「　会場設営　」　や　「　イベント内の事務　」　に携わらせていただきました。 ```
![イベントの様子](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2383846/b76aa012-597e-e254-1bee-fa1ea13a581e.png)
>__Knowledg__

__1. 集客ベースで開催意図を明確化__
__2. 参加者に還元できるバリューを意識__
__3. 交流会のコミュニティー発展とイベント後の運用__

# 今後の取り組む内容とまとめ
- 参考書によるキャッチアップ

>[" Web を支える技術 "](https://www.amazon.co.jp/Web%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B%E6%8A%80%E8%A1%93-HTTP%E3%80%81URI%E3%80%81HTML%E3%80%81%E3%81%9D%E3%81%97%E3%81%A6REST-WEB-PRESS-plus/dp/4774142042)、[" リーダブルコード "](https://www.amazon.co.jp/%E3%83%AA%E3%83%BC%E3%83%80%E3%83%96%E3%83%AB%E3%82%B3%E3%83%BC%E3%83%89-%E2%80%95%E3%82%88%E3%82%8A%E8%89%AF%E3%81%84%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%9B%B8%E3%81%8F%E3%81%9F%E3%82%81%E3%81%AE%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%A7%E5%AE%9F%E8%B7%B5%E7%9A%84%E3%81%AA%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF-Theory-practice-Boswell/dp/4873115655)、[" パーフェクト PHP "](https://www.amazon.co.jp/%E3%83%91%E3%83%BC%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88PHP-%E5%B0%8F%E5%B7%9D%E9%9B%84%E5%A4%A7-ebook/dp/B00P0UDWQY/ref=sr_1_1?adgrpid=105972321498&gclid=Cj0KCQiAxc6PBhCEARIsAH8Hff0rJDkchXd7rs36UAPAIVgGbHQDSpGW_z-4I8gW2h9EyOdJLhzjC74aAi-KEALw_wcB&hvadid=553969634837&hvdev=c&hvlocphy=1009565&hvnetw=g&hvqmt=e&hvrand=13820228776863673394&hvtargid=kwd-333806024309&hydadcr=4072_13159912&jp-ad-ap=0&keywords=%E3%83%91%E3%83%BC%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88+php&qid=1643373001&sr=8-1)、[" オブジェクト指向でなぜつくるのか "](https://www.amazon.co.jp/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%81%A7%E3%81%AA%E3%81%9C%E3%81%A4%E3%81%8F%E3%82%8B%E3%81%AE%E3%81%8B-%E7%AC%AC2%E7%89%88-%E5%B9%B3%E6%BE%A4-%E7%AB%A0/dp/4822284654)　などで、キャッチアップをしコードに対する理解や可読性の高いコードを書くための理解を深めていきたいと思います。初学者向けの書籍では無いにしても、２年目やもっと早い段階で、これらの書籍の理解ができる様にアウトプットをしていくことが大切だと感じます。

- ローカル環境で実際に実装

>今回、Laravel sail に触れてみてドキュメントや Udemy などで学習しながら実際にコードを書いていくことで理解度とスピードに変化が見られたと実感しております。

あっという間に過ぎた 1 ヶ月でしたが、個人的には収穫のある期間だったと感じます。クライアント目線に立って考えられる姿勢やそこから生まれる解消しなければいけないタスクなど意識する観点でも変化があったと思います。
技術向上に邁進し、あらゆる環境から吸収をし続けたいと考えます。

最後までご拝読いただきありがとうございました。