4週目に入り、今週が終わると1ヶ月になりますね。
業務はLaravelでひらすら開発していく感じで、業務を通して今まで知らなかった知識のインプットとアウトプットが出来ています。
15日目
ググったら先週やり残していた壁を乗り越えられました
分からないときの「ググり力」もエンジニアは大切だと言われますが、今回はググって一応解決できました。
※ググり力 = Googleで検索して問題を解決する能力
つまずいていた箇所は、ざっくり言うと「ユーザーの最新情報を重複せず一つだけ取得して、かつ、その最新情報をもとにユーザーを並び替える」という内容です。
orderBy関数とgroupBy関数を使ってコーディングしたところ、
SQLSTATE[42000]: Syntax error or access violation: 1055 Expression
というエラーが発生しました。
ググったところ解決方法はいくつかあるようですが、
// trueからfalseに変更する。
'mysql' => [
'strict' => false,
],
これでエラー画面が表示されなくなりました。理由はわからないですね。
参考記事

エラーは解消されたものの
上記のエラーは解消されましたが、結局思った通りの出力がされず今日もここで止まったままでした。
案件自体はもう99%(デザインは除く)完成しているので早く次に移りたいのですが、最後の壁が高くそびえ立っている状態です。
16日目
ついに完成しました
昨日の内容からお察しの方もいると思いますが、データベースからの情報の抽出でつまずいていました。
複雑なSQL文をLaravelに書き下すのが非常に難しく、どう打開するか考えていたのですが、面倒見てくださっているエンジニアの方からビュー表を作ることを提案されました。
データベースから特定のカラムのデータを抽出して作る、仮想のテーブルみたいなもの
クライアントでビュー表を作ると、思った通りのデータが得られ、無事最後の壁を乗り越えました。
実務で初めて一人で0から開発して得たもの
アドバイスを得た箇所もありましたが、本日、一人で開発していた案件が終わりました。
明日見てもらいますが、好み(?)のデザイン以外の機能面などはおそらく大丈夫です。
ポートフォリオを作り上げるところまで知識で補えたところ、補えなかったところがあります。
補えたところは、やはりプログラミングスクールで習得した知識が中心で、実務でも活かすことができ良かったです。
私が通っていたTechAcademy(テックアカデミー)の記事はこちら
補えなかったところは、自分で思考して書いたことないようなコーディングで処理すべき箇所でした。
プログラミングは書いたことあるコードはすぐ思いつきますが、そうじゃないと考えないといけないので、経験と思考力の両方が必要だと実感しました。
17日目
主観で完成したと思っても完成じゃない
昨日自分の中では完成したと思っていたアプリを見てもらいました。
自分では想定していなかった箇所の指摘がありました。
デザイン面でのユーザーへの配慮やデータベース周りの細かいところです。
コントローラーでデータベースの操作をしますが、要求が細ければ細かいほど難しくなりますね。
実務を通してコーディングする力がついてきた
それでも、夕方までかかって指摘された箇所を全てクリアしました。
プログラミングスクールに通い、得た知識と多少調べながらポートフォリオを作っていた時と比較して、自分ができそうなことを選んで機能を追加していない分、ある意味無茶振りの中で考えながらコーディングする力がついてきました。
スクールでは、orderByメソッドをよく使っていましたが、今やっている案件では実務の中で知ったgroupByメソッドをよく使っています。
このように実務を通して知識も少しずつ広げています。
あるカラムに同じ値を複数もつレコードを一つにまとめる。
groupByメソッドについての記事はこちら
18日目
無事完成しました
午前中に最終チェックを受けて、先日から作成していた案件が無事完成しました。
想定より4日ほど長くかかってしまいましたが、その分学ぶことも多かったのでまぁ良しとします。
本格的にLaravelで開発した初めての案件なので、今後印象に残るのかなと思います!
2つ目の案件を開始
任せていただいたLaravel案件のうちの2つ目を作り始めました。
似たような作りの開発だと、慣れや開発力の向上に加え、作ったことあるストックから引っ張って来れるのでスピードは上がりますね。
今回はLaravelでの処理よりJavaScript(Ajax)を使うことが多くなりそうなので、食わず嫌いしているJavaScriptに腰を据えて取り組む必要がありそうです。
19日目
JavaScript(jQuery)で試行錯誤
今日から本格的に2つ目の案件の開発を開始しました。
バックエンドはLaravelのままですが、フロントエンドでの処理が多く、JavaScriptを多用します。
私自身JavaScriptとライブラリのjQueryは経験が浅く、Progateで一通りやったことはあるものの、複雑なコーディングはしたことがありません。
そのため、「やりたいこと分かっているけど、どう書けば良いか分からない」という状態に陥りました。
まだメソッドもあまり知らない状態なので、調べながらになって時間がかかり、あまり進みませんでした。
JavaScript(jQuery)の動きは好きです
バックエンドでの処理ではないので、リロードせずアニメーションするあの感じ?は好きなんですよね。
私がプログラミングスクールを卒業して開発したポートフォリオの「ラーメン広場」もJavaScriptを少しだけ使っていますが、ほとんどLaravelで開発しています。
少し前も話しましたが、お気に入り機能やフォロー機能はJavaScriptで実装した方がユーザーが使いやすいはずなので、習得できたら実装をJavaScriptに引っ越ししたいですね。
15~19日目 まとめ
- Laravel案件で0から開発して完成させる経験が積めました
- データベース周りの処理の知識の幅が増えました
- ユーザー視点(第三者目線)でのアプリの使いやすさをもっと意識すべきだと実感しました
- 今なおJavaScriptが手薄になっているので、まとまった時間をとって学ぼうと思いました
来週は課題となっているJavaScriptでの実装への苦手意識をできるだけ減らし、今やっている案件を着実に完成に近づけていきたいです。
他に任せてもらう仕事あれば、そこからも色々なものを吸収したいと思います。