Pro Yearly is on sale from $80 to $50! »

Webサービス開発の変遷と現在

 Webサービス開発の変遷と現在

B4afc7d853d7f1cb6a253d3c7183c05a?s=128

Naoya Ito

July 12, 2014
Tweet

Transcript

  1. 8FCαʔϏε։ൃτϨϯυͷ มભͱݱࡏ /BPZB*UP ,"*;&/QMBUGPSN*OD  )BDLFST$IBNQMPP

  2. None
  3. None
  4. None
  5. None
  6. None
  7. None
  8. ԭೄͷΈͳ͞Μ͜Μʹͪ͸

  9. ΞδΣϯμ •  ೥͘Β͍ͷ8FC։ൃΛৼΓฦΔ •  ࡢࠓͷ8FCαʔϏε։ൃϓϩηε •  ߟ࡯

  10. ͜ͷ೥ͷ8FC։ൃͷมભ

  11. ΤϙοΫϝΠΩϯάͩͬͨࣄ •  +&& •  ΞδϟΠϧ։ൃ •  044 •  -".1 • 

    3BJMT"KBY •  εϚʔτϑΥϯ •  Ϋϥ΢υ •  Ϗοάσʔλ •  (JU)VC ೥ࠒ ೥୅த൫ Ҏ߱
  12. ͬ͘͟Γ෼͚Δͱ •  ೥લޙ –  +&&ɺΞδϟΠϧ։ൃ  •  ೥୅த൫ –  044ɺ-".1ɺ3BJMT"KBY

     •  Ҏ߱ –  εϚʔτϑΥϯ –  Ϋϥ΢υɺϏοάσʔλ –  (JU)VC
  13. ࣗ෼ͷλΠϜϥΠϯͱॏͶΔ •  ೥લޙ –  +&&ɺΞδϟΠϧ։ൃ  •  ೥୅த൫ –  044ɺ-".1ɺ3BJMT"KBY

     •  Ҏ߱ –  εϚʔτϑΥϯ –  Ϋϥ΢υɺϏοάσʔλ –  (JU)VC χϑςΟ ʙ  ͸ͯͳ ʙ  (3&& ʙ  ,"*;&/QMBUGPSN*OD ʙ 
  14. ೥લޙ •  +&&ɺΞδϟΠϧ։ൃ –  4USVUTɺ91 •  ʮ8FCΞϓϦέʔγϣϯʯͱ͍͏֓೦͕ఆண͠ ͨ •  ΤϯλʔϓϥΠζͰੜ·Εͨ։ൃख๏ɾιϑτ

    ΢ΣΞ͕ίϯγϡʔϚ։ൃʹ –  4PMBSJTɺ0SBDMFɺ+BWBɺ/FUTDBQF&OUFSQSJTF 4FSWFS ࣮ࡍʹۀ຿Ͱ࢖ͬͯ·ͨ͠ 
  15. ౰࣌ͷงғؾ •  ݸਓ͕ద౰ʹॻ͍ͨεΫϦϓτͰ͸μϝ •  Ұํɺ+&&΍ΤϯλʔϓϥΠζख๏͸ɺ΍ͬ ͯΈΔͱ8FCʹ͸ॏ͍ •  ঃʑʹεΫϦϓτݴޠ 1FSM 1)1

    Ͱͷ8FC ։ൃ΍ɺΞδϟΠϧ։ൃ͕੝Γ্͕Γ࢝ΊΔ ʮ1FSM͸+BWBΑΓ஗͍͔ Βμϝʯͱ՝௕ʹݴΘΕ ͨͷ΋ࠓͰ͸Α͍ࢥ͍ग़ Ͱ͢
  16. (PPHMFͷ୆಄ ςΫϊϩδʔ͕ۀքΛݗ Ҿ͢Δɺͱ͍͏ைྲྀ

  17. ೥୅த൫ •  044ɺ-".1 – εΫϦϓτݴޠͰ։ൃ͢ΔࣄʹҟΛএ͑Δਓ ͸͍ͳ͘ͳͬͨ – -JOVYɺ.Z42-ͳͲ͕࣮༻తͳ඼࣭ʹ •  Χʔωϧ΍.Z42-ͷϨϓϦέʔγϣϯػ ೳ

  18. ౰࣌ͷงғؾ •  8FCΞϓϦέʔγϣϯ͸ɺ΋ͬͱΧδϡΞϧʹ࡞ΕΔ ͸ͣ –  -".1΍044ʹ৐͔ͬΓɺݸਓ΍খ͞ͳूஂ͕8FCαʔϏ εΛੜΈग़࣌͢୅ʹ –  ˠ8FC – 

    ։ൃϓϩηε΋ɺͦΕʹ߹ΘͤͯϥΠτ΢ΣΠτʹ ͸ͯͳɺͱ͍͏ͷ͸·͞ ʹͦΕΛମݱͨ͠Α͏ͳ ूஂͰͨ͠
  19. None
  20. 8FC •  (PPHMFͷϋοΧʔΧϧνϟʔ •  044΍-".1ʹΑͬͯɺΤϯύϫʔϝϯτ͞Εͨݸਓ ΍খ͞ͳूஂ •  ͦ͏͍͏த͔Βग़͖ͯͨ৽͍͠8FCاۀ

  21. 3BJMTͱ"KBY •  ͦͷޙͷ8FCΞϓϦέʔγϣϯ։ൃͷ ํ޲ੑΛܾఆ͚ͮͨͭͷτϨϯυ – 8FC͸จࣈ௨ΓʮΞϓϦέʔγϣϯʯʹͳ Δ – ෳࡶͳ͜ͱΛ؆୯ʹˠ8FCΞϓϦέʔγϣ ϯ͕ߴ౓Խ͍ͯ͘͠ͱ͍͏લஹ

  22. h"p://www.slideshare.net/yohei/webapi-­‐36871915

  23. Ҏ߱ •  Ϋϥ΢υɺϏοάσʔλɺ(JU)VC –  *5ͷத৺ͱͳͬͨ8FC •  5IFDPOTVNFSJ[BUJPOPG*5ᴷίϯγϡʔϚ͔ΒΤϯ λʔϓϥΠζ΁ɻߏ଄ͷٯస –  Ϋϥ΢υ

    *BB41BB4 ŋŋŋෳࡶԽ͍ͯ͘͠8FCΞ ϓϦέʔγϣϯ։ൃͷ෦඼ΛʮαʔϏεʯʹ –  খ͞ͳूஂͰ΋ߴ౓ͳΞϓϦέʔγϣϯɻେ͖ͳूஂ ͸ΑΓෳࡶ׌ͭߴ౓ͳγεςϜ ଓ͚ͯɺ͜ͷลΛΈ ͍͖ͯ·͢
  24. None
  25. None
  26. (JU)VCͱΫϥ΢υͷ࣌୅ ΠϚίί

  27. ,"*;&/QMBUGPSN*OD "#ςετΫϥ΢υαʔϏεQMBO#$%Λ։ൃ͢Δ໊ఔ౓ͷελʔτΞοϓ

  28. None
  29. 8FC։ൃͷӈཌྷɾࠨཌྷ •  ϥΠτ΢Οϯά – ܧଓతΠϯςάϨʔγϣϯɺܧଓతσϦό ϦʔɺςετࣗಈԽFUD •  Ϩϑτ΢Οϯά – εΫϥϜɺேձɺࣗݾ૊৫ԽFUD  cf.

     h"p://blogs.itmedia.co.jp/hiranabe/2012/09/rightwing-­‐and-­‐leDwing-­‐of-­‐agile.html
  30. ։ൃϓϩηε •  ϥΠτ΢Οϯά ٕज़తϓϥΫςΟε  –  (JU)VCɺίʔυϨϏϡʔ –  ܧଓతΠϯςάϨʔγϣϯσϦόϦʔ – 

    $IBU0QT –  Ϋϥ΢υͷ׆༻  •  Ϩϑτ΢Οϯά νʔϜ؀ڥ  –  ϦϞʔτϫʔΫ –  ேձɺ,15 –  2JJUB5FBNʹΑΔ৘ใڞ༗ –  ࣗݾ૊৫Խ ओʹͬͪ͜ͷ࿩Λ͠ ·͢
  31. (JU)VC •  (JUSFQPTJUPSZIPTUJOHˠ4PDJBM $PEJOH – (JUͷͨΊͷதԝϨϙδτϦݟ͑ΔԽ – ίϛϡχέʔγϣϯ 044։ൃͳͲʹ࢖͏ɺ͔ Βɺ͜ͷʙ೥Ͱʮا ۀ಺Ͱ΋࢖͏ʯ΁

  32. (JU)VCͰϓϧϦΫ։ൃ ͢΂ͯͷมߋ͸1VMM 3FRVFTUͰ

  33. ϓϧϦΫ։ൃͷ࣮ࡍ •  Ұߦͷมߋ΋ϓϧϦΫͰ – Ϛʔδૢ࡞ʹϫʔΫϑϩʔ͕ඥ෇͍ͯΔ͔Β ޙड़  – Ұߦͷมߋɺͱ͔ͷ࣌΄Ͳো֐͕͓͖΍͍͢ $PPLQBEஊ 

  34. ʮ(JU)VC্Ͱ࿩͢ʯͷ ͕Α͍࡞๏ ձ࿩ͷݟ͑ ΔԽ  ίʔυϨϏϡʔ

  35. ίʔυϨϏϡϫʔͷࣗಈΞαΠϯ

  36. 8*1 8PSL*O1SPHSFTT  ʮऴΘ͔ͬͯΒ1VMM 3FRVFTUʯͰ͸ͳ͘ ʮ࢝ΊΔͱ͖ʹ1VMM 3FRVFTUʯ

  37. ܧଓతΠϯςάϨʔγϣϯ $JSDMF$*

  38. 1VMM3FRVFTUͱ$* •  มߋͷͨͼʹςετ •  ςετ݁Ռ͸1VMM3FRVFTU্ͰՄࢹԽ

  39. Ϛʔδͨ͠ΒσϓϩΠ •  $JSDMF$*ͰσϓϩΠ –  ಛఆͷϒϥϯνʹมߋ͕͋ͬͨΒσϓϩΠ –  1VMM3FRVFTUΛϚʔδ͢ΔσϓϩΠ͢Δ    production:  

           branch:  deployment/production          commands:              -­‐  ./script/assets_precompile.sh:              -­‐  bundle  exec  cap  production  deploy:migrations:      qa:          branch:  deployment/qa          commands:              -­‐  ./script/assets_precompile.sh:              -­‐  bundle  exec  cap  qa  deploy:migrations:  
  40. ܧଓతσϦόϦʔ master deployment/ edge deployment/ qa มߋ͸NBTUFS ΁QVMMSFRVFTU NFSHFͨ͠ ΒࣗಈͰ

    FEHF΁ɻ (開発環境) ຊ൪ϦϦʔε͸ NBTUFS͔ΒRB΁ QVMMSFRVFTU RB΁NFSHF͞ ΕΔͱ2"؀ڥ΁ࣗ ಈσϓϩΠ FEHF΁QVTI ͞ΕΔͱ։ൃػ΁ ࣗಈσϓϩΠ deployment/ production 2"ऴΘͬͨ ΒQSPEVDUJPO ΁ಉ༷ʹ
  41. 1VMM3FRVFTUσϓϩΠ •  σϓϩΠλεΫ͸1VMM3FRVFTUͰ࣮ߦ –  σϓϩΠͷݟ͑ΔԽ –  NFSHFϘλϯΛԡ͢ͱ$JSDMF$*ܦ༝ͰσϓϩΠ͕૸Δ

  42. ͜Εԡ͢ɻҎ্ ݁ՌɺσϓϩΠͷํ๏

  43. $IBU0QT •  IVCPU •  CPUʹ͓ئ͍ͯ͠ΦϖϨʔγϣϯ

  44. None
  45. None
  46. ϦϦʔε࣌ͷνΣοΫϦετΛ IVCPU͕ࣗಈ࡞੒

  47. ࠷ۙ͸CPU͕CPUΛಈ͔ͯ͠Δ ʮ͓લͷมߋؒ΋ͳ͘Ͱ Δ͔Β࠷ऴ֬ೝ͠ΖΑʯ ͱ͍͏ͷ΋IVCPU͕ఆظ తʹݺͼ͔͚ͯ͘Δ CPU͕IVCPUʹ ໋ྩΛग़͢

  48. (JU)VCͰมΘͬͨ͜ͱ •  044։ൃͷΑ͏ͳ΍ΓํΛɺاۀ΍νʔ Ϝ։ൃʹ΋ ͦ͏͍͑͹(PPHMF͕ɺͦ Μͳ΍ΓํΛͯ͠Δͱ͍ͣ ͿΜલʹݴͬͯͨ

  49. (JU)VCͰมΘͬͨ͜ͱ •  1VMM3FRVFTUʹϫʔΫϑϩʔΛू໿͞ ͤΔɺͱ͍͏ߟ͑ํ – ίʔυϨϏϡʔɺςετɺ2"ɺσϓϩΠŋŋŋ – ؔ࿈λεΫ͕ɺͭͷ1VMM3FRVFTUͷจ຺ Ͱ·ͱΊΒΕΔ ʮ˓˓ͱ͍͏ػೳΛ௥Ճ͢ΔͨΊ ʹߦΘΕͨίϛοτ܈ɺσΟε ΧογϣϯɺϨϏϡʔ݁Ռɺςɹ

    ετͷཤྺŋŋŋʯͰҰͭͷ1VMM 3FRVFTU
  50. Ϋϥ΢υαʔϏεͷ࣌୅ •  ࣗ෼ͨͪͷϑΥʔΧεͰͳ͍ͱ͜Ζ͸ɺ ੵۃతʹΫϥ΢υ΁Ξ΢τιʔε

  51. "84 QMBO#$%ͷαʔόʔΠ ϯϑϥ͸શͯ"84Ͱ

  52. )FSPLV •  IVCPU΍QMBO#$%ͷαϒγεςϜͷӡ ༻ʹར༻

  53. $JSDMF$* $JBTB4FSWJDF  ςετ࣮ߦ͚ͩͰͳ͘ɺ σϓϩΠͳͲ(JU)VC ϫʔΫϑϩʔͷ΋͏ͻͱ ͭͷཁʹͳ͍ͬͯ·͢

  54. $BTQFS+4Ͱ&&

  55. &&Λ$JSDMF$*Ͱ

  56. 4USJQF ܾࡁ 

  57. .BOESJMM ϝʔϧૹ৴ 

  58. #VHTOBH ྫ֎؅ཧ 

  59. #SPXTFS4UBDL  Ϋϩεϒϥ΢βςετ 

  60. IVCPUͰΫϩεϒϥ΢βͷ εΫγϣࡱӨ

  61. .BDLFSFM ϞχλϦϯά 

  62. /FX3FMJD ϞχλϦϯάͱ؂ࢹ 

  63. 1BHFS%VUZ Ξϥʔτ  TFOTV͕ҟৗΛݕ஌͢ Δͱ1BHFS%VUZ͕ࣗ ಈͰ୲౰ʹ ి࿩

  64. #JH2VFSZ σʔλղੳ  ԯϨίʔυΛ਺ඵͰ 42- .11 

  65. %FWFMPQFS1SPEVDUJWJUZ •  2ʮ͜ͷखͷಋೖͷۀ຿࣌ؒͲ͏΍ͬͯ࡞ΔΜͰ͔͢ ʯ •  "ʮͦΕΛϛογϣϯʹͯ͠ΔνʔϜ͕͋Γ·͢ʯ ଞࣾͰ΋ࣅͨΑ͏ͳ࿩Λ ͱ͖Ͳ͖ฉ͘

  66. ࢥͬͨ͜ͱ

  67. 8FCͷਐԽ͸ࢭ·Βͳ͍ •  ೥ؒɺԿ౓΋͜ΕͰܾఆ൛͔ͱࢥͬͨ ͜ͱ͕͋ͬͨ – ࣮ࡍ͸ɺͦ͜Ͱࢭ·Δ͜ͱ͸ͳ͔ͬͨ •  (PPHMFɺ'BDFCPPLɺ5XJUUFS •  3BJMTɺ/PEFKTɺJ04"OESPJEɺ(PMBOH • 

    ͲΜͲΜߴ౓ԽɾෳࡶԽ͢Δ8FCΞϓϦέʔγϣ ϯεϚʔτϑΥϯ։ൃ ͍ͭ·Ͱཱͬͯ΋མͪ ண͔ͳ͍
  68. ະདྷ༧ଌ͸೉͍͠ •  (JU)VC͕ɺΫϥ΢υ͕ɺΈ͍ͨͳ௚͙ۙΒ͍ ͸͋Δఔ౓ݟ͑Δ •  େ͖ͳมԽ͸ಥવ΍ͬͯ͘Δɻ༧ଌͰ͖ͳ͍ –  3VCZPO3BJMTͷϦϦʔεɺ"84ɺ(JU)VCͷا ۀ಺Ͱͷར༻ŋŋŋFUD – 

    όζϫʔυͱݴΘΕ͍ͯͨ΋ͷ΋ɺؾͮ͘ͱఆணͨ͠ Γ͢Δ ྫΫϥ΢υɺϏοάσʔλ 
  69. ະདྷ༧ଌΑΓɺมԽ΁ͷదԠ •  มԽ͢Δ͜ͱΛલఏʹɺదԠ͠ଓ͚Δ͔͠ͳ͍ –  ܧଓతʹ –  ΞδϦςΟͷ޲্ •  ໘ന͍͜ͱ͕ىͬͨ͜ͱ͖ɺͬ͞ͱඈͼ͔͔Ε Δ͔Ͳ͏͔

    –  ݸਓతʹ΋ɺνʔϜతʹ΋ –  จԽॏཁ
  70. อकతPSਐาత ೉͍͠ŋŋŋ  •  ผʹɺ৽͍͜͠ͱ͕ॏཁͳͷͰ͸ͳ͍ –  ྡͷࣳ͸ৗʹ੨͍ –  ྲྀߦΛऔΓೖΕΔ͜ͱ͕ඞͣ͠΋ਖ਼ղͱ͸ݴ͑ͳ͍ • 

    ݴޠΛ৐Γ׵͑ͨΒ࣍ͷݴޠ͕དྷͨɺͱ͔ɻӬٱʹϑΥʔΧεͰ͖ ͳ͍ •  อकత͗ͯ͢΋औΓ࢒͞ΕΔ –  ʮखஈͱ໨తΛཤ͖ҧ͑Δͳʯ͓͡͞Μ –  खஈΛ໨తԽͯ͠Ͱ΋৐͔ͬͬͨํ͕݁Ռతʹྑ͍͜ͱ΋͋Δ
  71. ͳͥখ͞ͳνʔϜ͕༗ར͔ খ͞ͳνʔϜ͸มԽ΁ ͷ఍߅ྗ͕খ͍͞

  72. اۀ͸੒௕͢΂͖͔ •  Α͘Θ͔Βͳ͍ – ιϑτ΢ΣΞ։ൃʹ͓͍ͯ͸ େہతʹ͸ খ ͞ͳνʔϜͷํ͕༗ར – (PPHMF΍'BDFCPPLͷΑ͏ͳ)BDLFS 8BZ͕εέʔϧ͢Δ૊৫ͷͨΊͷཁૉɺ͔ ΋

    •  େ͖͘ͳͬͯ΋յͤΔจԽ •  ϗϥΫϥγʔ
  73. ݁࿦͸ŋŋŋͳ͠ •  ͳͥͳΒɺ͜Ε͔Β΋มԽ͠ଓ͚Δ͔Β •  େࣄʹ͍ͯ͠Δ͜ͱ – ʮͦͷ࣌ͦͷ࣌Ͱɺೲಘͯ͠΍Ε͍ͯΔ͔ʯ •  ࠓࣗ෼͕΍͍ͬͯΔ͜ͱ͕ɺେ࿮Ͱ͸ؒҧ͍ͬͯ ͳ͍ͱࢥ͑Δ͜ͱ • 

    ೲಘͰ͖͍ͯΕ͹ɺ޾ͤʹ։ൃͰ͖ΔɻೲಘͰ͖ ͳ͍ͳΒյ͢
  74. ·ͱΊ •  8FC։ൃͷ೥ͱࠓΛΈͨ •  (JU)VCɺΫϥ΢υͷ࣌୅ •  ͜Ε͔Β΋8FC։ൃ͸8FCͱڞʹมԽ͠ ଓ͚Δ •  มԽʹదԠ

    •  ೲಘ͸ތΓ
  75. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ ण࢘Ώ͖CZBXBZVLJ $$#:/$/%