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
68
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
98
リーダブルコード入門
dmtc
0
150
DB Design Study for Beginners
dmtc
0
120
how to use "slack" in our Hackathon
dmtc
0
290
pitch_codeprep@ventureday
dmtc
0
73
ハッカソン用ピッチフォーマット
dmtc
1
650
Other Decks in Programming
See All in Programming
LINEヤフー データグループ紹介
lycorp_recruit_jp
0
890
第9回 情シス転職ミートアップ 株式会社IVRy(アイブリー)の紹介
ivry_presentationmaterials
1
240
XSLTで作るBrainfuck処理系
makki_d
0
210
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
130
GraphRAGの仕組みまるわかり
tosuri13
8
480
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
580
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
470
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
160
FormFlow - Build Stunning Multistep Forms
yceruto
1
190
datadog dash 2025 LLM observability for reliability and stability
ivry_presentationmaterials
0
110
[初登壇@jAZUG]アプリ開発者が気になるGoogleCloud/Azure+wasm/wasi
asaringo
0
130
VS Code Update for GitHub Copilot
74th
1
400
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
The World Runs on Bad Software
bkeepers
PRO
69
11k
GraphQLとの向き合い方2022年版
quramy
48
14k
How STYLIGHT went responsive
nonsquared
100
5.6k
Being A Developer After 40
akosma
90
590k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.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