Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Framework Study for Beginners
Search
DMTC
September 03, 2014
Programming
0
87
Framework Study for Beginners
勉強会「フレームワーク入門」で使用した資料
DMTC
September 03, 2014
Tweet
Share
More Decks by DMTC
See All by DMTC
Web Server Study for Beginners
dmtc
0
110
リーダブルコード入門
dmtc
0
170
DB Design Study for Beginners
dmtc
0
130
how to use "slack" in our Hackathon
dmtc
0
310
pitch_codeprep@ventureday
dmtc
0
83
ハッカソン用ピッチフォーマット
dmtc
1
670
Other Decks in Programming
See All in Programming
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
Basic Architectures
denyspoltorak
0
660
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.3k
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
170
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
160
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
5
330
AI巻き込み型コードレビューのススメ
nealle
0
130
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
300
Implementation Patterns
denyspoltorak
0
280
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
370
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
Scaling GitHub
holman
464
140k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Skip the Path - Find Your Career Trail
mkilby
0
53
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
820
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
77
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
WENDY [Excerpt]
tessaabrams
9
36k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Transcript
'SBNFXPSLೖ givery Inc. ⼩小⽥田 崇之 2014/09/03
⾃自⼰己紹介 p ⼩小⽥田 崇之 (おだ たかゆき) p givery Inc. 内定者
p 主にサーバーサイド担当 p 最近 Scala を勉強中 p 猫が好きです 2014/09/03
今回の⽬目標 p フレームワークの意義を知る p MVC という考え⽅方を知る p 実際に試してみる 2014/09/03
今回話す事 p なんで Framework が必要なのか? p MVC について p FuelPHP を使った実装
2014/09/03
今⽇日の内容: Framework ⼊入⾨門 p ⾃自⼰己紹介 p なぜ Framework は必要なのか?
p MVCについて p 百聞は⼀一⾒見見にしかず 2014/09/03
今⽇日の内容: Framework ⼊入⾨門 p ⾃自⼰己紹介 p なぜ Framework は必要なのか?
p MVCについて p 百聞は⼀一⾒見見にしかず 2014/09/03
そもそもフレームワークって? 2014/09/03
なんなん? 2014/09/03
フレームワークとは? p ⾻骨組み / 枠組み p 開発の効率率率をサポートしてくれる⼟土台 p サービスを作るのを楽にしてくれる 2014/09/03
ここで早速質問 p フレームワークってどんなのがある? p 皆で調べてみよう! 2014/09/03
探して⾒見見つけたやつ 2014/09/03
で,なんで必要なん? 2014/09/03
じゃぁベタのPHPについて考えよう 2014/09/03
プログラム書く時, どんな事が⾯面倒に感じる? 2014/09/03
皆で考えてみよう! p どんな時に⾯面倒臭さを感じる? n ⼀一⼈人で開発する時 n 複数⼈人で開発する時 2014/09/03
⼀一⼈人で開発する時 2014/09/03
SQL⽂文が兎に⾓角多い p INSERT INTO `users` (`name`, `mail`, `phone`… p SELECT
`id`, `name`, `price`, … FROM `items` … p SELECT `U`.`id`, `U`.`name`, `O`.`price`, `O`.`purchased_at` …FROM `users` AS `U` INNER JOIN `orders` `O` ON `U`.`id` = `O`.`user_id` WHERE … 2014/09/03
全てのファイルで require p require ‘lib/database.php’ p require ‘lib/database.php’
p require ‘lib/database.php’ p require ‘lib/database.php’ p require ‘lib/functions.php’ p require ‘lib/utils.php’ p require ‘../lib/database.php’ p require ‘../lib/database.php’ p require ‘../lib/functions.php’ p require ‘../../lib/database.php’ p require ‘../../lib/database.php’ p require ‘../lib/functions.php’ p require ‘../lib/database.php’ p require ‘lib/database.php’ p require ‘lib/utils.php’ p require ‘lib/database.php’ 2014/09/03
⼊入り乱れるファイル p index.php p add_items.php p edit_items.php
p user_register.php p user_delete.php p admin_login.php p admin_edit_item.php p login.php p signout.php p ohmygod.php p database.php p holys__t.php p functions.php p utils.php 2014/09/03
複数⼈人で開発する時 2014/09/03
バラバラなファイル名 p index.php p add_items.php p edit_items.php
p user_register.php p user_delete.php p admin_login.php p admin_edit_item.php p login.php p signout.php p ohmygod.php p database.php p holys__t.php p functions.php p utils.php 2014/09/03
バラバラなコーディング p $flag p $is_valid p $isConfirmed p $touroku_nichiji p $last_update_date
p $registeredAt p if (! $is_valid) return false p if (! $is_valid) { return false } p if (! $is_valid) { return false } 2014/09/03
対処法 p SQLが兎に⾓角多い n SQLジェネレータってものがあります n ORMラッパーのライブラリあります • Idiorm &
Paris p 全てのファイルで require n autoload という仕組みがあります n ⼀一つのファイルは require するけどそれで済む 2014/09/03
対処法 p ⼊入り乱れるファイル n プログラムのファイルとHTMLを含むファイル を可能な限り分ける n オブジェクト指向でコンパクトにまとめれば 結構実現できます p ファイル名やコーディング
n 命名規則を作りましょう n コーディング規約を作りましょう 2014/09/03
フレームワークいらないやん!! 2014/09/03
そのルール 0から作りたいですか? 2014/09/03
Frameworkって使う必要あるの? p 趣味で⼀一⼈人で作る分には必要ありません p ⼩小規模なサービスなら必要ありません 2014/09/03
でも… p 複数⼈人で開発すると n ライブラリを探したり n コーディング規約を決めたり n プロジェクトのファイルの置き⽅方を決めたり p 考える事が増えてくる
p 必要なルールが増えてくる 2014/09/03
⾃自分の開発を楽にするために p ルールを決めてくれる p ルールに沿うための⼟土台をくれる p ルールに沿ったら開発が楽になる 2014/09/03
でも気をつけて 2014/09/03
⼿手伝ってくれるのは 「基本のルール」の守り⽅方まで 2014/09/03
今⽇日の内容: Framework ⼊入⾨門 p ⾃自⼰己紹介 p なぜ Framework は必要なのか?
p MVCについて p 百聞は⼀一⾒見見にしかず 2014/09/03
役割分担 2014/09/03
MVCとは p Model n データの格納担当 p View n データの表⽰示担当 p Controller
n データの受け渡し担当 2014/09/03
データの流流れ 2014/09/03 C V M リクエスト レスポンス 受け取ったデータ等 追加・読み込み・
更更新・削除 データ返送 表⽰示に必要なデータ
役割を切切り分ける p 役割を切切り分ける事で開発を楽にする p エラー箇所の特定も楽になる 2014/09/03
今⽇日の内容: Framework ⼊入⾨門 p ⾃自⼰己紹介 p なぜ Framework は必要なのか?
p MVCについて p 百聞は⼀一⾒見見にしかず 2014/09/03