LaravelのOSSの プロジェクトを読んで お勉強してみてる話
by
Shimabukuro Megumi
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
LaravelのOSSの プロジェクトを読んで お勉強してみてる話 \Laravel初心者が/ 2019.05.25 Laravel MeetUp Okinawa 島袋恵(シマブクロメグミ)
Slide 2
Slide 2 text
アジェンダ - 自己紹介 - このテーマの背景 - やってみてること - わかったこと - 振り返り・まとめ
Slide 3
Slide 3 text
自己紹介 •- 島袋 恵(シマブクロメグミ) •- Twitter • - @20092014 •- Webアプリケーションエンジニア 1年生 (2019.3月) •- 好きな/気になる 技術領域 • - Laravel • - クラウド/インフラ
Slide 4
Slide 4 text
テーマの背景 - 最近、Laravelを使ってプロトタイプ作るお仕事をしてる - その中で、〇〇機能を追加しようとするときに、実装のイメージがわかないと か、この書き方でいいんだろうかとか、自分の中で課題がある - 足りないのは、みてきたコード、書いてきたコードの量が少ないのがダメそう - 似たような機能を持ったProjectはたくさんあるはず、探して読んでみよ う!!! - LaracomっていうLaravelで書かれたECサイトのOSSを見つけたので、こ れを読んで勉強してみていて、学んだことととか思ったことを話します (LaravelのOSSのプロジェクトを読んでお勉強してみてる話)
Slide 5
Slide 5 text
やってみてること - 公開されてるプロジェクトをローカルで動くようにする - ブラウザから触ってみてどんな機能がある調べてみる - その機能がどんな実装になってそうかとか、リレーションとかどうなって るか想像してみる(裏側を想像してみる) - コード読んでみる(答え合わせ) - 読んでみたことの疑問を調べて整理、勉強する
Slide 6
Slide 6 text
ローカルで動かすようにしてみる -例. LaracomっていうLaravelで書かれたプロジェクトの場合 -https://github.com/Laracommerce/laracom のリポジトリのREADMEをに立ち 上げかたが書いてある(DBの設定とかcomposer installとかいろいろ) -動かしてみると以下のキャプチャのようなECサイトが立ちあがる こんな感じのECサイトが 立ち上がる 管理画面 商品一覧画面(TOPページ)
Slide 7
Slide 7 text
ブラウザから触ってみてどん な機能があるか調べてみる - 一般画面 - 商品一覧表示,商品ページ,カートに入れる,購入手続き,etc… - 管理画面 - 商品登録,カテゴリ作成,ユーザー登録,role/permission管 理,etc…
Slide 8
Slide 8 text
裏側を想像してみる - リレーション想像してみたやつ描いてみる
Slide 9
Slide 9 text
実際にコード読んでみる① - リレーションをみてみる
Slide 10
Slide 10 text
実際にコード読んでみる② - TOPページ(商品一覧)の表示をルーティングから追ってみる web.php HomeController.php CategoryRepositoryInterface.php CategoryRepository.php
Slide 11
Slide 11 text
読んでみて疑問 - カテゴリの情報を引っ張ってくるのは、Category::find(2) ではダメな のか? 商品一覧画面(TOPページ) - こう書いてある - 単純にこんな感じでもかけそうだけど、そうしない理由がありそう
Slide 12
Slide 12 text
わかったこと - 調べてみた。これはリポジトリパターンというのを使っていそう - リポジトリパターンとは、ビジネスロジックからデータ操作を別レイヤへ移し分離隠 蔽することでコードのメンテナンス性やテストの用意性を高める実装パターン。デー タの参照先が変わってもプログラムの変更範囲は可能な限り限定的にしたい - なるほどわからん [参考]PHPフレームワークLaravel Webアプリケーション開発 P209 より
Slide 13
Slide 13 text
振り返り/まとめ - 公開されてるプロジェクトなど、いろんなコードを読んでみるとは勉強 になりそう(雰囲気だけでも、特に経験値が少ない人は) - すぐに理解できなくてもインデックスとして知識を残す - 「わからない、読めない」が調べる、勉強するきっかけになる - このProjectはたまたま適当に選んで読んでみてるだけなので、もし 初心者オススメの読んでみたら良さそうなOSSのプロジェクトなどあっ たら教えていただけると嬉しいです!