75
49

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめおの蚘事投皿

【🔰独孊】完党未経隓から独孊でポヌトフォリオ「だおたき」を開発したした【Laravel / Docker / AWS / CircleCI】

Last updated at Posted at 2023-06-14

はじめに

この蚘事は、私がWeb゚ンゞニアぞの転職を目指す過皋においお䜜成したポヌトフォリオの玹介蚘事です。

ポヌトフォリオの抂芁や、工倫点、苊劎した点などをこちらに曞かせおいただいおおりたす。
たた、独孊でどのように孊習しおきたかもこちらに曞かせおいただいたので、参考皋床にさらっず芋おいただけるず倧喜びです。

採甚ご担圓者が読んでいただいおおりたしたら、アプリの抂芁だけではなく、私のこれたでの独孊での孊習の道筋やアプリ開発で工倫した点・苊劎した点なども䞀床、読んでいただけたら幞いです。

䜜成者投皿時点

  • サヌバサむド゚ンゞニアを目指す24æ­³
  • 倧孊時代に日本語教員逊成課皋を修了:flag_jp:
  • たたに筋トレ、ラゞオ、カフェ巡り :coffee:
  • 掚しはダむアンのナヌスケ
  • 2022幎1月から本栌的に独孊を開始2023幎6月14日時点、孊習時間合蚈で931時間到達したした:confetti_ball:

目次

1. 䜜成したアプリに぀いお
2. 䜿甚技術
3. 基本蚭蚈
4. このアプリを䜜成した背景ず目的
5. アプリ䜜成から完成たでの振り返り
6. 独孊での孊習の道筋
7. お䞖話になったサヌビスや蚘事
8. おわりに

1. 䜜成したアプリに぀いお

孊習内容のアりトプットずしお、Webサヌビスを個人開発したした。
スクリヌンショット 2023-05-30 14.26.17.png

アプリ抂芁

アプリ名 : だおたき

URL  https://---- (AWS無料期間終了に䌎い、公開終了させおいただきたした:bow_tone1:)
レスポンシブ察応枈み、スマホからも閲芧できたす
GitHub : https://github.com/yuyamh/datemaki-blade

  • 日本語教垫向けの、䜜成した「教案」を共有・怜玢・保存できるWebアプリケヌションです。

教案ずは
日本語教垫が各授業のコマごずに䜜成する、授業の蚈画案を指したす。
教える単語や項目、時間配分、䜿甚教材を䞭心に、どのように孊習者に日本語を教えるかをあらかじめ授業前に決めおおくものです。

  • アプリ名は「Database for Teachers Making Japanese Lesson Plans」の頭文字を取っお「だおたき」ず付けたした。

アプリの特城

だおたきの䞻な特城は以䞋の通りです。

  • 䜜成した教案や教材の投皿・線集機胜画像・ファむルアップロヌド
  • 察象孊習者の日本語レベル、䜿甚テキスト、キヌワヌド、ナヌザヌ名からの投皿怜玢機胜
  • 気に入った投皿のブックマヌク機胜

画像むメヌゞ

ホヌム画面

スクリヌンショット 2023-05-30 14.26.17.png

投皿䞀芧画面

みんなの教案䞀芧

ナヌザヌが投皿した教案、教材、授業のアむディアを芋るこずができたす。
スクリヌンショット 2023-05-30 15.13.48.png

みんなの教案䞀芧以倖に、投皿䞀芧画面には次の機胜がありたす。

じぶんの教案䞀芧
自分が投皿した教案、教材、授業のアむディアをここで芋るこずができたす。
ブックマヌク䞀芧
ブックマヌクお気に入りした教案を芋るこずができたす。ブックマヌク自䜓は埌述の教案詳现画面で可胜です。
教案怜玢フォヌム
教案・教材は、怜玢フォヌムからキヌワヌド、孊習者レベル、䜿甚テキストの項目から絞り蟌んで怜玢するこずができたす。↓

search_record

投皿詳现画面

気になる投皿の内容が詳しく芋られたす。
ここでファむルのダりンロヌド・教案のブックマヌクが可胜です。
スクリヌンショット 2023-06-07 23.10.43.png
なお、投皿のサンプルデヌタずしお、ぱんず先生ずいう方から特別に教案を30件ほど拝借いたしたした。協力しおくださり、本圓にありがずうございたした。

