研修内容を振り返る ~2020.04
まえがき
みなさんこんにちは、サーバサイドエンジニアの大川です。自分は2020/03/09からアンテクで働かせていただいています。ほぼPHP未経験の状態での業務スタートということもあり、弊社の先輩方には今日まで手厚い研修をしていただきました。今回はそんな自分が研修内容と実際に実施した内容・振り返りなどを一か月毎に区切って記事にしたいと思います。
ご注意
- 本内容は研修を受けた自分が感じた主観であり、弊社の意向と異なる可能性があります。
- ご入社いただいたみなさんに必ず本研修を受けていただくということではありません。
- 研修内容に関してはメモを取っていましたが実際の内容と異なる可能性があります。
- 情報セキュリティの観点から一部実名を伏せて記載することがあります。
入社時の自分のレベル
ここで前提情報として2020/03/09時点での自分の知識レベルを簡単に書いてみます。
- Ruby on Railsで簡単なWebアプリ開発ができる。
- herokuを用いたアプリのデプロイをすることができる。
- Webの基礎が理解できている。(リクエスト、レスポンスなど)
- MVC構造を知っている。
- 物理PCにLinuxを導入することができる。
- MacOSを触ったことがある。
- 調べながらならPHPの制御構文を記載することができる。
研修のサポート
新型コロナウイルスの蔓延に伴いリモートでの研修となったため、毎日上司の方とzoomを用いて10分~30分程度のミーティングを行いました。また、弊社のSlackにある技術的な内容を質問できるチャンネルで詰まった部分の相談に乗ってもらったりしました。
2020.04までの主な研修内容
- Laravelアプリで筆算を出力する計算ドリルアプリを作ってみよう。
- SQLを実行できるようになろう。
研修内容をちょっとだけ深堀り
計算ドリルアプリ
まずはLaravelに慣れることを目的に、ランダムな二桁の数字を出力する筆算の計算ドリルの表示アプリの作成を行いました。環境構築から始まり、ルーティング、コントローラ、ビューの記載方法、各ファイルの設置場所など基礎の基礎の基礎くらいの内容を実施しました。ビューに表示されている画面をPDFとして保存するライブラリの導入も行いました。Laravelの動作環境はMacのローカルに直接構築しました。(DockerやAWSは未使用)MacのローカルにLaravelの環境を構築した時の手順はこちら→https://qiita.com/miriwo/items/adaaaeecae69d6392e08
SQLの実行
SQL文単体での実行経験がなかったためselect文などこちらも基礎の基礎の内容を実施しました。MySQLをMacのローカルに環境構築を行いSQLでDBを作成してデータを格納するところから開始しました。「すっきり分かるSQL入門」という本を持っていたのでその本を用いて進めて良いか上司の方に打診し、受け入れていただけたので、本の章ごとに区切ってSQL文の実行経験を積んでゆきました。MacのローカルにMySQLを導入した時の手順はこちら→https://qiita.com/miriwo/items/ef6a064bc545fbea29d9
得た知識
- Laravelアプリの作成方法
- ライブラリの導入方法
- LaravelのMVCファイルの場所や記載方法
- 環境構築そのもの
- SQLを用いたデータの操作
- テーブル結合
苦労した点
- Ruby on Railsとの差異
- MySQL8.0の環境構築
- JOIN句を用いたテーブル結合
苦労した点をちょっとだけ深堀り
Ruby on Railsとの差異
フレームワークの言語が異なるため差異があることは当たり前ですが、その差分に非常に驚きました。そもそもフレームワーク自体Railsしか触れたことがなかったので「ルーティング、コントローラ、ビューファイルの場所」がもう違ってプチパニックになった記憶があります。(今思うと落ち着いて両者を比較すれば焦る必要はなかったのかも・・・)最初想像していた以上にLaravelの馴染むことができず焦りました。「artisan コマンドってなんだよ!」と思っていました。
MySQL8.0の環境構築
先に記載した構築手順にはスマートに記載されておりますが、まあうまく構築できずにヒーヒー言ってた覚えがあります。MySQLは起動しているのにターミナルからログインできず、かつ、バージョンが8.0なのであまり知見がなく困りました。
JOIN句を用いたテーブル結合
SQL文の習得で非常に詰まったのがテーブル結合でした。今でこそ「リレーションを用いて他テーブルの関連するレコードのデータを取得する」ということが理解できていますが、実施すればするほど「結合とは・・?結局・・?」となった覚えがあります。おそらく考えて理解するよりたくさんJOIN句を用いたSQL文を実行して慣れた方が早かった気がします。理解するより真似して場数踏んで慣れるが自分にはあっているのかも?
さいごに
入社から一か月の主な研修内容を記載してみました。入社当時の自分と同じ様な境遇の方や駆け出しのエンジニアさんの一つの参考と慣れば幸いです。研修終了までこの様に一か月単位で記事にしていこうかと思います。