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

Rubykaigi2007 RubyとRuby on Railsの活用事例 - @nifty TimeLine β はいかにして作られたか -

Rubykaigi2007 RubyとRuby on Railsの活用事例 - @nifty TimeLine β はいかにして作られたか -

Rubykaigi2007のスポンサーセッション。タイムライン共有CGMサービス「@nifty TimeLine β」でのRuby on Rails活用事例

More Decks by 浜中 慶/ HAMANAKA, Kei

Other Decks in Technology

Transcript

  1. Copyright (c) 2007 NIFTY Corporation. Some Rights Reserved. RubyͱRuby on

    Railsͷ׆༻ࣄྫ - @nifty TimeLine β ͸͍͔ʹͯ͠࡞ΒΕ͔ͨ - χϑςΟגࣜձࣾ 2007/06/10 ೔ຊ Ruby ձٞ 2007 εϙϯαʔηογϣϯ 1
  2. Copyright (c) 2007 NIFTY Corporation. Some Rights Reserved. ࠓ೔͓࿩͢Δ͜ͱ •

    χϑςΟ͸RailsͰͷ։ൃΛ͸͡Ί·ͨ͠ • ʮ@nifty TimeLine βʯ • Railsಋೖʹ͍ͨΔ·ͰͷετʔϦʔ • ։ൃελΠϧ • ʮ@nifty TimeLine βʯͷཪଆ 2
  3. Copyright (c) 2007 NIFTY Corporation. Some Rights Reserved. ࣗݾ঺հ •

    ੒ాʢ̎̕ʣ • ඿தʢ̎̓ʣ • ळ޷ʢ̎̒ʣ • ॴଐɿχϑςΟʢגʣαʔϏεΫϦΤʔγϣϯ෦ ɹɹɹαʔϏεࢧԉνʔϜ • ۀ຿ɿϙʔλϧ/CGMαʔϏεͷاը/։ൃ 3
  4. Copyright (c) 2007 NIFTY Corporation. Some Rights Reserved. @nifty TimeLine

    β • @niftyϥϘ͔Ββ൛ͱͯ͠ϦϦʔε • αʔϏε։࢝೔ɿ2007೥2݄28೔ʢਫʣ • ར༻ର৅ऀɹɹɿશΠϯλʔωοτϢʔβʔ • ̧̡̪ɹɹɹɹɿhttp://timeline.nifty.com/ 6
  5. Copyright (c) 2007 NIFTY Corporation. Some Rights Reserved. αʔϏε֓ཁ •

    λΠϜϥΠϯ࡞੒ػೳ • ୭Ͱ΋ແྉͰλΠϜϥΠϯʢʹ೥දʣ͕࡞Ε·͢ • ΞΫηείϯτϩʔϧػೳɹ • ࣗ෼ͱ༑ୡ͚͕ͩॻ͖ࠐΊΔλΠϜϥΠϯͳͲ • ϒϩάύʔπػೳ • ࣗ෼ͷϒϩάʹλΠϜϥΠϯΛʂ • Ϣʔβʔؒίϛϡχέʔγϣϯػೳ • ίϝϯτɺλάɺϒοΫϚʔΫ 7
  6. Copyright (c) 2007 NIFTY Corporation. Some Rights Reserved. ϦϦʔεޙͷ൓Ԡ •

    SBM,weblogͰͷ൓Ԡɹɹɹɹɹɹɹɹɹɹ →͸ͯϒɿ590users!ɹɹɹɹɹɹɹɹɹɹɹ ɹ ɹ ɹ ɹ ɹ ɹ ɹ →ʮχϑςΟΒ͘͠ͳ͍αʔϏεʯ ɹ→Geekͳํ͔ΒҰൠͷਓ΁ͷ৘ใͷྲྀΕ • ࢥ͍͔ͭͳ͔ͬͨ࢖͍ํΛ͢ΔϢʔβʔ΋ →ʮҿΈձʯλΠϜϥΠϯ →ΞεΩʔΞʔτΛ࡞ͬͨΓ • ϑΟʔυόοΫɺػೳཁ๬͕ଟ਺ 9
  7. Copyright (c) 2007 NIFTY Corporation. Some Rights Reserved. TIME +

    CGM ৽͍͠։ൃख๏ ৽͍͠ίϛϡχςΟ τϥΠΞϧͱͯ͠@nifty TimeLineΛ։ൃ ɹ Ruby + Ruby on Rails ͳͥ࡞ͬͨͷ͔ʁ 10
  8. Copyright (c) 2007 NIFTY Corporation. Some Rights Reserved. ͳͥ Rails

    ಋೖʹ͍ͨͬͨͷ͔ʁ • اըʗ։ൃҰମܕͷτϥΠΞϧ • ٕज़ܥࣾһͷٕज़ྗ޲্ • Web։ൃϓϥοτϑΥʔϜͷબఆ 12
  9. Copyright (c) 2007 NIFTY Corporation. Some Rights Reserved. ࣮ࡍͷಋೖ·ͰͷಓͷΓ (1)

    ඿தʮ࠷ॳ͔Β࠷ޙ·ͰαʔϏε࡞Γ͍ͨʯ (2) ඿த͕ NaClओ࠵ͷRailsηϛφʔΛड͚Δ (3)ʮRails΍Γ·͠ΐ͏ʂʯͱۙ͘ʹ͍ͨळ޷ˍ੒ాʹ ੠Λ͔͚Δ (4) NaCl͞Μͱि̍ݚमΛ̐ճ΍Δ (5) ʮ͓୊͸ʁʯͱ͍͏͜ͱͰTimeLine (6) ݚमͰϓϩτ࡞੒ɺվमͯ͠ϦϦʔεʂ (7) Ͱ΋඼࣭ʹ͸ؾΛ࢖͍·ͨ͠ʢ“χϑςΟ੡”ʣ 13
  10. Copyright (c) 2007 NIFTY Corporation. Some Rights Reserved. ։ൃελΠϧ •

    ຊۀͷ߹ؒ ΈΜͳຊۀ຿Λ࣋ͪͳ͕Βɻ • ʮ໦༵͸Railsͷ೔ʯ ฐࣾϥϘϧʔϜʹ͜΋ͬͯ։ൃ • ΞδϟΠϧ։ൃ اը΍ཁ݅ఆٛʹ࣌ؒΛ͔͚ͣʹͱΓ͋͑ͣ࡞ͬͯΈΔ →ʮΈΜͳͰ࡞ΕΔλΠϜϥΠϯʯ͸౰ॳͷاըʹ͸ೖͬͯͳɹ ɹ ɹ ɹ ɹ ɹɹ͔ͬͨ 14
  11. Copyright (c) 2007 NIFTY Corporation. Some Rights Reserved. 7% 8%

    10% 11% 29% 35% NaCl͞Μ ຖि໦༵೔ͱ ౔೔ ௨ৗۀ຿ͷ ۭ͍ͨ࣌ؒ ্࢘ͷཧղ ·ͭ΋ͱ Ώ͖ͻΖ͞Μ Dave Thomas͞Μ TimeLine͸ͳʹͰͰ͖͍ͯΔ͔ 16
  12. Copyright (c) 2007 NIFTY Corporation. Some Rights Reserved. αʔόߏ੒ Apache2.0

    +mod_proxy Apache2.0+FastCGI +Rails1.1.6 MySQL4 DBαʔό ※β൛ͷͨΊɺεϐʔυॏࢹͰ̍୆ผ్ίʔϧυελϯόΠ Railsαʔό Web/Proxyαʔό ʢFlash/blogparts౳ɺ੩తίϯςϯπʣ ×̎୆ ×̎୆ ×̍୆ FileServer LoadBalancer ιʔεʗը૾ ΩϟογϡϑΝΠϧ ͳͲΛڞ༗ 17
  13. Copyright (c) 2007 NIFTY Corporation. Some Rights Reserved. ͦͷଞͷσʔλ •

    ొ࿥Ϣʔβ਺ɿ3,000໊ • ొ࿥λΠϜϥΠϯ਺ɿ2,500݅ • ొ࿥هࣄ਺ɿ35,000݅ 18
  14. Copyright (c) 2007 NIFTY Corporation. Some Rights Reserved. ͦͷଞͷσʔλ •

    Controllersɿ12+6ʢ؅ཧऀػೳʣɺModelsɿ8ɺ Helpersɿ8ɺViewsɿ116ɺPluginsɿ7 • ιʔείʔυɿ8,000ߦʢviewΛআ͘ʣ • ͍ΘΏΔ ਓ݄Ͱ׵ࢉɿ̐ʙ̑ਓ݄͘Β͍ʁ • ࣾһ3໊ʴNaCl༷2໊ʴFlasher1໊ʴσβΠφʔ໊̎ͷɺ શһ݉຿ମ੍ ※্ه͸αʔϏεϦϦʔε࣌఺ 19
  15. Copyright (c) 2007 NIFTY Corporation. Some Rights Reserved. ෛՙରࡦ •

    Ωϟογϡ(fragment caching) • ҰཡܥϖʔδΛத৺ʹɻ • DBνϡʔχϯά • BlogParts༻νϡʔχϯά • Proxyαʔόɺxmlͷpage caching 20
  16. Copyright (c) 2007 NIFTY Corporation. Some Rights Reserved. ࠓޙͷల։ •

    Ϣʔβʔͷ੠ΛͰ͖Δ͚ͩૣ͘۩ݱԽ͢Δ • “ࣗ෼Β͠͞”ΛදݱͰ͖Δπʔϧʹ • ଞͷαʔϏεͱͷ࿈ܞ΋ࢹ໺ʹ 21
  17. Copyright (c) 2007 NIFTY Corporation. Some Rights Reserved. ࠷ޙʹ •

    χϑςΟɺRailsͰͷ։ൃΛ ࢝Ί·ͨ͠ʂ • ΋͠ػձ͕͋Ε͹ɺҰॹʹ։ൃ͠·ͤΜ͔ʂʂʂ ʢਓࡐืूதʂʣ • ๻ΒɺRailsͰͷ։ൃΛ ָ͠ΜͰ·͢ʂʂ 22