ぱんず先生のブログはこちら↓

投皿䜜成・線集画面

投皿の䜜成・線集ができたす教案ファむルの添付は任意。
抂芁はマヌクダりン蚘法にも察応させたした。
スクリヌンショット 2023-05-30 15.26.43.png

マむペヌゞ

アカりント情報の確認アむコン・名前・パスワヌドなどができたす。
ここでアカりント蚭定の倉曎・削陀が可胜です。
なおゲストログむンした堎合は、アカりント情報が倉曎できないように実装いたしたした。
スクリヌンショット 2023-06-07 23.21.46.png

アプリの機胜䞀芧

今埌も機胜远加しおいく予定ですが、珟時点での機胜ずしおは、以䞋の通りです。

:pencil:メむン機胜

  • 教案投皿機胜CRUD
  • AWS S3を甚いたファむルアップロヌド機胜ファむル圢匏 : pdf, docx, zip, xlsx, jpeg, jpg, png
  • ペヌゞネヌション機胜
  • ブックマヌク登録・䞀芧機胜
  • 教案怜玢機胜キヌワヌド、孊習者レベル、䜿甚テキスト
  • ナヌザヌ怜玢機胜キヌワヌド
  • PHPUnitテストCircleCI
  • レスポンシブデザむンスマホ版察応

:lock:認蚌機胜

  • 䌚員登録 / ログむン / ログアりト
  • ゲストログむン
  • パスワヌド倉曎ログむン䞭
  • パスワヌドリセット非ログむン
  • アカりント情報線集アむコン、名前、メヌルアドレス
  • アカりント削陀
ブックマヌク登録

教案詳现画面から、ボタンクリックで登録可胜です。
ezgif.com-video-to-gif (2).gif

レスポンシブ察応

党画面察応枈みです。
ezgif.com-resize.gif

ゲストログむン

わざわざ䌚員登録しなくおも機胜を詊せるよう、ゲストナヌザヌを甚意したした。
ログむン画面及びナビゲヌションバヌのゲストログむンボタンから利甚できたす。
ezgif.com-video-to-gif (3).gif

2. 䜿甚技術

フロント゚ンド

  • HTML / CSS / Tailwind CSS
  • JavaScript

バック゚ンド

  • PHP 8.2.5
  • Laravel 9.52.7
  • MySQL 8.0.32
  • composer 2.5.5
  • PHPUnit 9.6.7
  • Node.js 16.20.0 / npm 9.6.6

むンフラ

  • Docker 23.0.5 / docker-compose 1.29.2開発環境
  • AWS (EC2, ALB, ACM, S3, RDS, CloudFormation, Route53, VPC, EIP, IAM, CloudWatch)
  • nginx 1.22.1
  • CircleCI 2.1

なお、開発環境の構築はLaravel Sailを甚いお行いたした。

その他

  • Git 2.39.0 / GitHub
  • PHPMyAdmin
  • Visual Studio Code
  • iTerm2
  • Notion
  • draw.io
  • Google Sheets
  • Google Slides
  • Google Document
  • MacOS

◟ なぜこの技術遞定なのかメむンのみ解説

メむンの技術であるPHP(Laravel)ずAWS、Laravel Sailを遞定した理由を簡単に述べたす。

  • PHP(Laravel)
    PHPを遞んだ理由ずしおは、調べた限り初孊者でも理解しやすく、求人数が比范的倚い蚀語だからです。たた、䜜りたかったWebサヌビスだおたきがPHPで䜜成可胜だったため遞定したした。

  • AWS
    AWSを遞んだ理由は、デプロむの際によく䜿われおいるサヌビスだったずいうのず、サヌバサむド゚ンゞニアを目指しおいるので、ある皋床むンフラの知識を孊習したかったためです。

  • Laravel Sail
    開発環境の構築がスピヌディヌにできるため、ポヌトフォリオの完成を最優先で進めおいた私にずっお最適な遞定でした。たた、孊んできたDockerの知識を掻かすこずができるため、あえおLaravel Sailを遞びたした。

3. 基本蚭蚈

むンセプションデッキ

別途、蚘事を䜜成予定です。

画面遷移図

スクリヌンショット 2023-05-30 23.26.33.png

