研修内容を振り返る 2020.05~2020.06
まえがき
みなさんこんにちは、サーバサイドエンジニアの大川です。自分は2020/03/09からアンテクで働かせていただいています。前回の記事に引き続き5月から6月にかけての自分が研修内容と実際に実施した内容・振り返りなどを一か月毎に区切って記事にしたいと思います。(前回の記事はこちら→https://anteku.jp/blog/develop/%e7%a0%94%e4%bf%ae%e5%86%85%e5%ae%b9%e3%82%92%e6%8c%af%e3%82%8a%e8%bf%94%e3%82%8b-2020-042020-05/)
ご注意
- 本内容は研修を受けた自分が感じた主観であり、弊社の意向と異なる可能性があります。
- ご入社いただいたみなさんに必ず本研修を受けていただくということではありません。
- 研修内容に関してはメモを取っていましたが実際の内容と異なる可能性があります。
- 情報セキュリティの観点から一部実名を伏せて記載することがあります。
2020.05の自分のレベル
前提情報として2020.05時点での自分の知識レベルを簡単に書いてみます。
- マイグレートを実行してテーブルの作成をすることができる。
- Laravelアプリにユーザ認証機能を付与することができる。
研修のサポート
2020.04の記事と同じですが、毎日上司の方とzoomを用いて10分~30分程度のミーティングを行いました。また、弊社のSlackにある技術的な内容を質問できるチャンネルで詰まった部分の相談に乗ってもらったりしました。
2020.06までの主な研修内容
- 既存Webサービスのテーブル設計とSQLを考えてみよう。の続き。
- 実案件のフロントエンドのコードをもらってバックエンド側の処理を自分で書いてみよう。
研修内容をちょっと深掘り
既存Webサービスのテーブル設計とSQLを考えてみよう。の続き。
現在すでに世の中で利用されているWebサービスの一つの機能を上司の方と選び、当該の機能全体や個々のページを表示するにはどの様なテーブルが必要か、どの様なSQLを実行すれば必要なデータを取得することができるかを考えます。機能の視野を広げてさらに多くのSQLを考えます。
実案件のフロントエンドのコードをもらってバックエンド側の処理を自分で書いてみよう。
本当の案件で使用しているフロントエンドのソースを使ってバックエンド側の処理を自分で考えて記載します。本物のバックエンドのソースは見ずに自分だけで考えて実装してゆきます。一旦現状の自分の知識だけでソースを書いてみて上司の方にみてもらいアドバイスを受けます。
得た知識
- より多くのテーブルとの関係性と複雑なテーブル結合の方法
- SQLは一行づつ確認しながら記載してゆけばそこまで句では無い
- DBへの問い合わせはなるべく回数を抑える
苦労した点
- DBへの問い合わせ回数を減らす。
- クエリビルダを用いたデータ取得
苦労した点をちょっと深堀り
DBへの問い合わせ回数を減らす。
先月は表示するデータを取得することを最優先に考えSQL文を考えてきました。それこそselect文をたくさん並べるなどしていました。しかし実運用的にはレスポンスを重視するとDBへの問い合わせ回数は減らすべきであり最小回数で当該ページのデータを取得します。結合などの概念は理解はしてきましたが若干の苦手意識があり複数のテーブルに跨がる結合などはとても苦労しました。この頃の自分でも一行一行確認しながら記載すれば可能ではありましたが「DBアクセスを最小限にする」を考えながらだと非常に難しかった記憶があります。
クエリビルダを用いたデータ取得
SQL文を習得したことによりクエリビルダを用いたデータ取得をコードに織り交ぜる様になりました。今でこそ簡単にできますが、素のSQLとは若干異なる部分が苦労した思い出です。また取得したデータの配列の構造にも翻弄されました。
最後に
入社後二ヶ月が経過し少しづつ実践的な内容に入ってきました。一切実施したことない内容を習得できる時間感がすこしづつわかってきました。次の記事は2020.07までの研修内容をまとめたいと思います。