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
Mikio Fujita
June 13, 2016
Programming
0
980
授業でWebアプリを作っている?話
Dentoo.LT #14 のスライドです。
Mikio Fujita
June 13, 2016
Tweet
Share
More Decks by Mikio Fujita
See All by Mikio Fujita
社内にアクセシビリティ改善を広める際に意識したこと
benevolent0505
0
910
GraphQLを使い続けて気づいたこと ~Hatena Engineer Seminar #21~
benevolent0505
3
2.6k
エンジニアから見た出版社との共同開発の暮らし / Hatena Engineer Seminar #13
benevolent0505
0
2.4k
マンガチームとDevOps / Hatena Engineer Seminar #11
benevolent0505
0
1.1k
日曜日といったら
benevolent0505
1
140
朝起きる
benevolent0505
1
91
休講
benevolent0505
0
1.3k
◯◯駆動開発
benevolent0505
0
200
WebRTCで絵チャットを作った話し
benevolent0505
0
850
Other Decks in Programming
See All in Programming
Developing Specifications - Jakarta EE: a Real World Example
ivargrimstad
0
250
Micro Frontendsで築いた 共通基盤と運用の試行錯誤 / Building a Shared Platform with Micro Frontends: Operational Learnings
kyntk
0
1.6k
関数の挙動書き換える
takatofukui
4
750
AI駆動開発ライフサイクル(AI-DLC)のホワイトペーパーを解説
swxhariu5
0
1.6k
CloudNative Days Winter 2025: 一週間で作る低レイヤコンテナランタイム
ternbusty
7
1.8k
オフライン対応!Flutterアプリに全文検索エンジンを実装する @FlutterKaigi2025
itsmedreamwalker
2
310
FlutterKaigi 2025 システム裏側
yumnumm
0
1.2k
分散DBって何者なんだ... Spannerから学ぶRDBとの違い
iwashi623
0
120
Java_プロセスのメモリ監視の落とし穴_NMT_で見抜けない_glibc_キャッシュ問題_.pdf
ntt_dsol_java
0
230
[堅牢.py #1] テストを書かない研究者に送る、最初にテストを書く実験コード入門 / Let's start your ML project by writing tests
shunk031
11
6.1k
無秩序からの脱却 / Emergence from chaos
nrslib
1
9.9k
AIを駆使して新しい技術を効率的に理解する方法
nogu66
1
670
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Building Applications with DynamoDB
mza
96
6.8k
Making Projects Easy
brettharned
120
6.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
350
Measuring & Analyzing Core Web Vitals
bluesmoon
9
680
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
195
66k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Visualization
eitanlees
150
16k
How to Ace a Technical Interview
jacobian
280
24k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Transcript
तۀͰWebΞϓϦΛ ࡞͍ͬͯΔ? @benevolent0505 Dentoo.LT #14
͜Μʹͪ!!!!
• @benevolent0505 • ૯߹ใֶՊ3 • Scala/JS/Ruby? • ͰࠓճPHP •
ॕΩϯϓϦ4DX
तۀͰWebΞϓϦΛ ࡞͍ͬͯΔ? @benevolent0505 Dentoo.LT #14
ͲΜͳतۀʁ ίϛϡχέʔγϣϯ,ݸਓͷৗձ͔Β৫ͷใୡ,ࣾձͷใൃ৴ͳͲଟذʹΘͨͬ ͓ͯΓ,ਓؒͷ࠷ීวతͰॏཁͳ׆ಈͰ͢.ίϛϡχέʔγϣϯͷܗଶɾػೳ,ίϯϐϡʔλ ωοτϫʔΫܞଳిωοτϫʔΫΛ༻͍ͨWeb,ιʔγϟϧϝσΟΞ/ήʔϜ,ಈը৴αʔ Ϗε,ϏσΦձٞγεςϜ,ϝʔϧʹΑͬͯٸʹ֦େ͠ଟ༷Խ͍ͯ͠·͢. ◦◦◦◦◦◦◦◦◦◦◦ͷओ,͜ΕΒͷίϛϡχέʔγϣϯπʔϧΛཧղ͠,৽͍͠ίϛϡχέʔγϣ ϯπʔϧΛࣗΒൃɾݚڀ͢ΔೳྗΛʹ͚ͭΔ͜ͱͰ͢.ͦͷͨΊʹ,ݱͷ༷ʑͳίϛϡχ έʔγϣϯπʔϧͷجૅͱͳ͍ͬͯΔWebγεςϜΛཧղ͢Δ͜ͱ͓Αͼ,ࠓޙ·͢·͢ॏཁʹ ͳΔωοτϫʔΫϓϩάϥϛϯάͷशಘΛඪͱ͠·͢. Ճ͑ͯ,ใηΩϡϦςΟͷଟ͘ͷ,ͨͱ͑,ݸਓใͷ࿙͍͑,ϚϧΣΞײછ,ෆਖ਼৵ೖ
WebΛ௨ͯ͡ߦΘΕ·͢ͷͰ,WebͷΈΛཧղ͢Δ͜ͱ,ใηΩϡϦςΟͷशಘͷલఏ ͱͯ͠ॏཁͰ͢.
͍ɺࡾߦ • PHPΛͬͯ
͍ɺࡾߦ • PHPΛͬͯ • WebΞϓϦΛ࡞ͬͯ
͍ɺࡾߦ • PHPΛͬͯ • WebΞϓϦΛ࡞ͬͯ • WebͷΈΛษڧ͠ͳ͞Ε
͍ɺࡾߦ • PHPΛͬͯ • WebΞϓϦΛ࡞ͬͯ • WebͷΈΛษڧ͠ͳ͞Ε • ͋ͱใηΩϡϦςΟͷ͜ͱʹ৮ΕΒΕΔ ͱͳ͓ྑ͍
͖ͬͯͨ͜ͱ • ϩʔΧϧ։ൃڥߏங • ϧʔςΟϯάϑϨʔϜϫʔΫͷ࡞
ϩʔΧϧ։ൃڥߏங
࣮शڥ • PHP 5.◦.3 ( < 5.4ܥ ) • apache
2.◦.15 ( < 2.4ܥ ) • ϓϩάϥϜ֤Ϣʔβͷpublic_htmlʹஔ • ↑ֶ͔ΒͰ͔͠ΞΫηε͕ग़དྷͳ͍ʂ
ʮֶΞΫηε͡Όͳ͍ͱ ෆศ͔ͩΒPCʹPHPΛ Πϯετʔϧͯ͠։ൃ͠Α͏ʯ
PHP 5.◦.3 install battle
ഊ
ഊ Ubuntu 16.04ͰphpenvΛͬͯೖΕΑ͏ͱͨ͠Β Πϯετʔϧ͞ΕͯΔͣͷϥΠϒϥϦ͕ແ͍ͱ͔ݴΘΕͯ ϏϧυͰ͖ͳ͔ͬͨ………
ํ͕ͳ͍ͷͰVagrantͰߏங • Vagrantbox͔Β࣮शڥʹ͍ۙOSΛ࣋ͬͯདྷΔ • httpd.confphp.iniΛ࣮शڥΛ”ࢀߟʹ”ஔ • ApachePHPͷΠϯετʔϧitamaeͰࣗಈԽ (࢝Ί͔Β͜͏͓͚ͯ͠………)
ϧʔςΟϯάϑϨʔϜϫʔΫ ͷ࡞
ࢿྉͰ͜͏͍͏URL͔ΓݟΔ……
ͬͪ͜ͷํ͕ΠέͯΔ͡ΌΜ?
WAFΛಋೖͯ͠ ΠέͯΔURLʹ͠Α͏ ࢝Ί
ݱ࣮
ݱ࣮
ݱ࣮
None
͍͍ײ͡ʹϧʔςΟϯάͯ͘͠ΕΔ ϑϨʔϜϫʔΫΛ࡞Ζ͏ (ؾΛऔΓͳ͓ͯ͠)
http://qiita.com/tadsan/items/bcaa14504d0ecdd9e096 ҒେͳΔઌਓ (?) ༷
Ͱ৭ʑਏ͍…… • ྻͷએݴํ๏͕μϧ͍ : array(val1, val2, …) • ࠓͷόʔδϣϯͩͱී௨ :
[val1, val2, …] • ͦͦPHPࣗମ͕μϧ͍ • isset(value), unset(value)ͱ͔ͳΜͳΜ…
ࠓޙΓ͍ͨ͜ͱ
• SQL͍͍ͨ (͍ͨ͘ͳ͍?) • (࣮शڥSQL͑ͳ͍Έ͍ͨ) • ଞͷWAFͷίʔυࢀߟʹ͍ͨ͠ • RubyͷSinatraͱ͔ •
ηΩϡϦςΟߟ͑ͳ͍ͱͶ
·ͱΊ • ϩʔΧϧ։ൃڥͷ͑ํ͔Β • HTTPͷΈ, • PHPΛͬͨϓϩάϥϛϯάʹ • ใηΩϡςϦςΟ ϝσ˓Ξω˓τϫʔΫ
ͷ͜ͱ·ͰֶΔͱ͓ͬͯಘͳतۀͰ͢ɻ