ER図

IDEF1X蚘法で、簡易的に䜜成したした。
スクリヌンショット 2023-05-31 17.54.55.png

テヌブル定矩曞

䞊に蚘茉した抂芁レベルのER図を元に、テヌブル定矩曞スキヌマ蚭蚈曞を䜜成したした。

postsテヌブル投皿情報を管理

スクリヌンショット 2023-05-31 18.04.47.png

usersテヌブルナヌザヌ情報を管理

スクリヌンショット 2023-05-31 18.09.40.png

textsテヌブル䜿甚テキストの情報を管理

スクリヌンショット 2023-05-31 18.04.39.png

bookmarksテヌブルどのナヌザヌがどの投皿をブックマヌクしたかを管理

スクリヌンショット 2023-06-11 22.30.33.png

4. このアプリを䜜成した背景ず目的

なぜこのアプリを䜜成したのか

 倧孊時代に日本語教員逊成課皋ずいう、日本語を母語ずしない方々ぞ日本語教育を行う教垫を育成するプログラムに参加しおおりたした。
 日本語教育に぀いお孊習する䞭で、日本語教育の珟堎においお解決すべき課題は䜕かず考える機䌚が倚くありたした。たた、同時にプログラミングの孊習を始めおおり、䜕かITの力で日本語教育珟堎の課題の解決サポヌトができたら良いな、ず考えおいたした。
 そこで日本語教垫を志しおいた友人の協力を埗お、自分が解決できそうな課題を割り出し、その問題解決の䞀぀の策ずしお、この教案共有アプリ「だおたき」を䜜成したした。

䞻に日本語教育珟堎においお、珟状自分が課題だず思っおいる郚分は以䞋の2点です。

①日本語教垫の業務倖での負担が倧きい。

 近幎、教員の方々の業務時間倖劎働が問題になっおいお、日本語教垫もかなり倚い傟向がありたす。ただでさえ、課題添削や孊校運営・行事準備などに時間を取られる䞭、教案の䜜成に時間を割けたせん。そこで、だおたきで他の先生が䜜った教案を怜玢・参考するこずにより、教案䜜成に掛ける時間が短瞮され、結果的に業務時間倖劎働を枛らすサポヌトになりたす。

②日本語教垫が教材・教案・授業アむディアを共有する堎がそもそも少ない。

 これは自分自身が教育実習に向けお教案を䜜成しおいた際、自分の授業に取り入れられるような掻動はないかな、ず調べおいたずきに感じたした。教案や教材、授業のアむディアを自由にシェア・投皿できるサむトやWebサヌビス等はそもそも少ない䞊、教案の䜜成に特化したものは調べおみた限り発芋できたせんでした。
 誰でも気軜に自分の授業のアむディアをシェアできる堎を提䟛するこずで、日本語教垫間での教案の共有のハヌドルを䞋げたす。同時に、日本語教垫間での情報亀換ができる堎になるこずで、䜜っおきた教案を芋盎し、ブラッシュアップする機䌚を䜜るこずができたす。倚くのアむディアに觊れお、より質の良い授業䜜りを目指しおほしい、ずいう願いを蟌めお、このアプリを䜜成したした。

5. アプリ䜜成から完成たでの振り返り

工倫したこず

①アクセサを甚いた、開発環境ず本番環境におけるアップロヌドファむルのパスの統䞀化。

 ファむルアップロヌド時、開発環境においおはstorage/app/public以䞋ぞ、本番環境においおはAmazon S3バケットぞ保存されるため、パスが異なりたす。
 安易にif文で分岐させるのではなく、モデルクラスにアクセサを蚘述するこずで、コヌドの重耇をなくし、ファむルパスの取埗方法を統䞀したした。

app/Models/Post.php
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    use HasFactory;

        /**
     * The attributes that are mass assignable.
     *
     * @var array<int, string>
     */
    protected $fillable = [
        'title',
        'description',
        'level',
        'user_id',
        'file_name',
        'file_mimetype',
        'file_size',
        'text_id',
    ];

    // アクセサの戻り倀をプロパティずしお䜿甚する。
    protected $appends = ['file_url'];

    // äž­ç•¥

    // アップロヌドされた教案ファむルのアクセサ
    public function getFileUrlAttribute()
    {
        // Storage::url()で埗られる結果は、䜿甚するストレヌゞドラむバによっお倉わるため、ここで環境差異によるパスの倉化を吞収する。
        return \Storage::url('public/files/' . $this->file_name);
    }
}

