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
96
0
Share
Framework Study for Beginners
勉強会「フレームワーク入門」で使用した資料
DMTC
September 03, 2014
More Decks by DMTC
See All by DMTC
Web Server Study for Beginners
dmtc
0
110
リーダブルコード入門
dmtc
0
180
DB Design Study for Beginners
dmtc
0
140
how to use "slack" in our Hackathon
dmtc
0
320
pitch_codeprep@ventureday
dmtc
0
90
ハッカソン用ピッチフォーマット
dmtc
1
690
Other Decks in Programming
See All in Programming
[RubyKaigi 2026] Require Hooks
palkan
1
320
書き換えて学ぶTemporal #fukts
pirosikick
2
380
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
1
340
サプライチェーン攻撃対策「層を重ねて落ちない壁」を10日間で組み上げた話 #TechLeadConf2026
kashewnuts
1
290
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
1.1k
AIベース静的検査器の偽陽性率を抑える工夫3選
orgachem
PRO
4
460
AWSはOSSをどのように 考えているのか?
akihisaikeda
0
120
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
28
23k
GitHubCopilotCLIをはじめよう.pdf
htkym
0
330
Spec Driven Development | AI Summit Vilnius
danielsogl
PRO
1
160
AI Agent と正しく分析するための環境作り
yoshyum
2
510
決定論 vs 確率論:Gemini 3 FlashとTF-IDFを組み合わせた「法規判定エンジン」の構築
shukob
0
160
Featured
See All Featured
Accessibility Awareness
sabderemane
1
120
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
440
How GitHub (no longer) Works
holman
316
150k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
エンジニアに許された特別な時間の終わり
watany
106
240k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Documentation Writing (for coders)
carmenintech
77
5.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
GraphQLとの向き合い方2022年版
quramy
50
15k
The World Runs on Bad Software
bkeepers
PRO
72
12k
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
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