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

効率的なWebアプリケーションの作り方

 効率的なWebアプリケーションの作り方

2012/06/30 Symfony勉強会 #6

----
「初心者が中級者以上まで〜」と書きましたが、ここでいう「初心者」とは、まったくのプログラミング初心者を指すのではなく、「現場の初心者」を指しています。
プロのプログラマとして開発を行うときに必要な知識を身につけるべく書いた本です。

Katsuhiro Ogawa

June 30, 2012
Tweet

More Decks by Katsuhiro Ogawa

Other Decks in Technology

Transcript

  1. 効率的な
    Webアプリケーション
    の作り方
    OGAWA Katsuhiro
    2012/06/30 Symfony勉強会#6

    View Slide

  2. View Slide

  3. 書籍概要
    ‣։ൃΛύλʔϯԽͯ͠ޮ཰తʹ
    ‣υϝΠϯۦಈઃܭ(DDD)ʹجͮ͘
    ໾ׂͷ෼཭
    ‣ΦϒδΣΫτࢦ޲ͷجຊͱԠ༻

    View Slide

  4. AGENDA
    ‣චऀͷࣦഊஊ
    ‣ࣥචʹࢸΔܦҢ
    ‣ຊͷ಺༰
    ‣ຊΛॻ͘͜ͱͷ೉͠͞

    View Slide

  5. 著者略歴
    ‣2006.04 ೔ຊిࢠઐ໳ֶߍʹೖֶ
    ‣2006.12 ΞγΞϧʹೖࣾ(όΠτ)
    ‣2008.03 ଔۀ
    ‣2008.04 ਖ਼ࣾһʹ
    ‣2011.03 ୀࣾ
    ‣2011.04 Ϋϩίεʹೖࣾ

    View Slide

  6. アシアル時代
    ‣PHP͸ΞγΞϧͰֶΜͩ
    ‣डୗ։ൃ͕ϝΠϯ
    ‣PHPεΫʔϧɺsymfonyίϯαϧ

    View Slide

  7. 筆者の失敗談
    ‣ΞϧόΠτظؒதͷ࿩
    ‣όάΛ࡞ͬͯࣗࣾ੡඼ͷ஫จςʔ
    ϒϧΛਧͬඈ͹͢
    ‣CTO͔Βઆڭ→إ໘૵ന

    View Slide

  8. 筆者の失敗談
    ‣طଘͷ؅ཧը໘ʹ௥Ճ։ൃΛߦͬ
    ͍ͯͯ
    ‣͋ͪͪ͜ʹॻ͍ͯ͋ͬͨಉ͡಺༰
    ͷSQLΛ1ͭ1ͭमਖ਼͍ͯͨ͠

    View Slide

  9. 筆者の失敗談
    ‣طଘͷ؅ཧը໘ʹ௥Ճ։ൃΛߦͬ
    ͍ͯͯ
    ‣͋ͪͪ͜ʹॻ͍ͯ͋ͬͨಉ͡಺༰
    ͷSQLΛ1ͭ1ͭमਖ਼͍ͯͨ͠
    ‣1Χॴमਖ਼๨ΕͯɺWHERE۟Λ
    ࢦఆͤͣʹUPDATEจ͕……

    View Slide

  10. 筆者の失敗談
    ‣͋Μͳʹಉ͡मਖ਼Λ܁Γฦͯͨ͠
    Βमਖ਼࿙Ε͕͋ͬͯ౰વͩΖ͏ͱ
    ৺ͷதͰ൓ൃ͍ͯͨ͠
    ‣DRYݪଇ
    ‣ͦͷޙɺMVCΛֶΜͰ͍͘

    View Slide

  11. 書籍紹介1
    ‣RailsʹΑΔΞδϟ
    ΠϧWebΞϓϦέʔ
    γϣϯ։ൃ
    ‣http://
    www.amazon.co.jp/
    dp/4274068668

    View Slide

  12. 書籍紹介2
    ‣ϦϑΝΫλϦϯά
    ‣http://
    www.amazon.co.jp
    /dp/4894712288

    View Slide

  13. 失敗談2
    ‣MVCΛֶΜͩ͋ͱɺΦϒδΣΫτ
    ࢦ޲͕Θ͔ͬͨؾʹͳ͍ͬͯͨ
    ‣DRY͚ͩͲɺෳࡶͳίʔυΛͨ͘
    ͞Μॻ͍͍ͯͨ
    ‣ෳࡶͳ໰୊Λແཧ໼ཧղܾ

    View Slide

  14. 失敗談2
    ‣ޙ೔ɺΦϒδΣΫτࢦ޲ͱσβΠ
    ϯύλʔϯΛਅ݋ʹֶΜͰ໨͔Β
    ͏Ζ͕͜མͪͨ
    ‣ੲ͸ɺσβΠϯύλʔϯ͸Javaͷ
    ਓ͚ͩ΍͓͚ͬͯΑͱ͔ࢥͬͯͨ
    ‣ޙչͱ໠ল

    View Slide

  15. 書籍紹介3
    ‣ΞδϟΠϧιϑτ
    ΢ΣΞ։ൃͷԞٛ
    ‣http://
    www.amazon.co.jp/
    dp/4797347783

    View Slide

  16. 書籍紹介4
    ‣ΤϦοΫɾΤϰΝϯ
    εͷυϝΠϯۦಈઃ
    ܭ
    ‣http://
    www.amazon.co.jp/
    dp/4798121967

    View Slide

  17. ドメイン駆動設計
    ‣υϝΠϯϨΠϠͷઃܭύλʔϯ
    ‣৽͍͠ൃ૝ͱ͔Ͱ͸ͳ͘ɺ։ൃΛ
    ܁Γฦ͢தͰഓͬͨ΋ͷΛύλʔ
    ϯʹͨ͠΋ͷ

    View Slide

  18. 失敗して学んだこと
    ‣MVC
    ‣ΦϒδΣΫτࢦ޲
    ‣σβΠϯύλʔϯ
    ‣ϦϑΝΫλϦϯά
    ‣ઃܭݪଇ
    ‣υϝΠϯۦಈઃܭ

    View Slide

  19. 執筆に至る経緯
    ‣ࣦഊΛ܁Γฦͯ͠ɺͨ͘͞Μͷ͜
    ͱΛֶΜͩ
    ‣ֶΜͩ͜ͱ͸ͲΕ΋৽ͨʹͻΒΊ
    ͍ͨΘ͚Ͱ͸ͳ͘ɺܗࣜԽ͞Εͯ
    ͍Δ΋ͷͩͬͨ

    View Slide

  20. 執筆に至る経緯
    ‣ֶΜͩ஌ࣝΛͨ͘͞Μͷਓͱڞ༗
    ͍ͨ͠
    ‣ܦݧͷઙ͍ํͰ΋ֶ΂ΔΑ͏ʹɺ
    Θ͔Γ΍͘͢ɺສวతʹղઆͨ͠
    ຊΛॻ͖͍ͨ

    View Slide

  21. そうしてできたのが
    ‣ޮ཰తͳWebΞϓϦ
    έʔγϣϯͷ࡞Γํ
    ‣http://fvstr.jp/

    View Slide

  22. 本の内容
    ‣චऀͷֶश͖ͯͨ͠ܦҢΛ੔ཧ͠
    ͯղઆͨ͠ຊ
    ‣શ4ύʔτߏ੒
    ‣લ൒͕ཧ࿦ͷ࿩
    ‣ޙ൒͕࣮ફͷ࿩

    View Slide

  23. INDEX
    ‣Part1 MVC։ൃͷجૅ஌ࣝ
    ‣Part2 ϑϨʔϜϫʔΫΛར༻͢Δ
    ར఺
    ‣MVCɺΦϒδΣΫτࢦ޲ɺσβΠ
    ϯύλʔϯͳͲͷཧ࿦తͳ͜ͱΛ1
    ͭ1ͭղઆ

    View Slide

  24. INDEX
    ‣Part3 ϞμϯPHP WebΞϓϦέʔ
    γϣϯ։ൃ
    ‣Part4 ػೳͷ࡞੒ͱ࣮૷ͷύλʔ
    ϯԽ
    ‣ΞϓϦέʔγϣϯΛ։ൃ͠ͳ͕Β
    ࣮ફ͍ͯ͘͠

    View Slide

  25. 作成するアプリ
    ‣ϨϯλΧʔΞϓϦ
    ‣https://github.com/fivestar/
    php-rentacar
    ‣Symfony2Ͱ࡞੒

    View Slide

  26. 読者の想定
    ‣ॳ৺ऀ͕தڃऀҎ্·ͰϨϕϧΛ
    ্͛ΔͨΊͷຊ
    ‣ύʔϑΣΫτPHP΍Πϯλʔ
    ωοτΛ׆༻ͯ͠ɺ࣌ؒΛ͔͚
    ͳ͕ΒಡΈղ͍ͯཉ͍͠
    ‣தڃऀҎ্ͷํ͸ɺ஌ࣝͷ֬ೝʹ

    View Slide

  27. 読了後
    ‣͜ͷεϥΠυʹ͋͛ͨྑ࣭ͳॻ੶
    ΛಡΜͰ஌ݟΛਂΊΔ

    View Slide

  28. ‣ߴ͍ೳྗΛ࣋ͬͨΤϯδχΞΛΈ
    ͚ͭͯɺͦͷਓ͔Β৭ʑฉ͖ग़͠
    ͯΈΔ
    ‣@koriym͞Μ
    ‣BEAR.Sunday
    師匠を探そう

    View Slide

  29. 筆者の師匠
    ‣@iteman͞Μ
    ‣Piece Project
    ‣MakeGood
    ‣ʮجૅΛֶͿ͜ͱʯ

    View Slide

  30. 書籍紹介5
    ‣ΞϓϨϯςΟε
    γοϓɾύλʔϯ
    ‣http://
    www.amazon.co.jp
    /dp/4873114608

    View Slide

  31. 本を書くことの難しさ
    ‣ࣥචظؒ͸େମ1೥͘Β͍
    ‣౔೔ + ฏ೔ͷ໷
    ‣ࠓճ͸350ϖʔδ͘Β͍͚ͩͲɺ
    ࠷ॳͷೖߘ࣌఺Ͱ60ϖʔδ͘Β͍
    ଍Γͯͳͯ͘2िؒͰॻ͖଍ͨ͠

    View Slide

  32. ご清聴ありがとう
    ございました。

    View Slide