②ファむルのアップロヌド・削陀

このアプリの肝はファむルのアップロヌドなので、ここは劥協せずに䜜成したした。
工倫しお開発した点ずしお、䞋蚘が挙げられたす。

  • 本番環境においお、アップロヌドされたファむルはAmazon S3ぞ保存する。
  • 開発環境でのシヌダヌ実行時、ファクトリで投皿デヌタが䜜成されるのず同時にstorage/app/public以䞋にダミヌのファむルが保存される。
  • マむグレヌションのロヌルバック・リフレッシュ時に、storage/app/public以䞋に保存されたファむルが䞀括削陀される。
  • 投皿時に、アップロヌドファむルのサむズKB・MBぞ倉換、MIMEタむプを取埗する機胜远加した時の䜿いやすさを想定しお実装。
  • 退䌚時に、自分がアップロヌドしたファむルが削陀される。

③PHPUnitを取り入れたバグの怜知

 デプロむ時に自動でテストが実行されるようにむンフラを構築し、バグがない状態でデプロむされるようにしたした。
 FeatureテストずUnitテストのどちらもチャレンゞしたした。カバレッゞずしお、投皿時点で70ほどありたす。

④ゲストログむンの実装

 わざわざメヌルアドレスずパスワヌドを甚意する手間を省き、ログむンしなくずも機胜を詊せるように、ゲストナヌザヌを甚意したした。
 アカりント情報の倉曎以倖は、䞀通り機胜を詊すこずができるように実装したした。たた、アカりント情報の倉曎はフォヌム偎で防ぐだけではなく、ポリシヌやゲヌトを䜿っお䞍正な操䜜による倉曎も防げるよう工倫しお実装したした。
スクリヌンショット 2023-06-12 23.26.35.png

⑀ナヌザにレビュヌしおもらい、指摘を元に改善珟圚修正䞭

 倧孊時代の友人たちに、このアプリを䜿っおもらい、䜿いごごちや改善すべき箇所を教えおもらいたした。
 以䞋に、改善点の䞀郚を抜粋したす。

  • レスポンシブ察応においお、むラストず文字が逆の方が読みやすい。
  • 「マヌクダりン蚘法」ずいう甚語には銎染みがない人もいるので、泚釈を付けお説明した方が良い。
  • 色が芋づらい郚分があるので、修正すべき。
  • 怜玢フォヌムの項目にあたり必芁ないものも入っおいるので、削陀すべき。

 実際、自分で開発するだけでは絶察に気づけなかった郚分の指摘をもらうこずができ、ナヌザ目線で制䜜物を芋るこずがいかに重芁なものかを再認識するこずができたした。

苊劎したこず

①UI/UXの調敎Tailwind CSS

 サヌバサむド゚ンゞニアを目指しおいるずはいえ、デザむンがボロボロのポヌトフォリオを䜜るわけにはいかないず思い、気合いを入れお孊習したした。
 しかし元々教材で孊習しおいたBootstrapではなく、自由床の高いTailwind CSSを利甚したため、より高いCSSの知識が求められたした。
 元々デザむンを考えるのは苊手だったため、特にテヌブルのレむアりトや、ホヌム画面・ナビゲヌションバヌなどに独自性を持たせお䜜成するのは本圓に骚が折れたした。そこは頑匵っお、持ち前である継続力ず根性で孊習したした。GridレむアりトやFlexboxなど、䜿えるものは積極的に䜿い方を孊習し、ポヌトフォリオにふんだんに取り入れたした。
 たた、劥協せずにレスポンシブデザむンにも挑戊したした。努力の甲斐あっお、スマホ版でもアプリを芋るこずができるようになっおいたす。

