狠狠撸

狠狠撸Share a Scribd company logo
CRUDアプリから一歩踏み出す
3つのアプローチ
2017.07.26 @kurikazu Laravel LT night #1
https://blogs.yahoo.co.jp/rokuken06/GALLERY/show_image.html?id=39909503&no=0
自己紹介
? @kurikazu
? ディップ株式会社
? プロダクトマネージャと
エンジニア採用まわりの
あれこれ担当
? iOSとLaravel界隈に
います
[Laravel] CRUDアプリから一歩踏み出す3つのアプローチ
Laravelを使う人が
ふえてきた
「はじめの一歩」的な記事も
だいぶ揃ってきた印象
https://mayonez.jp/topic/1824
そのまま
プロダクトに投入できるか
ちょっと工夫が必要かも?
今日の話
Laravelで「CRUDアプリ」から
一歩踏み出すために
自分がやってみたこと
1. 「どこでもFacade」を疑う
class JobController extends Controller
{
public function postEntry(Request $request, $id)
{
$validator = Validator::make($request);
if ($validator->fails()) {
return redirect()->route('entry')->withInput()->withErrors($validator);
}
try {
$entry = new Entry();
$entry->id = User::find($id)->uid;
$entry->value = $request->input(‘name');
$entry->hoge = Session::get(‘hogehoge');
$entry->save();
Mail::send('emails.welcome', $request, function($message){
$message->to($request)
->subject(‘登録できました');
});
Log::info('entry', $requests);
return view('entry.success')->with('data', $entry);
???
1. 「どこでもFacade」を疑う
? Facadeのいいところ
?様々な機能クラスを簡単に扱える
?どこでも使える
?Laravelの特徴とも言える機能
? 知らない間に密結合なクラスに…
? テストを書くのがすごく大変
1. 「どこでもFacade」を疑う
? Facadeを使う前にちょっと考える
↓
その機能はそのクラスで使うべきものか?
? 機能を外から与える
(密結合に早く気付けるようにする)
? 必要に応じてクラス?階層を分ける
2. Model=Eloquent を疑う
2. Model=Eloquent を疑う
? EloquentのおかげでDB連携が簡単にでき
? Eloquentを使う事で起きる制限事項
?1テーブル=1Model
?複合キーは考慮されてない
?created_at, updated_at
? テーブル設計がFWに引っ張られる
2. Model=Eloquent を疑う
? EloquentはDB連携の手段の1つである
? クエリービルダもある
? 生のSQLも書けるよ
↓
必要に応じて使い分ける
3. FWのコアに触れる
3. FWのコアに触れる
? Laravelはいろんな機能が揃っていて、
それらを組み合わせれば何となく動いて
とても便利だけど…
? 何がどう動いてるかわからないのは
なんとなく気持ちが悪い。
? 本番投入後に vendor 配下でエラーが
出たら?初見で解析するのは辛い
? 割と辛い
? でも、各機能がなぜ動いてるかわかる
?オートロードの仕組み
?artisan optimize がなぜ有効か
?設定ファイルを読み込むところ
?サービスプロバイダが機能を登録するところ
?サービスコンテナの動き
…
↓
Laravelをちょっと知った気持ちになる
3. まずindex.phpを読んでみる
Laravelに限らず
フレームワークを使うときに
言える話
とくに Laravel の場合
? 他機能、重厚でゆるふわなフレームワーク
?Modelフォルダが無いし
?Appルートさえどこに置いても良い
?デザインパターンも自由
↓
カオスになりやすい
とくに Laravel の場合
? 結果的にデザインパターンや設計手法を
考えざるをえない
? 考えながら作ろう
? 作りながら改善しよう
? やっぱりテストコードいるよね…
実践でのいろんな話
Laravel Meetup で教えてください!
(たぶん、またやります。)

More Related Content

What's hot (20)

PDF
最近のSpringFramework2013 #jjug #jsug #SpringFramework
Toshiaki Maki
?
PDF
Spring Bootキャンプ @関ジャバ #kanjava_sbc
Toshiaki Maki
?
PDF
OpenShift のある生活
Yoshimasa Tanabe
?
PDF
中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)
Yuuki Namikawa
?
PDF
尝补谤补惫别濒5を使って开発してみた
Takeo Noda
?
PDF
Spring4とSpring Bootで作る次世代Springアプリケーション #jjug #jsug
Toshiaki Maki
?
PDF
Spring Boot + Doma + AngularJSで作るERP ?JavaQneバージョン? #jqfk
学 松崎
?
PDF
【Camphor ×サイホ?ウス?】selenium勉強会
Yuki Okada
?
PDF
ABC
Yumi Miyata
?
PDF
プロジェクトを成功させるための期待マネジメント冲中村洋冲础-3
Yoh Nakamura
?
PDF
Service Workerとの戦い ~ 実装編 ~ #scripty03
驰补丑辞辞!デベロッパーネットワーク
?
PDF
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
Kazuhiro Serizawa
?
PDF
产别丑补迟エクステンションの作り方
Ryo Tomidokoro
?
PDF
プロジェクトを成功させるための「期待マネジメント」冲测辞丑丑补迟耻
Yoh Nakamura
?
PDF
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
学 松崎
?
PDF
脱?独自改造! GebでWebDriverをもっとシンプルに
Hiroko Tamagawa
?
PDF
第八回 #渋谷Java 最近のjava PaaS事情
Kazuhiro Serizawa
?
PDF
Spring Bootで変わる Javaアプリ開発! #jsug
Toshiaki Maki
?
PDF
テ?フ?サミ関西2015冲関西て?働くという生き方(公开版)冲测辞丑丑补迟耻
Yoh Nakamura
?
PDF
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
Shuji Watanabe
?
最近のSpringFramework2013 #jjug #jsug #SpringFramework
Toshiaki Maki
?
Spring Bootキャンプ @関ジャバ #kanjava_sbc
Toshiaki Maki
?
OpenShift のある生活
Yoshimasa Tanabe
?
中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)
Yuuki Namikawa
?
尝补谤补惫别濒5を使って开発してみた
Takeo Noda
?
Spring4とSpring Bootで作る次世代Springアプリケーション #jjug #jsug
Toshiaki Maki
?
Spring Boot + Doma + AngularJSで作るERP ?JavaQneバージョン? #jqfk
学 松崎
?
【Camphor ×サイホ?ウス?】selenium勉強会
Yuki Okada
?
プロジェクトを成功させるための期待マネジメント冲中村洋冲础-3
Yoh Nakamura
?
Service Workerとの戦い ~ 実装編 ~ #scripty03
驰补丑辞辞!デベロッパーネットワーク
?
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
Kazuhiro Serizawa
?
产别丑补迟エクステンションの作り方
Ryo Tomidokoro
?
プロジェクトを成功させるための「期待マネジメント」冲测辞丑丑补迟耻
Yoh Nakamura
?
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
学 松崎
?
脱?独自改造! GebでWebDriverをもっとシンプルに
Hiroko Tamagawa
?
第八回 #渋谷Java 最近のjava PaaS事情
Kazuhiro Serizawa
?
Spring Bootで変わる Javaアプリ開発! #jsug
Toshiaki Maki
?
テ?フ?サミ関西2015冲関西て?働くという生き方(公开版)冲测辞丑丑补迟耻
Yoh Nakamura
?
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
Shuji Watanabe
?

Viewers also liked (20)

PDF
ビルドサーバで使う顿辞肠办别谤
Masashi Shinbara
?
PDF
笔贬笔で笔辞蝉迟驳谤别厂蚕尝と笔骋谤辞辞苍驳补を使って高速日本语全文検索!
Kouhei Sutou
?
PDF
贵颈谤别产补蝉别て?のファイルアッフ?ロート?処理と便利ライフ?ラリの绍介
Fumiya Sakai
?
PPTX
アプリチームを支えるSlack bot
Kazuaki KURIU
?
PPTX
尝补谤补惫别濒チュートリアルを作ってみた。
Futoshi Endo
?
PPTX
Laravel LT
Iwama Ryo
?
PDF
カスタムトランシ?ションやシ?ェスチャーを生かした鲍滨の実装ホ?イント
Fumiya Sakai
?
PPTX
20151205フルスクラッチcms作成のノウハウ With Laravel
Takumi Yoshida
?
PDF
指の动きや迁移时等のアニメーションを生かした鲍滨のサンフ?ル解説
Fumiya Sakai
?
PDF
わかってるフレームワーク Laravel
Masashi Shinbara
?
PPTX
闯补惫补厂肠谤颈辫迟から利用する贵颈谤别产补蝉别
Takuji Shimokawa
?
PPTX
尝补谤补惫别濒を使ってみた
Jaeseop Jeong
?
PDF
レイヤードアーキテクチャを意识した笔贬笔アプリケーションの构筑
Masashi Shinbara
?
PDF
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
Mayumi Narisawa
?
PDF
Laravel の学び方と得られる学び
Masaru Matsuo
?
PDF
Laravel / Lumen 次の一歩
Yuuki Takezawa
?
PDF
テ?サ?インにもこた?わった鲍颈の事始め3
Fumiya Sakai
?
PDF
惭测厂蚕尝?笔辞蝉迟驳谤别厂蚕尝だけで作る高速でリッチな全文検索システム
Kouhei Sutou
?
PPTX
Phpフレームワーク 「laravel」て?フ?ロク?を作ろう
Syouta Tada
?
PDF
Laravel ユーザなら知っておくべきAuthオートログイン
Masashi Shinbara
?
ビルドサーバで使う顿辞肠办别谤
Masashi Shinbara
?
笔贬笔で笔辞蝉迟驳谤别厂蚕尝と笔骋谤辞辞苍驳补を使って高速日本语全文検索!
Kouhei Sutou
?
贵颈谤别产补蝉别て?のファイルアッフ?ロート?処理と便利ライフ?ラリの绍介
Fumiya Sakai
?
アプリチームを支えるSlack bot
Kazuaki KURIU
?
尝补谤补惫别濒チュートリアルを作ってみた。
Futoshi Endo
?
Laravel LT
Iwama Ryo
?
カスタムトランシ?ションやシ?ェスチャーを生かした鲍滨の実装ホ?イント
Fumiya Sakai
?
20151205フルスクラッチcms作成のノウハウ With Laravel
Takumi Yoshida
?
指の动きや迁移时等のアニメーションを生かした鲍滨のサンフ?ル解説
Fumiya Sakai
?
わかってるフレームワーク Laravel
Masashi Shinbara
?
闯补惫补厂肠谤颈辫迟から利用する贵颈谤别产补蝉别
Takuji Shimokawa
?
尝补谤补惫别濒を使ってみた
Jaeseop Jeong
?
レイヤードアーキテクチャを意识した笔贬笔アプリケーションの构筑
Masashi Shinbara
?
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
Mayumi Narisawa
?
Laravel の学び方と得られる学び
Masaru Matsuo
?
Laravel / Lumen 次の一歩
Yuuki Takezawa
?
テ?サ?インにもこた?わった鲍颈の事始め3
Fumiya Sakai
?
惭测厂蚕尝?笔辞蝉迟驳谤别厂蚕尝だけで作る高速でリッチな全文検索システム
Kouhei Sutou
?
Phpフレームワーク 「laravel」て?フ?ロク?を作ろう
Syouta Tada
?
Laravel ユーザなら知っておくべきAuthオートログイン
Masashi Shinbara
?
Ad

More from Kazuaki KURIU (8)

PPTX
尝补谤补惫别濒本とコミュニティの话
Kazuaki KURIU
?
PPTX
自社のメインプロダクトに骋辞を导入したぞ++
Kazuaki KURIU
?
PPTX
スマホアプリディレクターが考えていること
Kazuaki KURIU
?
PPTX
叠滨罢搁滨厂贰を使っています
Kazuaki KURIU
?
PPTX
惭别迟补诲补迟补リジェクトあれこれ
Kazuaki KURIU
?
PPTX
Yokohama North Meetup #2
Kazuaki KURIU
?
PDF
エンジニアのためのアイコン作成勉强会
Kazuaki KURIU
?
ZIP
罢补苍补产补迟补.迟谤补肠.尝罢発表资料
Kazuaki KURIU
?
尝补谤补惫别濒本とコミュニティの话
Kazuaki KURIU
?
自社のメインプロダクトに骋辞を导入したぞ++
Kazuaki KURIU
?
スマホアプリディレクターが考えていること
Kazuaki KURIU
?
叠滨罢搁滨厂贰を使っています
Kazuaki KURIU
?
惭别迟补诲补迟补リジェクトあれこれ
Kazuaki KURIU
?
Yokohama North Meetup #2
Kazuaki KURIU
?
エンジニアのためのアイコン作成勉强会
Kazuaki KURIU
?
罢补苍补产补迟补.迟谤补肠.尝罢発表资料
Kazuaki KURIU
?
Ad

Recently uploaded (13)

PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
?
PDF
AIツールを使った研究の効率化 Improving Research Efficiency with AI Tools
Tohoku University
?
PDF
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
?
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
PDF
渔船に搭载されている电子装备と渔法について冲痴搁颁海洋学研究会冲海の尝罢会発表资料
Yuuitirou528 default
?
PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
PDF
第3回テ?シ?タル理学疗法学会のシンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」での话题提供
Matsushita Laboratory
?
PDF
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
?
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
?
PDF
第3回デジタル理学疗法研究会学术大会シンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」の讲演资料.
Matsushita Laboratory
?
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
?
AIツールを使った研究の効率化 Improving Research Efficiency with AI Tools
Tohoku University
?
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
?
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
渔船に搭载されている电子装备と渔法について冲痴搁颁海洋学研究会冲海の尝罢会発表资料
Yuuitirou528 default
?
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
第3回テ?シ?タル理学疗法学会のシンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」での话题提供
Matsushita Laboratory
?
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
?
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
?
第3回デジタル理学疗法研究会学术大会シンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」の讲演资料.
Matsushita Laboratory
?

[Laravel] CRUDアプリから一歩踏み出す3つのアプローチ