Upgrade to Pro — share decks privately, control downloads, hide ads and more …

授業でWebアプリを作っている?話

 授業でWebアプリを作っている?話

Dentoo.LT #14 のスライドです。

Mikio Fujita

June 13, 2016
Tweet

More Decks by Mikio Fujita

Other Decks in Programming

Transcript

  1. तۀͰWebΞϓϦΛ
    ࡞͍ͬͯΔ? ࿩
    @benevolent0505
    Dentoo.LT #14

    View Slide

  2. ͜Μʹͪ͸!!!!

    View Slide


  3. • @benevolent0505
    • ૯߹৘ใֶՊ3೥
    • Scala/JS/Ruby?
    • Ͱ΋ࠓճ͸PHP
    • ॕΩϯϓϦ4DX

    View Slide

  4. तۀͰWebΞϓϦΛ
    ࡞͍ͬͯΔ? ࿩
    @benevolent0505
    Dentoo.LT #14

    View Slide

  5. ͲΜͳतۀʁ
    ίϛϡχέʔγϣϯ͸,ݸਓͷ೔ৗձ࿩͔Β૊৫ͷ৘ใ఻ୡ,ࣾձ΁ͷ৘ใൃ৴ͳͲଟذʹΘͨͬ
    ͓ͯΓ,ਓؒͷ࠷΋ීวతͰॏཁͳ׆ಈͰ͢.ίϛϡχέʔγϣϯͷܗଶɾػೳ͸,ίϯϐϡʔλ
    ωοτϫʔΫ΍ܞଳి࿩ωοτϫʔΫΛ༻͍ͨWeb,ιʔγϟϧϝσΟΞ/ήʔϜ,ಈը഑৴αʔ
    Ϗε,ϏσΦձٞγεςϜ,ϝʔϧʹΑͬͯٸ଎ʹ֦େ͠ଟ༷Խ͍ͯ͠·͢.
    ○○○○○○○○○○○ͷओ୊͸,͜ΕΒͷίϛϡχέʔγϣϯπʔϧΛཧղ͠,৽͍͠ίϛϡχέʔγϣ
    ϯπʔϧΛࣗΒൃ૝ɾݚڀ͢ΔೳྗΛ਎ʹ͚ͭΔ͜ͱͰ͢.ͦͷͨΊʹ,ݱ୅ͷ༷ʑͳίϛϡχ
    έʔγϣϯπʔϧͷجૅͱͳ͍ͬͯΔWebγεςϜΛཧղ͢Δ͜ͱ͓Αͼ,ࠓޙ·͢·͢ॏཁʹ
    ͳΔωοτϫʔΫϓϩάϥϛϯάͷशಘΛ໨ඪͱ͠·͢.
    Ճ͑ͯ,৘ใηΩϡϦςΟͷଟ͘ͷ໰୊,ͨͱ͑͹,ݸਓ৘ใͷ࿙͍͑,Ϛϧ΢ΣΞײછ,ෆਖ਼৵ೖ͸
    WebΛ௨ͯ͡ߦΘΕ·͢ͷͰ,Webͷ࢓૊ΈΛཧղ͢Δ͜ͱ͸,৘ใηΩϡϦςΟͷशಘͷલఏ
    ͱͯ͠΋ॏཁͰ͢.

    View Slide

  6. ௕͍ɺࡾߦ
    • PHPΛ࢖ͬͯ

    View Slide

  7. ௕͍ɺࡾߦ
    • PHPΛ࢖ͬͯ
    • WebΞϓϦΛ࡞ͬͯ

    View Slide

  8. ௕͍ɺࡾߦ
    • PHPΛ࢖ͬͯ
    • WebΞϓϦΛ࡞ͬͯ
    • Webͷ࢓૊ΈΛษڧ͠ͳ͞Ε

    View Slide

  9. ௕͍ɺࡾߦ
    • PHPΛ࢖ͬͯ
    • WebΞϓϦΛ࡞ͬͯ
    • Webͷ࢓૊ΈΛษڧ͠ͳ͞Ε
    • ͋ͱ৘ใηΩϡϦςΟͷ͜ͱʹ΋৮ΕΒΕΔ
    ͱͳ͓ྑ͍

    View Slide

  10. ΍͖ͬͯͨ͜ͱ
    • ϩʔΧϧ։ൃ؀ڥߏங
    • ϧʔςΟϯάϑϨʔϜϫʔΫͷ࡞੒

    View Slide

  11. ϩʔΧϧ։ൃ؀ڥߏங

    View Slide

  12. ࣮श؀ڥ
    • PHP 5.○.3 ( < 5.4ܥ )
    • apache 2.○.15 ( < 2.4ܥ )
    • ϓϩάϥϜ͸֤Ϣʔβͷpublic_htmlʹ഑ஔ
    • ↑ֶ಺͔ΒͰ͔͠ΞΫηε͕ग़དྷͳ͍ʂ

    View Slide

  13. ๻ʮֶ಺ΞΫηε͡Όͳ͍ͱ͸
    ෆศ͔ͩΒPCʹPHPΛ
    Πϯετʔϧͯ͠։ൃ͠Α͏ʯ

    View Slide

  14. PHP 5.○.3 install battle

    View Slide

  15. ഊ๺

    View Slide

  16. ഊ๺
    Ubuntu 16.04ͰphpenvΛ࢖ͬͯೖΕΑ͏ͱͨ͠Β
    Πϯετʔϧ͞ΕͯΔ͸ͣͷϥΠϒϥϦ͕ແ͍ͱ͔ݴΘΕͯ
    ϏϧυͰ͖ͳ͔ͬͨ………

    View Slide

  17. ࢓ํ͕ͳ͍ͷͰVagrantͰߏங
    • Vagrantbox͔Β࣮श؀ڥʹ͍ۙOSΛ࣋ͬͯདྷΔ
    • httpd.conf΍php.iniΛ࣮श؀ڥΛ”ࢀߟʹ”഑ஔ
    • Apache΍PHPͷΠϯετʔϧ͸itamaeͰࣗಈԽ
    (࢝Ί͔Β͜͏͓͚ͯ͠͹………)

    View Slide

  18. ϧʔςΟϯάϑϨʔϜϫʔΫ
    ͷ࡞੒

    View Slide

  19. ࢿྉͰ͸͜͏͍͏URL͹͔ΓݟΔ……

    View Slide

  20. ͬͪ͜ͷํ͕ΠέͯΔ͡ΌΜ?

    View Slide

  21. WAFΛಋೖͯ͠
    ΠέͯΔURLʹ͠Α͏
    ࢝Ί

    View Slide

  22. ݱ࣮

    View Slide

  23. ݱ࣮

    View Slide

  24. ݱ࣮

    View Slide

  25. View Slide

  26. ͍͍ײ͡ʹϧʔςΟϯάͯ͘͠ΕΔ
    ϑϨʔϜϫʔΫΛ࡞Ζ͏
    (ؾΛऔΓͳ͓ͯ͠)

    View Slide

  27. http://qiita.com/tadsan/items/bcaa14504d0ecdd9e096
    ҒେͳΔઌਓ (?) ༷

    View Slide

  28. Ͱ΋৭ʑਏ͍……
    • ഑ྻͷએݴํ๏͕μϧ͍ : array(val1, val2, …)
    • ࠓͷόʔδϣϯͩͱී௨ : [val1, val2, …]
    • ͦ΋ͦ΋PHPࣗମ͕μϧ͍
    • isset(value), unset(value)ͱ͔ͳΜͳΜ…

    View Slide

  29. ࠓޙ΍Γ͍ͨ͜ͱ

    View Slide

  30. • SQL࢖͍͍ͨ (࢖͍ͨ͘ͳ͍?)
    • (࣮श؀ڥ͸SQL࢖͑ͳ͍Έ͍ͨ)
    • ଞͷWAFͷίʔυ΋ࢀߟʹ͍ͨ͠
    • RubyͷSinatraͱ͔
    • ηΩϡϦςΟ΋ߟ͑ͳ͍ͱͶ

    View Slide

  31. ·ͱΊ
    • ϩʔΧϧ։ൃ؀ڥͷ੔͑ํ͔Β
    • HTTPͷ࢓૊Έ,
    • PHPΛ࢖ͬͨϓϩάϥϛϯάʹ
    • ৘ใηΩϡςϦςΟ
    ϝσ˓Ξω˓τϫʔΫ͸
    ͷ͜ͱ·Ͱֶ΂Δͱͬͯ΋͓ಘͳतۀͰ͢ɻ

    View Slide