②FormRequestクラスを甚いたバリデヌションの実装

 投皿登録・曎新凊理でのバリデヌションでは、事前に䜜成したテヌブル定矩曞に沿っおルヌルを決めたした。しかし、どのようにルヌルを蚭定したら良いか、最初は戞惑いたした。たた投皿のしやすさも考慮しお蚭定する必芁がありたした。党おを必須項目にしおしたうず、気軜に投皿ができなくなっおしたい、投皿するたでのハヌドルが䞊がっおしたいたすので、バランスを考えるのが倧倉でした。
 ルヌルの蚭定は、最新のLaravel公匏ドキュメントや、他の方のGitHubを参考にしながら、䜿えそうず思った郚分を参考にしながら蚘述したした。たたテヌブルがどのように関係し合っおいるか、぀ながりを意識しおルヌルを蚘述したした。加えお、必須が倚くおも良いように䞋曞き機胜を远加しようず思いたしたが、あえおファむル添付を必須項目から倖したした。そうするこずで、より簡単に投皿できるようになり、投皿のハヌドルが䜎くなったず思いたす。
 この点は、ナヌザに実際に䜿っおもらっお、そのレビュヌを参考に改善させおいただきたした。

③S3からのオブゞェクト保存・取埗・削陀

 ファむルアップロヌドの方法やS3の蚭定を深く理解する必芁があり、本圓に苊劎したした。
 本番環境の構築においお、今回はファむルの保存先にAmazon S3を利甚したした。S3バケットぞのファむル保存・削陀は、なんずかうたく実装できたしたが、ファむルの衚瀺は䞀筋瞄ではいきたせんでした。
 うたくいかない原因を培底的に考えたした。「IAMナヌザの暩限に間違いはないか」「ファむルパスは間違っおいないか」など、䞀぀䞀぀確認し詊行したしたが䜕床やっおもS3䞊のファむルにはアクセスできない状態が続きたした。
最終的に刀明した原因ずしお、S3バケットポリシヌに、ファむルぞのアクセスが特定のIAMナヌザにのみ蚱可されおいたためでした。

【S3バケットぞのアクセス】
アップロヌドIAMナヌザS3FullAccess付䞎
画像衚瀺䞍特定倚数

 䞊蚘が理解䞍足だったため、バケットポリシヌにはバケットぞのアクセスは、党員ぞ蚱可ではなく、「S3FullAccessを付䞎したIAMナヌザのみ蚱可」ずいう蚘述にしおしたいたした。

④AWS + CircleCIでの自動テスト・デプロむ

 むンフラ構成図に蚘茉させおいただいたずおり、本番環境の構築ではCI/CDパむプラむンずしおCircleCIを利甚したした。
 むンフラの領域だったずいうのもあり、ちょっずずっ぀きにくかったなず個人的に思いたした。
 苊劎した点ずしおは、自動デプロむ・自動テストの流れから勉匷する必芁があったため、理解にも構築にもがかかったずころです。参考にした教材をそのたた真䌌るのではなく、自分の構築したい環境に合わせおカスタムする必芁がありたした。そのためテスト環境や各ツヌルの連携など、広範囲の蚭定をある皋床把握する必芁があり、孊習から構築完了たで、玄1ヶ月半ほどかかりたした。幟床ずなく「build failed」の文字が画面䞊に突き぀けられ泣きそうになりたしたが、流れの把握や各皮蚭定の芋盎しを行い、なんずか無事CI/CDパむプラむンを導入できたした。

今埌の課題

 だおたきの開発における今埌の課題は山ほどありたすが、特に改善したい点・盛り蟌みたい点におきたしおは䞋蚘の通りです。

①フロント゚ンドフレヌムワヌクの導入

 今回の開発では、孊習期間ず転職開始時期を考慮し、ポヌトフォリオの完成を優先させたため、JavaScriptフレヌムワヌクを利甚せず、党おBlade Componentsのみで実装したした。そのため、JavaScript自䜓は孊習したしたが、Vue.jsやReactずいったフレヌムワヌクの孊習はしたせんでした。より優れたUI/UXを導入したいので、今埌フロント゚ンドフレヌムワヌクの孊習をしおいきたいず思っおおりたす。

②本栌的な運営を意識した、セキュリティ面の匷化

 管理者暩限を持ったナヌザを甚意し、すべおの機胜を実行できるように蚭定しおおりたすが、それだけでセキュリティ面を補うには足りないず思っおおりたす。管理者画面を䜜成し、悪意あるナヌザヌの匷制退䌚やコンテンツの削陀などリゞェクト機胜を远加するだけではなく、セキュリティの知識をもっず孊習しお、より安党性の高いアプリ開発ができるようになっおいきたいです。

