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
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Framework Study for Beginners
勉強会「フレームワーク入門」で使用した資料
DMTC
September 03, 2014
More Decks by DMTC
See All by DMTC
Web Server Study for Beginners
dmtc
0
120
リーダブルコード入門
dmtc
0
190
DB Design Study for Beginners
dmtc
0
140
how to use "slack" in our Hackathon
dmtc
0
320
pitch_codeprep@ventureday
dmtc
0
94
ハッカソン用ピッチフォーマット
dmtc
1
690
Other Decks in Programming
See All in Programming
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
150
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
390
AIエージェントで 変わるAndroid開発環境
takahirom
2
680
Prismを使った型安全な暗号化_関数型まつり2026
_fhhmm
0
140
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
120
継続モナドとリアクティブプログラミング
yukikurage
3
610
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
110
Performance Engineering for Everyone
elenatanasoiu
0
270
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
8
4.4k
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
440
OSINT for SRE: 学術論文とポストモーテムから探る システム障害の共通パターン / SRE NEXT 2026
tomoyk
1
3.9k
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
320
Featured
See All Featured
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.6k
Building AI with AI
inesmontani
PRO
1
1.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Context Engineering - Making Every Token Count
addyosmani
9
1k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.8k
sira's awesome portfolio website redesign presentation
elsirapls
0
300
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
190
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