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
74
「みんな」が「効率的」に Web アプリを作成出来るようになること
開発受注先の部内向け開発ツール導入啓蒙プレゼン
SATOH Kiyoshi
March 16, 2022
Tweet
Share
More Decks by SATOH Kiyoshi
See All by SATOH Kiyoshi
意外に詐欺師がいるという教訓
stealthinu
0
88
RAGの仕組みとよくある課題
stealthinu
1
600
音声変換と生成AI:開発者視点からの1.5年の振り返り
stealthinu
0
1.2k
リアルタイムボイスチェンジャーMMVCとVITSの紹介
stealthinu
0
2.5k
ディープラーニングブームは続くのか
stealthinu
0
90
スパム対策お焚き上げ
stealthinu
0
85
えせソアリンを作る
stealthinu
0
99
milter-managerが便利な話
stealthinu
0
140
Colabをshellから使う
stealthinu
0
120
Other Decks in Technology
See All in Technology
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
250
小学3年生夏休みの自由研究「夏休みに Copilot で遊んでみた」
taichinakamura
0
190
2024年にチャレンジしたことを振り返るぞ
mitchan
0
160
型情報を用いたLintでコード品質を向上させる
sansantech
PRO
2
160
ガバナンスを支える新サービス / New Services to Support Governance
sejima1105
0
280
怖くない!ゼロから始めるPHPソースコードコンパイル入門
colopl
0
190
なぜCodeceptJSを選んだか
goataka
0
190
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
2
120
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
39
17k
「完全に理解したTalk」完全に理解した
segavvy
1
180
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
140
20241218_今年はSLI/SLOの導入を頑張ってました!
zepprix
0
200
Featured
See All Featured
Site-Speed That Sticks
csswizardry
2
190
Gamification - CAS2011
davidbonilla
80
5.1k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
The Pragmatic Product Professional
lauravandoore
32
6.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.4k
Why Our Code Smells
bkeepers
PRO
335
57k
YesSQL, Process and Tooling at Scale
rocio
170
14k
We Have a Design System, Now What?
morganepeng
51
7.3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
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 での開発方法