③Web技術の基本的知識

 基本情報技術者詊隓の教科曞を読み党般的に孊習したしたが、アプリ開発を通じおただただわかっおいない郚分が倚いず感じたした。プログラミングだけではなく、土台ずなるWeb技術の党般的知識を孊習し基瀎固めをしっかりしおいくこずで、より質の高いアプリ開発ができる゚ンゞニアを目指したす。

6. 独孊での孊習の道筋

ここからは、私自身の孊習ロヌドマップにフォヌカスしお述べおいきたす。

独孊を遞んだ理由

 単玔にお金がなかったずいう理由もありたすが、なぜスクヌルに通わず独孊での孊習を遞んだかに぀いお、䞋蚘2点の理由がありたす。
スクヌルや専門孊校に通いたいずいう匷い思いももちろんありたした、スクヌルず独孊、どちらが良い・悪いの話ではございたせんのでご理解いただけたすず幞いです。

①自分が本圓に゚ンゞニアになりたいのか、芚悟を詊したかったから。

 元々、倧孊4幎生䞭期にWeb゚ンゞニアずいう職業を知り、自分も゚ンゞニアになりたい、ず考え始めたした。しかし、そういう憧れを抱いおいるだけで、実際のずころは諊めずに本圓に仕事をやり切れるのか、技術が奜きになれるのか、ず自問したした。実際に゚ンゞニアずしお働きだしおからは、次々ず倧きな壁に盎面するず思いたすし、それを自分の力で乗り越えおいく必芁があるず思いたす。
 ただやっおみたい、ずいう憧れだけでやっおいけるような職業ではないず感じたした。自分が本圓にやり切れるのか、根性を詊すためにあえおスクヌルや専門孊校に通わず、自分で課題解決せざるを埗ない環境に身を眮きたした。

②自走力を぀けたかったから。

 䞊蚘の理由ず繋がっおいたすが、゚ンゞニアずしお働くためにより䞀局高い自走力を身に぀けるこずが重芁だず感じたした。独孊で孊習を進めるこずにより、自分の芚悟を詊せるのず同時に、課題を自己解決できる自走力を身に぀けられるのではないかず思いたした。
 実際、自分の孊習状況や開発の進捗状況の管理しおくれる人はいなかったため、独孊を続けるためには高い自己管理胜力が必芁でした。孊習を開始する前は、自分の自走力や積極性はただただ生半可であるず自認するほど䞭途半端な人間でしたが、今珟圚ポヌトフォリオを䞀段萜䜜り終えおみお、やりきる力が以前よりも付いたなず自分の成長に自信が持おるようになりたした。

 実際に独孊は蟛い面もありたしたが、もちろん楜しい面も倚くありたした。単玔に面癜さや探究心などが生たれ技術に觊れるのが奜きになり、1幎以䞊ず長い間孊習をコツコツず続けられたした。技術が奜きになった郚分が倧きいです。

孊習期間

  • 2022幎1月〜孊習開始
  • 2023幎6月にアプリを䞀旊完成させる。

 週5日、働きながら孊習を続けたため、ポヌトフォリオ完成たでに割ず時間が掛かっおしたいたした。
開始時点で、孊習期間は1幎間ず想定しおおりたしたが、1幎が経過した時点で目暙のレベルには到底達しおいなかっため、孊習期間を䌞ばしたした。
 孊習の進捗管理や継続させた蚌明ずしお、2022幎2月からTwitterに孊習蚘録を残しおおりたす。
 珟状、孊習を開始しおからは、予定がある日を陀いおほが毎日、コツコツ継続させおきたした。

孊習時に工倫したこず

自己孊習を継続・管理するため、䞋蚘の工倫を凝らしたした。

①勉匷䌚ぞの参加・䞻催

 ZoomやGoogle Meetで友人たちず決たった時間に毎日、各々奜きなこずを勉匷する堎を開きたした。開催するこずで、勉匷するきっかけを毎日䜜るこずができ、孊習意欲を維持できたした。たた、勉匷䌚の終わりに勉匷内容を報告し合うこずで、孊習内容のアりトプットができたした。

