Enterprise Ruby on GlassFish

Enterprise Ruby on GlassFish

「JRuby の最新動向と NetBeans, GlassFish, Solaris on Sun サーバ」 セミナー
https://blogs.oracle.com/yosshi/entry/jruby_%E3%81%AE%E6%9C%80%E6%96%B0%E5%8B%95%E5%90%91%E3%81%A8_netbeans_glassfish_solaris

GlassFish で安心、エンタープライズ Ruby

759f46b226f3fc59661883355503a874?s=128

Takayuki Okazaki

June 26, 2008
Tweet

Transcript

  1. GlassFish で安心、 エンタープライズRuby 岡崎 隆之 Java エバンジェリスト サン・マイクロシステムズ株式会社

  2. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ

  3. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ (MBTT'JTI Ϣʔβɾάϧʔϓɾδϟύϯ HMBTTpTIKQ

  4. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ ࣗݾ঺հ     #"4*$ $ $

    'PSUSBO $0 #0 - "TTFN CMFS 1BTDBM +BWB 1FSM 3VCZ "HF
  5. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ ࣗݾ঺հ     #"4*$ $ $

    'PSUSBO $0 #0 - "TTFN CMFS 1BTDBM +BWB 1FSM 3VCZ "HF 3VCZPO3BJMT ྺ  ೔ ࠷ॳͷΞϓϦέʔγϣϯ ೥  ݄  ೔ ࣌ࠒ
  6. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ ؅ཧੑڧԽ ύϑΥʔϚϯε޲্ $PNFU"KBY +3VCZPO3BJMT (MBTT'JTIW  ೥ 

    ݄  ೔ϦϦʔε +BWB&& ४ڌ ߴՄ༻ੑͱ ΫϥελରԠ /&5 ૬ޓӡ༻ੑ &4# ج൫
  7. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ ϥΠηϯε $%%- $PNNPO%FWFMPQNFOUBOE%JTUSJCVUJPO-JDFOTF (1-W (/61VCMJD-JDFOTFWFSTJPO ঎༻ϥΠηϯε 4VO+BWB4ZTUFN"QQMJDBUJPO4FSWFS

  8. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ (MBTTpTI ͱ͸      

            /FU%ZOBNJDT ,JWB4PGU /FUTDBQF"QQMJDBUJPO4FSWFS J1MBOFU"QQMJDBUJPO4FSWFS J1MBOFU"QQMJDBUJPO4FSWFS J1MBOFU8FC4FSWFS +&& +&& +&& +BWB&& 'PSUF4ZOFS+ 4VO0/&"QQ4FSWFS 4VO+BWB4ZTUFN"QQ4FSWFS 4VO+BWB4ZTUFN"QQ4FSWFSY (MBTT'JTIW4VO+BWB4ZTUFN"QQ4FSWFS (MBTT'JTIW4VO+BWB4ZTUFN"QQ4FSWFS /FU#FBOT
  9. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ ύϑΥʔϚϯε       (MBTT'JTIW%#

    (MBTT'JTIW1PTUHSF42- 8FC-PHJD%# 0SBDMF"4H0SBDMFH3 8FC4QIFSF%# (MBTT'JTIW 0SBDMFH3 41&$K"QQ4FSWFS ΑΓ 4VO'JSF5 ϊʔυͷϕϯνϚʔΫ݁Ռ  ೥  ݄ݱࡏ
  10. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ 84"UPNJD5SBOTBDUJPO 84$PPSEJO BUJPO 844FDVSJUZ1 PMJDZ 84 4FDVSJUZ 843FMJBCMF.FTTBHJOH

    844FDVSF$PO WFSTBUJPO 8 4.FUBEBUB&YDI BOHF 40"1   8 45SVTU 8FC αʔϏεͱ૬ޓӡ༻ੑ 1SPKFDU5BOHP /&5
  11. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ &4# &OUFSQSJTF4FSWJDF#VT ͕͍ͭͯ·͢ +BWB#VTJOFTT*OUFHSBUJPO +43 ४ڌͷ 0QFO&4# ͕౷߹͞Ε͍ͯ·͢

    IUUQPQFOFTCEFWKBWBOFU
  12. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ ߴՄ༻ੑͱΫϥελϦϯά σʔλՄ༻ੑ ηογϣϯσʔλ΍ τϥϯβΫγϣϯঢ়ଶͷ෮ݩ αʔϏεՄ༻ੑ ෛՙ෼ࢄͱϩʔϦϯά ΞοϓάϨʔυ

  13. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ ؅ཧػೳͷڧԽ Ϋϥελͷ؅ཧ ΞϓϦέʔγϣϯ഑උɺىಈఀࢭɺ αʔόূ໌ॻ؅ཧɺαʔόΠϯελϯεͷ௥Ճʗ࡟আ ࣗݾ؂ࢹʗࣗݾνϡʔχϯά +.9 ͰಘΒΕΔ৘ใΛࣗಈతʹ؂ࢹ͠ɺ ϙϦγʹج͍ͮͨࣗݾνϡʔχϯά

    Ξοϓσʔτηϯλʔ Ϟδϡʔϧͷߋ৽൛΍ɺ৽Ϟδϡʔϧͷಋೖ αΠτಠࣗͷΞοϓσʔτηϯλʔͷߏங΋Մೳ
  14. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ +3VCZPO3BJMT ˠ 3BJMT ΞϓϦέʔγϣϯ΋ ؆୯ʹσϓϩΠɺෛՙ෼ࢄ

  15. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ "KBY ΍ $PNFU ͷαϙʔτ K.BLJ IUUQKNBLJDPN %PKP ΍

    1SPUPUZQFKTɺ4QSZ ͳͲϝδϟʔͳ "KBY ϥΠϒϥϦΛแΈࠐΜͰɺ"KBY Λखܰʹ ࢖͍΍͘͢ ೔ຊޠԽϓϩδΣΫτ ελʔτʂ $PNFU αʔόଆ͔Βσʔλߋ৽ͷλΠϛϯάΛ఻͑ΔςΫχοΫʂ (MBTTpTI Λࢧ͑Δ /*0 ϑϨʔϜϫʔΫ(SJ[[MZ ʹΑΓ ਫ਼ྗతʹαϙʔτʂ
  16. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ +BWB8FC4UBSU ͱΫϥΠΞϯτίϯςφ +BWB8FC4UBSU 8FC ϒϥ΢β͔Β +BWB ΞϓϦέʔγϣϯΛىಈ Ϟδϡʔϧͷߋ৽͕͋Ε͹ࣗಈతʹࠩ෼Λμ΢ϯϩʔυՄೳ

    ΫϥΠΞϯτίϯςφ &+# ΍ +.4 ΛϦονΫϥΠΞϯτ౳͔Βར༻Λิॿ͢Δ ίϯςφɻαʔό͕ΫϥελϦϯά͞Ε͍ͯΔ৔߹ʹ͸ ෛՙ෼ࢄ΋ߦ͏ ໘౗ͳূ໌ॻͰͷॺ໊΋ (MBTT'JTI ͕໘౗Λݟ·͢ʂ
  17. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ (MBTT'JTI ͷϩʔυϚοϓ (MBTT'JTIW 1SPKFDU4BJMpO 4*14FSWMFU Λ౥ࡌͨ͠όʔδϣϯ (MBTT'JTIW ϞδϡʔϧԽ͞ΕɺখܕɾܰྔԽ

    +BWB&& ରԠͱɺ+BWB Ҏ֎ͷػೳ΋ੵۃ࠾༻ 1)1 3VCZ 'VMM#V[[XPSE$PNQMJBOU
  18. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ (MBTT'JTIW ͷىಈ UFDIQSFWJFXC KBWBKBSMJCHMBTTpTI4/"14)05KBS +BO 1.DPNTVOFOUFSQSJTFWTFSWFS"QQ4FSWFS4UBSUVQSVO */'0*OJUTFSWJDFDPNTVOFOUFSQSJTFWTFSWJDFTJNQM$NE-JOF1BSBN1SPDFTTPS!BB +BO

    1.DPNTVOFOUFSQSJTFWTFSWFS"QQ4FSWFS4UBSUVQSVO */'0*OJUTFSWJDFDPNTVOFOUFSQSJTFWTFSWJDFTJNQM-PH.BOBHFS4FSWJDF!F +BO 1.DPNTVOFOUFSQSJTFWTFSWJDFTJNQM%FQMPZNFOU4FSWJDFQPTU$POTUSVDU */'04VQQPSUFEDPOUBJOFSTXFC KSVCZ QIPCPT +BO 1.DPNTVOFOUFSQSJTFWTFSWFS"QQ4FSWFS4UBSUVQSVO */'04UBSUVQTFSWJDF%FQMPZNFOU +BO 1.DPNTVOFOUFSQSJTFWTFSWJDFTJNQM(SJ[[MZ"EBQUFSQPTU$POTUSVDU */'0-JTUFOJOHPOQPSU +BO 1.DPNTVOFOUFSQSJTFWTFSWFS"QQ4FSWFS4UBSUVQSVO */'04UBSUVQTFSWJDF"QQMJDBUJPO-PBEFS +BO 1.DPNTVOFOUFSQSJTFWTFSWFS"QQ4FSWFS4UBSUVQSVO */'04UBSUVQTFSWJDF(SJ[[MZPOQPSU +BO 1.DPNTVOFOUFSQSJTFWTFSWFS"QQ4FSWFS4UBSUVQSVO */'0(MBTTpTIWTUBSUFEJONT
  19. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ (MBTT'JTI ΁ͷ 3VCZPO3BJMT ΞϓϦ഑උ  ʷXBSCMFS .Z3BJMT"QQXBS

  20. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ (MBTT'JTI ΁ͷ 3VCZPO3BJMT ΞϓϦ഑උ  υϝΠϯ؅ཧαʔό υϝΠϯ؅ཧαʔόܦ༝ͰΞϓϦέʔγϣϯΛ഑උ͢Δɻ

  21. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ (MBTT'JTI ΁ͷ 3VCZPO3BJMT ΞϓϦ഑උ  ͋ͱ͸υϝΠϯ؅ཧαʔό͕ Ϋϥελ಺ʹ഑උͯ͘͠Ε·͢ɻ

  22. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ (MBTT'JTI ͷڧΈ ؅ཧ༻ͷ (6* ͕͋Δ

  23. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ 3BJMT ͷ࣮ߦ؀ڥ ։ൃ؀ڥʹΑͦ͞͏ ӡ༻؀ڥʹΑͦ͞͏ 8&#SJDL HMBTTpTIWHFN .POHSFM .POHSFMDMVTUFS

    'BTU$(* (MBTT'JTI NPE@SBJMT UIJO
  24. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ +3VCZ ͷୈҰਓऀͷํʹΑΕ͹ ௌऺͷதʹજΜͰ͍ͨ +3VCZ ୈҰਓऀ͔Βɺ ख௧͍ಥͬࠐΈͷ਺ʑΛ௖͍ͨɻ d ུ

    d ʮ$(* ʹൺ΂ͯύϑΥʔϚϯεతʹ༗རʯͱهड़ͯ͠͠·͕ͬͨɺ ݱঢ়Ͱ͸ NPOHSFM@DMVTUFS Ͱਅ໘໨ʹ ߏஙͨ͠ํ͕ɺ+3VCZ ΑΓ΋ύϑΥʔϚϯε͸͍͍਺஋͕ಘΒΕ͍ͯΔɺͱͷ͜ͱɻ ʮ+3VCZPO3BJMTʯʹ͍ͭͯൃද͠·ͨ͠ ఱ࢖΍ΧΠβʔͱݺ͹Εͯ ΑΓ IUUQXXXFJTCBIOKQZPJDIJSPKSVCZ@PO@SBJMTIUNM
  25. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ σϞʢͨΊͯ͠ΈΑ͏ .POHSFMDMVTUFS [POF [POF

  26. (MBTTpTI Ϣʔβɾάϧʔϓɾδϟύϯ l ҆৺ z ͷ൑அج४    

      +3VCZ +3VCZ ·ͩ·ͩੑೳʹ৳ͼ͠Ζ͕ ͋Δ͜ͱΛങ͍ͬͯͩ͘͞ɻ def fib(n) if (n < 2) n else fib(n - 2) + fib(n - 1) end end fib(32) ϑΟϘφον਺ྻΛܭࢉ͢Δɻ .BD#PPL1SP *OUFM$PSF%VP()[ +%,@