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
1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
授業でWebアプリを作っている?話
Dentoo.LT #14 のスライドです。
Mikio Fujita
June 13, 2016
More Decks by Mikio Fujita
See All by Mikio Fujita
社内にアクセシビリティ改善を広める際に意識したこと
benevolent0505
0
1k
GraphQLを使い続けて気づいたこと ~Hatena Engineer Seminar #21~
benevolent0505
3
2.8k
エンジニアから見た出版社との共同開発の暮らし / Hatena Engineer Seminar #13
benevolent0505
0
2.5k
マンガチームとDevOps / Hatena Engineer Seminar #11
benevolent0505
0
1.1k
日曜日といったら
benevolent0505
1
150
朝起きる
benevolent0505
1
110
休講
benevolent0505
0
1.3k
◯◯駆動開発
benevolent0505
0
230
WebRTCで絵チャットを作った話し
benevolent0505
0
890
Other Decks in Programming
See All in Programming
仕様駆動開発の消費期限
watany
19
7.6k
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
760
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
670
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.5k
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
590
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
410
Google Apps Script で Ruby を動かす
kawahara
0
140
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
560
Go 1.27 における memory allocation の高速化
andpad
0
120
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
160
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
300
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
360
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
530
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Writing Fast Ruby
sferik
630
63k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
The Limits of Empathy - UXLibs8
cassininazir
1
600
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
630
Claude Code のすすめ
schroneko
67
230k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
30 Presentation Tips
portentint
PRO
1
360
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.7k
Building an army of robots
kneath
306
46k
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Λͬͨϓϩάϥϛϯάʹ • ใηΩϡςϦςΟ ϝσ˓Ξω˓τϫʔΫ
ͷ͜ͱ·ͰֶΔͱ͓ͬͯಘͳतۀͰ͢ɻ