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.7k
エンジニアから見た出版社との共同開発の暮らし / Hatena Engineer Seminar #13
benevolent0505
0
2.5k
マンガチームとDevOps / Hatena Engineer Seminar #11
benevolent0505
0
1.1k
日曜日といったら
benevolent0505
1
140
朝起きる
benevolent0505
1
100
休講
benevolent0505
0
1.3k
◯◯駆動開発
benevolent0505
0
220
WebRTCで絵チャットを作った話し
benevolent0505
0
880
Other Decks in Programming
See All in Programming
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
210
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
910
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
150
Contextとはなにか
chiroruxx
1
360
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
210
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
260
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
140
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
170
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
730
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
370
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
130
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.5k
Featured
See All Featured
Paper Plane
katiecoart
PRO
1
52k
Mobile First: as difficult as doing things right
swwweet
225
10k
Technical Leadership for Architectural Decision Making
baasie
3
420
How to Talk to Developers About Accessibility
jct
2
240
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
310
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
170
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
430
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
410
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Λͬͨϓϩάϥϛϯάʹ • ใηΩϡςϦςΟ ϝσ˓Ξω˓τϫʔΫ
ͷ͜ͱ·ͰֶΔͱ͓ͬͯಘͳतۀͰ͢ɻ