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
生成AIの「現在地」だけでなく「速度」も見よう
stealthinu
0
85
MCPとエージェント
stealthinu
1
210
意外に詐欺師がいるという教訓
stealthinu
0
140
RAGの仕組みとよくある課題
stealthinu
1
1.2k
音声変換と生成AI:開発者視点からの1.5年の振り返り
stealthinu
0
1.8k
リアルタイムボイスチェンジャーMMVCとVITSの紹介
stealthinu
0
2.7k
ディープラーニングブームは続くのか
stealthinu
0
110
スパム対策お焚き上げ
stealthinu
0
99
えせソアリンを作る
stealthinu
0
120
Other Decks in Technology
See All in Technology
『FailNet~やらかし共有SNS~』エレベーターピッチ
yokomachi
1
130
Goでマークダウンの独自記法を実装する
lag129
0
230
kintone開発チームの紹介
cybozuinsideout
PRO
0
73k
[CVPR2025論文読み会] Linguistics-aware Masked Image Modelingfor Self-supervised Scene Text Recognition
s_aiueo32
0
210
見てわかるテスト駆動開発
recruitengineers
PRO
6
1.5k
mruby(PicoRuby)で ファミコン音楽を奏でる
kishima
1
300
AIとTDDによるNext.js「隙間ツール」開発の実践
makotot
6
740
TypeScript入門
recruitengineers
PRO
27
8.7k
Evolution on AI Agent and Beyond - AGI への道のりと、シンギュラリティの3つのシナリオ
masayamoriofficial
0
230
退屈なことはDevinにやらせよう〜〜Devin APIを使ったVisual Regression Testの自動追加〜
kawamataryo
4
810
Backboneとしてのtimm2025
yu4u
4
1.7k
夢の印税生活 / Life on Royalties
tmtms
0
290
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Designing Experiences People Love
moore
142
24k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
Why Our Code Smells
bkeepers
PRO
338
57k
Into the Great Unknown - MozCon
thekraken
40
2k
Designing for Performance
lara
610
69k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Git: the NoSQL Database
bkeepers
PRO
431
65k
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 での開発方法