見出し画像

ジーズアカデミー_07_Laravel、ネットワーク、データベース設計


前提

  • ジーズアカデミーTOKYO 週末DEV25期に通学した個人の感想であり、ジーズアカデミーの公式見解とは異なります。

  • 「通ってよかった」を前提にした文章です。また、ビジネスにおける「結論を端的に」ではないのでだらだらとした文章です。

  • 自身の学びの復習を兼ねていますが、プログラミングに関する見解について論じたい訳ではないので、正確性は担保されていない点ご了承ください。

Laravel

 プログラミング未経験者にとって困ったのが、「卒業制作は好きな技術で自由にやっていいよ」という方針。決して否定する訳ではありません。
どんな技術があるのかよくわからない状況で「自由に」と言われても、私には難しい話なのです。

 個人的な見解としては、「Pythonで機械学習したい」とか「IoTやりたい」とか「fultterでスマホアプリ作りたい」というような明確にやりたいことが決まっていない限り、授業に沿ってLaravelでいいのだと思います。
授業に沿った内容だと、先生やチューターさんの支援を得やすいし、なんだかんだで同じようにLaravel選定して一緒に頑張る仲間が多いし。孤独な戦いほど厳しいものはないと思います。
 少なくとも、Hさん×2人KさんTさんと私の5人はLaravelの黄色い本を持っていたと思います。わかりやすかった本の相互共有もしていました。

 スクレイピングをしたかったのですが、私にはLaravelでPythonを動かす実力がない。ということをslackにあげていたところ、先生からGuzzleとDOMcrawlerの活用を教えてもらうことが出来ました。

 私が作るwebアプリの想定ユーザーはスマホ利用ですが、特にレスポンシブ対応しなくても、スマホでも違和感ないような見栄えになるようにしました。習得した内容で、対応の判断が出来るようにもなっていました。

 Laravelの授業当日は、授業のハイスピードさによりみんな生気が無くなっていました。しかしながら、一見穏やかに見える先生の熱い想いによりwithpivotまで教えてもらえたおかげで、マッチングした人とのチャット機能を実装することもできました。

ネットワーク

 ネットワークについては、座学のみです。なので、どのように手を動かしたらいいのか、というイメージは全くできていません。私なりの解釈としては、「将来起業してユーザー数が大きく増えた時には、投資してオンプレミスにする必要があるけれども、そもそもユーザーが1人いるかいないわからないMinimum Viable Productの段階で、セキュリティのために維持費用かけてカスタマイズや運用の工数と費用を投資しますか?それよりも今は早くMinimum Viable Productを作って、ユーザーヒヤリングを通して適宜ピボットすることでしょ。」ということを意識させる授業だったのだと理解しています。

 そうはいっても、Minimum Viable Productにおいても必要な知識もあります。Laravelの.envファイルには、DB_PORT=3306の記載もある訳で「なるほどーこの部分でmysqlについて記述しているのね」とか、GitHubのSSH接続における「PC側で秘密鍵と公開鍵の作成→GitHub側に公開鍵を登録→PC側に秘密鍵を保持」の流れにおける概要といった目先の対応に直結する知識も学びます。

 また、ジーズアカデミーの目先の活動に関係しなくとも、「海外駐在員にだけエラーが出て表示されません」や「心身の健康に関する情報は在宅勤務時は閲覧できません」が発生する要因はおそらくIPアドレスなんだろうな、というあたりもつくようになりました。そういうことが起きた時に、対応くださっている関係部署の方や迷惑をかけている従業員に適切なコミュニケーションを取れることも大事なので、本業へ活かせる内容も多い授業でした。「とりあえずドメイン更新申請出しといて」と言われたこともあったなーと過去の記憶が浮かんできたり。

 「心身の健康に関する情報は在宅勤務時は閲覧できません」って堅牢でいいことなのですが、「緊急事態宣言下でも出社しないとデータを取り扱えない」ということでもあり「従業員の心身の健康のために、健康情報を取り扱う担当者は(感染リスクの中)出社しないと行けない」ということも起きていたので、何ごとも表裏一体っすね…。

 そしてエラーの重要性も改めて感じました。月初に502エラーを見ても「従業員の皆さんが慌てて前月の勤務入力をしているのかな…」と予測できるようになりましたが、エラーが出ない真っ白な画面だと「どういうこと???」ってなるもんなー。いやーしかし、昨日の午後はブラウザにもTeamsにもアクセスすらできなくなってもうお手上げだった…。(こういう時に力を発揮するのがExcelやメールだったりする。私はアナログやレガシー全否定って訳でもないんだよなー。)

データベース

 リレーショナルデータベース、キーバリュー型データベース、ドキュメントベータベースという種類があることを理解。正規化はExcel取り扱う上でも意識せねば。正規化できていないExcelって存在していて、私は存在自体は否定していない。物事の検討段階のExcelなら正規化に過剰な時間かけなくていいんだけど、定常業務の工数増になるようなExcelはいかんからなー。

 ネットワークとデータベースは同じ先生が教えてくださったのですが、データベースの授業のほうが先生のシュールさがより出ていました。三大日本語にならないIT用語(エンティティ、オブジェクト、ドメイン)w w できるだけ難しい言葉を使わないように、とのことで、理論詰め詰めでなく、「マッチングアプリに必要なデータは何?」と先生が問いかけてみんな好き勝手に発言したり、「色々面倒くさいけど、今あるツール(例:chatGPT)でこんなことも出来ちゃうのよ」といった感じで便利ツールを教えてくださったり。先生でも面倒くさいと感じるんだなーと思ったりしながら、笑いながら受けていました。


 ただ、Laravel、ネットワーク、データベースの授業は前期と比較すると内容難しくなっているのに、授業時間は短い!!
 卒業した今、のんびりコーヒー飲んで振り返りしながら上記を書けているのであり、授業を受けた当時はマジでさっぱりだった…。この期間は課題提出はないですが、毎回予報なしで突然2~3時間の台風が来て通って去って行ったぞ、って感じでした…。

この記事が気に入ったらサポートをしてみませんか?