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
「みんな」が「効率的」に Web アプリを作成出来るようになること
Search
SATOH Kiyoshi
March 16, 2022
Technology
0
75
「みんな」が「効率的」に Web アプリを作成出来るようになること
開発受注先の部内向け開発ツール導入啓蒙プレゼン
SATOH Kiyoshi
March 16, 2022
Tweet
Share
More Decks by SATOH Kiyoshi
See All by SATOH Kiyoshi
MCPとエージェント
stealthinu
1
140
意外に詐欺師がいるという教訓
stealthinu
0
110
RAGの仕組みとよくある課題
stealthinu
1
900
音声変換と生成AI:開発者視点からの1.5年の振り返り
stealthinu
0
1.5k
リアルタイムボイスチェンジャーMMVCとVITSの紹介
stealthinu
0
2.6k
ディープラーニングブームは続くのか
stealthinu
0
100
スパム対策お焚き上げ
stealthinu
0
95
えせソアリンを作る
stealthinu
0
110
milter-managerが便利な話
stealthinu
0
170
Other Decks in Technology
See All in Technology
Cross Data Platforms Meetup LT 20250422
tarotaro0129
1
920
AIでめっちゃ便利になったけど、結局みんなで学ぶよねっていう話
kakehashi
PRO
1
520
Winning at PHP in Production in 2025
beberlei
1
270
AIコーディングの最前線 〜活用のコツと課題〜
pharma_x_tech
4
2.9k
AIにおけるソフトウェアテスト_ver1.00
fumisuke
1
330
読んで学ぶ Amplify Gen2 / Amplify と CDK の関係を紐解く #jawsug_tokyo
tacck
PRO
1
290
AIと共に乗り越える、 入社後2ヶ月の苦労と学習の軌跡
sai_kaneko
0
190
Как мы автоматизировали интеграционное тестирование с Gonkey и не пожалели. Паша Егорычев, Кирилл Поляков
lamodatech
0
1.6k
Simplify! 10 ways to reduce complexity in software development
ufried
1
180
LT Slide 2025-04-22
takesection
0
110
Aspire をカスタマイズしよう & Aspire 9.2
nenonaninu
0
350
30代からでも遅くない! 内製開発の世界に飛び込み、最前線で戦うLLMアプリ開発エンジニアになろう
minorun365
PRO
16
5k
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
336
57k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
23
2.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Typedesign – Prime Four
hannesfritz
41
2.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.7k
Gamification - CAS2011
davidbonilla
81
5.3k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
410
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Side Projects
sachag
453
42k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
How GitHub (no longer) Works
holman
314
140k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Transcript
目的 「みんな」が「効率的」に Web アプリを作成出来るようになること
今までは… • telnet でテストサーバに入って vi で直接ソース書いて… • PC のエディタで書いたのを FFFTP
で アップロードして… • 修正前のファイルをファイル名に 日付追加してコピーしといて… • デバッグのために print 文埋め込んで 値表示して…
方法 • 現代的なツールや開発手法を導入する • 標準ツールを策定して開発方法を揃える → 自分の書いたソースを 「将来の誰か」に読みやすくするため
「みんな」の対象範囲 • 「プログラマー」 だけじゃなくて • 「デザイナー」 にも 8 割がたは「使える」ツール
4 つの柱 • バージョン管理システム (git) • フレームワーク (CakePHP) • テスト
(PHPUnit/Selenium) • IDE とデバッガー (Eclipse)
バージョン管理システム • ソース内やファイルでバックアップを 残さなくて良い • やったことの「歴史」を残せる • チームでの並行開発が出来る • 修正を前に戻せる
git • 分散バージョン管理システム • サーバと PC とに「分散」している • 軽い・構造がシンプル •
一人で使っても十分嬉しい • github コード共有プラットフォーム • GitExtensions Windows の git GUI
フレームワーク • フレームワークにすると良いこと – 手早く書ける – 基本構造がみな一緒になる → 他人のソースをすぐ読める •
フレームワークの悪いとこ – フレームワークの「作法」を学ぶコスト • なぜ PHP にしたのか – 言語の評判はあまり良くない – でも PHP で作られている CMS は多い Wordpress / NetCommons など
CakePHP(Web アプリフレームワーク ) • Ruby on Rails の PHP 版という感じ
• 日本語の情報が一番多そうだった • MVC • 設定より規約 • 名前重要 • OR マッパー
Twig( テンプレートエンジン ) • 可読性が高い <?php echo $foo->bar['id'];?> → {{foo.bar.id}}
で OK • ループや if も簡潔に書ける • フィルタ機能 {{foo|e}} で HTML エスケープなど
Bootstrap(CSS フレームワーク ) • 簡単 • デザイン性が高い • HTML5 •
ポータブル(スマホ対応など)
テスト • なぜテストがあるとうれしいか – 将来の変更に対して足がかりとなる – ある意味「仕様」をコードにしたもの – 動作チェックも容易になる •
ユニットテスト (PHPUnit) • UI テスト (Selenium)
IDE とデバッガー • IDE で嬉しいこと – リアルタイムの文法チェック – オートコンプリート –
デバッガー • デバッガーを使おう – その場で値の確認 – ステップ実行 – Web アプリでも出来る
xampp • Windows 上の LAMP キット • 解凍するだけでネイティブで動く • 自分だけが気兼ねなく使える環境
• 書いて即動作テスト出来る • Eclipse からデバッガーが利用出来る
Eclipse • Java や PHP 等の IDE • デバッガーを使うためだけでも
今後の予定 • それぞれのツールのインストールと設定 – Cygwin – GitExtensions – Pleiades( 日本語化
xampp/Eclipse) – CakePHP • GitExtensions の使い方 • Eclipse とデバッガーの使い方 • CakePHP での開発方法