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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
DMTC
September 03, 2014
Programming
95
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
310
pitch_codeprep@ventureday
dmtc
0
86
ハッカソン用ピッチフォーマット
dmtc
1
690
Other Decks in Programming
See All in Programming
iOS機能開発のAI環境と起きた変化
ryunakayama
0
140
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.3k
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
820
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
440
へんな働き方
yusukebe
6
2.9k
The Monolith Strikes Back: Why AI Agents ❤️ Rails Monoliths
serradura
0
110
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
280
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
490
Feature Toggle は捨てやすく使おう
gennei
0
410
Coding as Prompting Since 2025
ragingwind
0
680
おれのAgentic Coding 2026/03
tsukasagr
1
130
AI-DLC 入門 〜AIコーディングの本質は「コード」ではなく「構造」〜 / Introduction to AI-DLC: The Essence of AI Coding Is Not “Code” but “Structure”
seike460
PRO
0
210
Featured
See All Featured
The browser strikes back
jonoalderson
0
880
Mind Mapping
helmedeiros
PRO
1
140
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Speed Design
sergeychernyshev
33
1.6k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.6k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
We Are The Robots
honzajavorek
0
210
Building an army of robots
kneath
306
46k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
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