②実務を想定した開発

 実務未経隓なので、今埌プロゞェクトに参画したずきにすぐに戊力になれるよう、少しでも実務を想定しおポヌトフォリオを䜜成したした。特に意識付けした郚分は䞋蚘のずおりです。

  • Git/GitHubの䜿い方
     機胜の远加、修正をする際は、必ずブランチを切っお開発したした。たた、プッシュする際はプルリク゚ストを出し、レビュヌをしおからマヌゞするよう心がけたした。たた、積極的にissueを発行し、解決したらクロヌズするずいった手順を螏んで開発を進めたした。

  • なるべく公匏のドキュメントを読む
     新しい技術に觊れるずきや、実装の仕方がわからなくなったずきは、たずは公匏ドキュメントに目を通したした。難しい蚀い回しや技術甚語が列挙しおおり少々読みづらいですが、事前知識ずしお先にわからない甚語を調べ、それから公匏ドキュメントに戻るようにしお、読み慣れるように努力したした。

  • ゚ラヌ時は、゚ラヌ文を読んで仮説を立おおから修正する
     ゚ラヌメッセヌゞが出たずきは、目を通しお理解するようにしたした。読んでも理解できないずきは翻蚳しお内容を倧たかに理解したあず、゚ラヌの特定に移行するようにしたした。
     その時に頭の䞭で、こうしたからこのような゚ラヌが出たのではないか、ず自分の䞭で仮説を立おおいたした。そうするこずで、゚ラヌ原因を特定できたずきの理解床が䞊がり、「なんずなく盎したらうたく動いた」ずいう状況を回避できたす。

③目暙を蚭定し、スケゞュヌルを立おお開発する

 Notionを䜿甚し、1週間の䜜業内容をざっくり考えおから孊習・開発を進めたした。たた、目暙達成床がどれくらいであるか、自分なりに振り返り、明日進めるタスクを割り出しおから寝るように心がけたした。
 特に独孊での孊習なので、スケゞュヌル蚈画ず進捗管理は怠らないよう意識しお、孊習・開発を進めたした。

7. お䞖話になったサヌビスや蚘事

技術別に、メむンで䜿甚した孊習教材やサむト、蚘事を玹介させおいただきたす。

■ HTML/CSS/PHP/SQL/Docker

■ Laravel

  • Newmonz Laravel入門&実践
    これが無料で芋られるのかっお思うほど、このサむトだけでかなり孊習できたす。
    Laravelの孊習においお、盞圓お䞖話になりたした。控えめに蚀っお神教材です。
    人におすすめするずきは絶察にこちらを玹介したす。

■ AWS

■ CircleCI

■ テストコヌドPHPUnit

■ その他

■ ポヌトフォリオ䜜成時に参考にさせおいただいた蚘事やサむト

䜕床も䜕床も拝芋するうちにファンになりたした。

8. おわりに

 ここたでの勉匷期間を振り返っおみお、難しいな、蟛いなず思うような倧きな壁に䜕床もぶち圓たっおきたなず感じたす。しかし、それを䞊回る楜しさやワクワク感があったからこそ、孊習を続けるこずができたした。自分でちょっずやっおみよう、解決しおみようずなんでも積極的にトラむしおきたからこそ、楜しさ・面癜みを倧きく感じるこずができたのではないかず思っおいたす。なので、たずえこの道が遠回りになっおいたずしおも、独孊を遞択しお本圓に良かったず思っおおりたす。
 これから転職掻動をしおいく予定ですが、゚ンゞニアずしおスタヌトを切れた埌も、孊び続ける姿勢を忘れず、日々貪欲に孊習しおいきたす。そしおナヌザのニヌズに適切に応え、䟡倀を提䟛できる゚ンゞニアに必ずなっおみせたす。

2023/11/3 远蚘
箄2ヶ月半の転職掻動の末、Web系受蚗開発䌁業から内定をいただくこずができたした。
2023幎9月からサヌバサむド゚ンゞニアずしお働き始めたした
遠回りにはなっおしたいたしたが、ここたで地道に頑匵っおきお本圓に良かったです👍

皚拙な文章にも関わらず、この蚘事を読んでくださり、本圓にありがずうございたした:bow_tone1:
もし䜕か、間違っおいる点がありたしたら、教えおいただけたすず幞いです。

75
49
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
75
49

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?