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

情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦

newapplesho
September 24, 2014

情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦

今回,ついにSmalltalkを用いた自社クラウドサービスを公開することができました。
Smalltalk(Pharo)をクラウドサービスに使ってみて分かったことをまとめました。

第68回Smalltalk勉強会 資料
http://www.smalltalk-users.jp/Home/gao-zhi/dai68kaismalltalkbenkyoukai

newapplesho

September 24, 2014
Tweet

More Decks by newapplesho

Other Decks in Programming

Transcript

  1. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ஌Βͳ͍ํͷͨΊʹ

    ৘೤ϓϩάϥϚʔ Chad Fowler (ஶ), Ͱͼ͋Μ͙Δ (຋༁) ग़൛ ΦʔϜࣾ
  2. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ϓϩϑΟʔϧ

    • ٢ా ᠳʢΑͩ͠͠ΐ͏ʣ • 1986೥ੜ·Ε 28ࡀ • Smalltalker • ੲɼ౦ژͷձࣾͷSEͩͬͨ • झຯ ன৸ͱϐΞϊ twitter: @newapplesho facebook: newapplesho
  3. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. SORABITOגࣜձࣾʢhttp://www.sorabito.comʣ

    • αʔϏεاըɾ։ൃɾӡӦ • ૬ݟੵۀ຿վળαʔϏεʮMikataʢϛΧλʣʯ • ΢ΣϒγεςϜ։ൃ • ΢Σϒ੍࡞ɾ΢ΣϒϚʔέςΟϯά
  4. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. Smalltalkerͱͯ͠ͷࣗ෼

    ֶੜ࣌ͷݚڀςʔϚͷ࣮૷͔Β༧໿γεςϜͳͲͰ SmalltalkΛ࢖͍ଓ͚͖ͯͨ Smalltalk͸࣮ઓͰ΋࢖͑Δ Smalltalkͬͯ࠷ߴʂ ΋ͬͱ೔ຊͷSmalltalkͷࣄྫΛ૿΍͍ͨ͠
  5. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. SmalltalkͰ

    Ϋϥ΢υαʔϏεΛ ࡞ͬͯΈΑ͏ ΍ͬͪ·ͬͨͳɾɾɾɾ
  6. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ݐઃػցʹ͍ͭͯ

    • ༉ѹγϣϕϧʢϢϯϘʣɺϒϧυʔ βʔɺμϯϓͳͲݐઃݱ৔Ͱ࢖͏ػց • ओʹݐઃձࣾ΍ݐઃػցϨϯλϧձࣾ ͕ॴ͍࣋ͯ͠·͢ • ৽඼͸͙͢ʹ͸खʹೖΒͳ͍ • ੜ࢈ௐ੔΋͋ͬͯதݹͷݐઃػց͸ॏ ཁʢചΕ·͢ʣ • ੈքதͷͲ͔͜Ͱݐઃػց͸࢖ΘΕͯ ͍Δ
  7. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ࢢ৔ΛબͿ

    • ݐઃػցۀք͸IT׆༻Λߟ͑࢝Ί͍ͯΔ • Ϩϯλϧձ͕ࣾࠃ಺ͷ4ׂͷػցΛอ༗͍ͯ͠Δ • Ϩϯλϧձࣾ͸ɺϨϯλϧɾमཧɾൢചɾதݹػցͷ ങऔΛߦ͍ͬͯΔ ݐઃػցͷചങʹ͍ͭͯ஫໨
  8. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. Ϩϯλϧձࣾͷݐઃػցചങʹ͍ͭͯ

    Α͋͘Δ࣭͝໰ &  "  '  %  $#  # !   %    ɾ૬ݟੵ΋Γ͕ඞཁ ɾࣗࣾอ༗ػ͚ͩͰ͸ͳ͘ɼ٬ઌػց΋ചങ͢Δ
  9. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ૬ݟੵ΋Γͷ໰୊

    • Ӧۀ୲౰ऀͷوॏͳ͕࣌ؒগͳ͘ͳΓɼଞͷӦۀ׆ಈ ͷػձ͕ଛͳΘΕΔ • Կ౓΋ಉ࣭͡໰Λฦ౴͢Δ͜ͱ͕͋Δ • ϝʔϧͷޡૹ৴ͷՄೳੑ
  10. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ࣸਅͷૹ෇࡞ۀʹ͍ͭͯ

    ϝʔϧ ϦαΠζ DRY͡Όͳ͍ ϝʔϧαʔόʔͷ༰ྔ͕খ͍͜͞ͱ͕ଟʑ͋Γ
  11. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ղܾҊ

    શࠃͷങऔձࣾʹରͯࠪ͠ఆΛ ґཔɾ؅ཧͰ͖ΔΫϥ΢υαʔϏε Mikata
  12. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. αʔϏεͷಛ௃

    1. ͍ͭͰ΋Ͳ͜Ͱ΋ೖྗ߲໨ʹै͏͚ͩͰར༻Մೳ 2. ෳ਺ͷങऔձࣾʹ૬ݟੵ΋ΓՄೳ 3. Ҋ݅ͷ؅ཧɾϚωʔδϝϯτ͕Ͱ͖Δ 4. ৽ͨͳιϑτ΢ΣΞ͸ෆཁ
  13. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ̍ɽ΢Σϒ͔Β͍ͭͰ΋Ͳ͜Ͱ΋ར༻Մೳ

    ࣸਅ͸ͦͷ··Ξοϓϩʔυɻ ϦαΠζ࡞ۀ͸ʮMikataʯʹ͓೚͍ͤͩ͘͞ɻ Mikata
  14. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ̎ɽෳ਺ͷങऔձࣾ΁૬ݟੵՄೳ

    ి࿩͸੒໿௚ޙ͚ͩ ΢ΣϒͰ΍ΓऔΓ͢Δ͜ͱͰه࿥ʹ࢒Δ            Mikata
  15. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ̏ɽҊ͕݅؅ཧͰ͖Δ

    ࠪఆҊ͕݅؅ཧͰ͖ΔͨΊɺ͓٬༷ͷϑΥϩʔ͕༰қɻ ؅ཧऀ΋Ӿཡ͢Δ͜ͱͰӦۀ୲౰ͷαϙʔτ΋Մೳɻ
  16. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ̐ɽ৽ͨͳιϑτ΢ΣΞ͸ෆཁ

    ϛΧλ ϒϥ΢βͰར༻Մೳɻ ιϑτ΢ΣΞͷߋ৽͸ෆཁɻৗʹ࠷৽ػೳ͕ར༻Մೳɻ
  17. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. Ͳ͏΍ͬͯਐΊ͍͔ͯ͘

    • ϦʔϯελʔτΞοϓΛ࣮ફ • ̎ຕͷը໘ϑϩʔਤͱ10ຕͷεϥΠυͰαʔϏεఏҊ • ΞΠσΟΞͷमਖ਼Λ܁Γฦ͠ߦ͍ɼαʔϏεར༻ऀ͕ ݟ͔ͭΔ·Ͱ࡞Βͳ͍
  18. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ID

    pass MIKATA login login ΦϦδφϧΞΧ΢ϯτͰ ϩάΠϯ Ӧۀ୲౰ऀ༷ͷϑϩʔ ϚωʔδϝϯταʔϏεʮϛΧλʯ ֓ཁ ࡞੒ऀ ߋ৽೔ ߋ৽ऀ ٢ాɹᠳ  ࡞੒೔ MIKATA ࠪఆΛґཔ͢Δ ґཔதҊ݅Ұཡ ੒໿Ҋ݅ॲཧ ࠓ݄͸˓˓݅ࠪఆத menu MIKATA ϢϯϘ ࠪఆر๬ͷػցΛબ୒͍ͯͩ͘͠͞ μϯϓ ΫϨʔϯ ༹઀ػ ૲מػ ൃిػ select machine MIKATA ϢϯϘࠪఆ ϝʔΧʔ ܗࣜ Քಇ࣌ؒ อ؅৔ॴ ࣍΁ order form ύεϫʔυΛ๨Εͨਓ͸ͪ͜Β MIKATA order list ࠪఆҰཡ ࠪఆϨϙʔτ ߋ৽೔ ߋ৽೔ ߋ৽೔ ߋ৽೔ ߋ৽೔ ߋ৽೔ ༹઀ػ     ίϚπ ฤू 1$  ܗࣜ  ґཔத   ΧςΰϦ ૲מػ ฤू ฤू ϢϯϘ ϝʔΧʔ )."   ґཔத 1$66 ࠪఆґཔ೔ ίϚπ ͍ͣ͢ OP  ੒໿ ૬ݟੵ σϯϤʔ ฤू ฤू ঢ়گ μϯϓ ฤू      YYY ฤू θϊΞ ϢϯϘ ੒໿ MIKATA ϢϯϘࠪఆ confirm and Q & A උߟ ങ͍ସ͑ʹΑΔ ങऔ ୲౰ ◦◦ 4/16 ظݶ Ѫ஌ อ؅৔ॴ ͓٬໊༷ ˓˓༷ ܗࣜ ΧςΰϦ ΰϜ PC-28UU ϢϯϘ Ωϟλ ৘ใͷमਖ਼ ه࿥ ࣭໰ ࠪఆ݁Ռ QɽટճϞʔλʔʹ࿙Ε͸͋Γ·͔͢ʁ QɽҾ͖औΓ৚݅Λڭ͍͑ͯͩ͘͞ Qɽر๬ֹۚ͸͋Γ·͔͢ ϢϯϘࠪఆ confir ه࿥ ࣭໰  ͓٬༷ΑΓ  ر๬ֹۚ֬  ر๬ֹۚ֬ ɾϖʔδΊ͘ΓͰҊ݅ΛӾཡՄೳ ɾιʔτՄೳ ɾҹ࡮΋Ͱ͖ΔͱΑ͍ʁ ɾࠪఆʹඞཁͳ࠷௿ೖྗ߲໨Λ༰қ ɾػցʹ߹ΘͤೖྗϑΥʔϜΛมߋ͢Δ ɾೖྗνΣοΫ ɾ࣭໰ͷ΍ΓऔΓ͸΢Σϒ্ͰՄೳʹ͢Δ ɾ࣭໰ͱճ౴Λશͯͷങऔձࣾʹެ։͢Δ ɾӦۀ୲౰ऀ ɾه࿥ʹ୲౰ ɾ࣮ಇ࣌ؒ΋ ɾ͓٬༷ʹର MIKATA ߋ৽೔ ߋ৽೔ ܗࣜ    ΧςΰϦ ૲מػ ϝʔΧʔ )."  ࠪఆґཔ೔ OP ੒໿ ใࠂ ঢ়گ θϊΞ ੒໿Ҋ݅ॲཧ ใࠂ ࣾ֎ൿ Copyright © 2014 AOKI Development Co., Ltd All Rights Reserved. s ɾࠪఆ ങऔձࣾ
  19. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. SmalltalkͰ

    Ϋϥ΢υαʔϏεΛ ͸͡ΊͯΈΔ https://mikatacloud.com/
  20. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. MikataͷӦۀ

    6/19 6/24 6/24 6/26 7/1 7/3 7/4 Nagoya Matsuzaka Tokyo Sendai Fukuoka Wakayama Wakayama
  21. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. Ͳ͏΍ͬͯ࡞Δ͔

    • αʔϏεͷ֦େʹ߹ΘͤͯεέʔϧͰ͖ΔΫϥ΢υαʔ όʔʢAWSʣΛར༻ • গ਺ϝϯόʔͰӡ༻͢ΔͨΊͷαʔϏεΛ׆༻ • ػցຖʹҟͳΔ৘ใΛอଘ͢ΔͨΊNoSQLΛ׆༻ • ࣸਅ͸ΦϦδφϧϑΝΠϧ͚ͩΛอଘ • τϥϯβΫγϣϯϝʔϧΛ഑৴
  22. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. AWSͰར༻ͨ͠αʔϏε

    • EC2ʢԾ૝αʔόʔʣ • ELBʢϩʔυόϥϯαʔʣ • Route53ʢDNSʣ • Amazon RDS for PostgreSQLʢRDBʣ • Amazon DynamoDBʢNoSQLʣ • S3ʢࣸਅɼϩά౳ͷετϨʔδʣ
  23. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. Amazon

    DynamoDB • ΩʔɾόϦϡʔܕͷNoSQLσʔλϕʔεαʔϏε • ؅ཧෆཁͰ৴པੑ͕ߴ͍σʔλϕʔε • σʔληϯλʔؒͷࣗಈಉظϨϓϦέʔγϣϯ • ߴ଎ͳΞΫηε͕Մೳ • SSDΛར༻͍ͯ͠Δ • ετϨʔδ༰ྔ੍ݶ͕ͳ͍ • ϓϩϏδϣϯεϧʔϓοτ͚ͩΛࢦఆ͢Δ͚ͩ • APIʢSDKʣܦ༝Ͱར༻Ͱ͖Δ
  24. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. Region

    Availability Zone Availability Zone PostgreSQL PostgreSQL RDS PostgreSQL PostgreSQL PostgreSQL RDS PostgreSQL DynamoDB S3 Amazon EC2 Amazon EC2 Internet Amazon Route 53 Hosted Zone Elastic Load Balancing 44- 44- 44- 44- ߏ੒ਤ ಉظ ಉظ
  25. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. Smalltalker͕AWSΛ࢖͏ࡍͷ໰୊

    nodeJS iOS iOS Java Javascript Net nodeJS Android PHP Python Ruby Ruby ͋ΕSmalltalk͸ʁ
  26. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. Amazon͞Μʹฉ͍ͯΈͨ

    SmalltalkͰAWSʢDynamoDBʣ࢖͍ ͍͚ͨͲɼͲ͏ͨ͠Β͍͍Ͱ͔͢ʁ MongoDBͳΒύοέʔδ͕ ͋Δ͔Β͍͍ΜͰ͚͢Ͳɾɾɾ ※Smalltalkʹ͸ ͋ͷKent Beck͕࡞ͬͨ MongoDBͷύοέʔδ͕͋Δ
  27. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. Amazon͞Μͷճ౴

    https://www.flickr.com/photos/mendhak/4850482798/ REST APIΛୟ͘ͷ͡Ό SmalltalkͳΒͰ͖Δ͸ͣ
  28. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. Amazon͞ΜͷMongoDB΁ͷճ౴

    https://www.flickr.com/photos/mendhak/4850482798/ εέʔϧ࣌ʹେৎ෉ʁ όοΫΞοϓͱ͔େৎ෉ʁ Ϛγϯ୆਺͍Δ͔Βඅ༻΋େৎ෉ʁ
  29. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. Ϋϥ΢υαʔόʔʮMikataʯΛࢧ͑ΔSmalltalk

    ։ൃݴޠ Smalltalk(Pharo 3.0beta) Web Framework Seaside 3.1ʢܧଓϕʔεͷ Web Frameworkʣ O/RϚοϐϯά Glorp ϩά Nagare(Fluentd) AWS SDK Smalltalk൛Λ࡞Δ
  30. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ͳΜͰSmalltalk?

    • Java ϓϩτλΠϓ࡞ΓͰྫ֎͹͔ͬΓߟ͑ͨ͘ͳ͍ • PHP σόοά͠ͳ͕Β։ൃͰ͖Δ͔ෆ҆ • Ruby Α͍ɻͰ΋νϡʔχϯάํ๏ৄ͘͠ͳ͍ • Scala Α͍ɻ͕͋͜Εɻֶश͕࣌ؒͳ͔ͬͨɻ • Perl ͦΜͳʹৄ͘͠ͳ͍ɻ • Python ͦΜͳʹৄ͘͠ͳ͍ɻ • Node.js εέʔϧ͕৺഑ɻ ผʹSmalltalk͔͠Ͱ͖ͳ͍Θ͚͡Όͳ͍Μ͔ͩΒͶ I♥️ Smalltalk ͢͹΍͘୹͍ظ͔ؒͭ࢓༷มߋ׻ܴͰ΍Δʹ͸ ݴޠ͸޷͖ͳ΋ͷΛ࢖͍͍ͨ
  31. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. SmalltalkͰAWS

    SDKΛ߈ུ͍ͯ͠ΈΔ AWS Signature Version 4 Signature version 4 signing process http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html ϖʔδΛΑ͘ಡΜͰSmalltalkͰ࡞ͬͯΈΔ ʢӳޠπϥ͍ʣ ଟ͘ͷAWSαʔϏεͱ΍ΓऔΓ͢Δͱ͖ඞཁ
  32. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. AWS

    Signature Version 4 for Smalltalk SHA256͕ඞཁ Pharoʹ͸ͳ͔ͥSHA1͔͠ͳ͍ ͦΜͳ͜ͱ΋͋Δ͞ɺؾʹ͢Δͳ MCHttpRepository location: 'http://smalltalkhub.com/mc/Cryptography/Cryptography/main' user: '' password: '' ྫྷ੩ʹύοέʔδΛ௥ՃͰରԠ
  33. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. SmalltalkͰDynamoDB

    HTTP APIΛ߈ུ͢Δ • SSL઀ଓ • URL͸શͯ/ɻURLͰॲཧ಺༰Λࢦఆ͠ͳ͍ • ϔομʔͷx-amz-targetͰॲཧ಺༰Λࢦఆ͢Δ • ΤϯυϙΠϯτ͸σʔλʔηϯλʔͷ৔ॴΛࢦఆ • JSONܗࣜͰૹ৴ɺJSONܗࣜͰड৴ • ϔομʔʹx-amz-dateͱ͍͏ISO 8601ܗࣜʢྫ: 20130315T092054Zʣͷ ೔෇ΛೖΕͳ͚Ε͹ͳΒͳ͍ DynamoDB HTTP APIʹ͍ͭͯ http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/MakingHTTPRequests.html ৄ͘͠͸
  34. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. AWS

    DynamoDB Client for Smalltalk ISO 8601ܗࣜͷ೔෇ϑΥʔϚοτग़ྗ͕ඞཁ Pharoʹ͸ͳ͔ͥඪ४૷උ͞Ε͍ͯͳ͍ͬΆ͍ ʢ͍͔ͭΒͳ͍ͷʁ ɹ஌Βͳ͍͚ͩͰ͋Δ͔΋ɻ ɹ೔෇ܥΫϥεͲ͏ʹ͔ͯ͠ཉ͍͠ʣ ͦΜͳ͜ͱ΋͋Δ͞ɺؾʹ͢Δͳ
  35. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. AWS

    DynamoDB Client for Smalltalk จࣈྻσʔλ͸UTF8Ͱͳ͚Ε͹ͳΒͳ͍ PharoͷจࣈྻΛϚοϐϯά͢Δࡍʹ UTF8ʹ͠ͳ͚Ε͹ͳΒͳ͍ ͍ͭ΋ͷ͜ͱ͞ɺؾʹ͢Δͳ
  36. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. AWS

    DynamoDB for Smalltalk ௿ϨϕϧAPIͷඞཁͳͱ͜Ζ͚࣮ͩ૷
  37. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ྫɿDynamoDBͷςʔϒϧͷҰཡ

    dy := DynamoDBRowClient new. dy awsConfig accessKeyId:'ΞΫηεΩʔ'. dy awsConfig secretKey:'γʔΫϨοτΩʔ'. ! operationName := #ListTables. requestBody := '{}'. resp := dy operationName: operationName contents: requestBody.
  38. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. AWS

    DynamoDB for SmalltalkΛؾΛ͚ͭΔ͜ͱ API࡞੒͚ͩͰ͓͕͔͔ۚͬͯ͠·͏
  39. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. DynamoDB

    Local JavaͰಈ͘ϩʔΧϧ൛DynamoDB http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ Tools.DynamoDBLocal.html ৄ͘͠͸ ঎༻Ͱ͸࢖͑ͳ͍ APIͷ֬ೝఔ౓͙Β͍͔͠࢖͑ͳ͍ API࡞੒ͷࡍʹ͸DynamoDB Local͕͓͢͢Ί
  40. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. DynamoDB

    Local΋ରԠ͓ͯ͠Γ·͢ dy := DynamoDBRowClient new. dy awsConfig accessKeyId:'ΞΫηεΩʔ'. dy awsConfig secretKey:'γʔΫϨοτΩʔ'. dy awsConfig useSSL: false. dy endpoint: ‘localhost:8000'. ! operationName := #ListTables. requestBody := '{}'. resp := dy operationName: operationName contents: requestBody.
  41. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. γεςϜߏ੒

    αʔϏεϩδοΫ αʔϏε ΢ΣϒαʔϏε ϒϥ΢β Ӧۀ୲౰ऀ औҾઌ୲౰ऀ ΫϥελϦϯά͸ݕ౼ 3%# .VMUJ"; %ZOBNP%# σʔλϕʔε ϝʔϧόον 1$ͱNPCJMFରԠ ϩάه࿥ ͓٬༷৘ใΛه࿥͢Δ 'MVFOUE ؆қ"1*࡞੒ 3%4ͱͷ઀ଓͷͨΊʹ 4UVOOFMΛ༻͍Δ pMFVQMPBENPEVMF JNBHFpMUFS ৑௕Խαʔό ϩάͷอଘઌ͸4 ը૾ͷ֨ೲઌ4
  42. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. SmalltalkʢSeasideʣͰHTML5Λ߈ུ͢Δ

    • Mikata͸εϚʔτϑΥϯɼλϒϨοτɼPCରԠ • ΢Σϒϒϥ΢βͰར༻Մೳ • HTML5Λ࢖͑͹ϑΝΠϧΞοϓϩʔυ΋Մೳ • UI͸LESSΛ࢖ͬͯಠࣗCSS FrameworkΛߏங
  43. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. SeasideͱHTML5

    WAComponent >> updateRoot:aHtmlRoot super updateRoot: aHtmlRoot. aHtmlRoot beHtml5. Ͱ΋XHTMLͷΑ͚͍ͳ෺͕࢒Δ ͦΜͳ͜ͱ΋͋Δ͞ɺؾʹ͢Δͳ SeasideͷϖʔδʹΑΔͱ
  44. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. SeasideͱHTML5

    WAComponent >> updateRoot:aHtmlRoot super updateRoot: aHtmlRoot. aHtmlRoot beHtml5. aHtmlRoot htmlAttributes removeKey:'xml:lang'; at:'lang' put:'ja'; removeKey: 'xmlns'. self setHtmlHeader: aHtmlRoot. ෆཁͳ৘ใ͸ফͤ͹͍͍
  45. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. SeasideͰSSLΛ߈ུ͢Δ

    • Mikata͸ৗ࣌SSLɻSeasideͷηογϣϯΩʔΛ SSL௨৴࣌ͷΈૹ৴͢ΔʢηογϣϯδϟοΫ ରࡦʣ • ηογϣϯͷݻఆԽରࡦΛ͢Δ͜ͱ WAComponent >>(class)initialize "self initialize" | app | app := (WAAdmin register: self asApplicationAt:'app') preferenceAt: #sessionClass put: MSession; yourself. app preferenceAt: #serverProtocol put: 'https'.
  46. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. SmalltalkͰRDS

    for PostgreSQLΛ߈ུ͢Δ • RDS for PostgreSQL΁ͷ઀ଓ͸SSL • PostgresV2͸SSL઀ଓରԠ͍ͯ͠ͳ͍ • StunnelʢSSL ProxyʣΛ࢖ͬͯରԠ
  47. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. SmalltalkͰϩάΛ߈ུ͢Δ

    • @Umejava͞ΜͷNagareʢFluentdʣΛ࢖͍·͠ΐ͏ • ιϑτ΢ϝϠ കᖒ͞Μ͋Γ͕ͱ͏͍͟͝·͢ʂ • FluentdͷϓϥάΠϯΛ༻͍ͯϩά͸S3ʹग़ྗ https://github.com/mumez/nagare-logger nagare-logger
  48. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. RDBΛNoSQLͷϋΠϒϦουͷ࣮ݱ

    • DynamoDBͷΫΤϦ͸෺଍Γͳ͍ • NoSQL͸εΩʔϚϨε͕ඞཁͳͱ͜Ζ͚ͩར༻ • εΩʔϚ͕ݻఆͰ͖Δͷ͸RDBʹϚοϐϯάͯ͠ར༻
  49. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ͦͷଞ

    • ը૾΍css͸֎෦urlࢀরʢSmalltalk image͸ܰ͘͢Δʣ • ۀքతʹϝʔϧૹ৴͸UTF8ඇରԠΫϥΠΞϯτ΋͋Δͨ ΊRubyʹ೚ͤΔ • ϝʔϧΛૹ৴͸SendGridʢhttps://sendgrid.kke.co.jp/ʣΛ ׆༻ • ը૾Ξοϓϩʔυ΍ϦαΠζ͸Nginxʹ೚ͤΔʢSmalltalkͰ ॲཧ͠ͳ͍ɻSmalltalkʹ༏͘͢͠Δʣ
  50. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. Pharo

    3.0Ͱ͔Θͬͨ͜ͱ nohup ./pharo.sh ./Pharo3.0.image --no-quit > /dev/null 2>&1 < /dev/null & GUIͳ͠ىಈํ๏͕͔Θͬͨ ίϚϯυϥΠϯૢ࡞΋Մೳʹͳͬͨ ./pharo.sh ./Pharo3.0.image eval "NgSettings default logLevel: 0. Smalltalk snapshot: true andQuit: true." GUIΛ্ཱͪ͛ͳͯ͘΋ϩάϨϕϧͩͬͯมߋͰ͖Δ
  51. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. SmalltalkͰ

    Ϋϥ΢υαʔϏεΛ ެ։ 2014೥7݄ࢼݧӡ༻։࢝ 2014೥9݄Ұൠެ։ https://mikatacloud.com/
  52. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ݐઃػցɾॏػɾं྆ͷചങʹؔΘΔํͷͨΊͷ

    ΤίΠϯϑϥγεςϜʮMikataʯ No.1 Ϋϥ΢υαʔϏεΛ໨ࢦ͠·͢ Mikata http://mikatacloud.com
  53. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. Seasideʹ͍ͭͯ

    • େ͖͘ͳΓա͗ • ͍ͩͿݹ͘ͳ͍ͬͯΔʢಛʹCanvasपΓʣ • ܧଓͰ͋ΔͨΊAPؒͷηογϣϯͷڞ༗Խ͕೉͍͠ • ը໘पΓͷࣗಈςετ͕೉͍͠ ܰྔ͔ͭStateless Web Framework͕ཉ͍͠
  54. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. DBपΓʹ͍ͭͯ

    • PostgreSQLͷυϥΠόʔ͕ݹ͗͢Δ • O/RϚοϐϯά͕ۤߦʢΠέ͍ͯͳ͍ʣ • MySQL΋ͦΖͦΖ࢖͍·ͤΜ͔ʁʢSmalltalkHubʹ͸͋Δ͚Ͳमཏͳ ؾ͕ɾɾɾʣ • ϚΠάϨʔγϣϯ͕େม കᖒ͞Μᐌ͘ɼʮVisualWorksͳΒ͋Γ·͢Αʯ
  55. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ։ൃྗ͔ΒσϓϩΠ਺޲্΁

    • imageΛҭͯΔ͜ͱΛͦΖͦΖ΍Ί͍ͨ • ʮImmutable InfrastructureʯΈ͍ͨʹʮImmutable Smalltalk ImageʯΛ࣮ݱ͍ͨ͠ SmalltalkͷσόοΨʔ։͖ͳ͕Βߏங͢Δͷ͸࠷ߴ
  56. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. Πϯϑϥͷ؅ཧπʔϧͱͯ͠ͷಓ

    • SmalltalkͰԾ૝αʔόʔΛίϯτϩʔϧͨ͠ΓɼinspecterͰૉૣ͘ ঢ়ଶ֬ೝ͕Ͱ͖ͨΒ͍͍ͷͰ͸ʁ • SmalltalkͳΒEC2ͷૢ࡞΋༰қʹͰ͖Δؾ͕͢Δ • EC2 for Smalltalkݕ౼த • AWS CLI͸ͪΐͬͱෳࡶͳؾ͕͢Δ
  57. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ࠷ॳʹGCPͰରԠ͍ͨ͠αʔϏε

    Google Cloud DataStoreʢNoSQLʣ GCP for Smalltalk࡞੒༧ఆ
  58. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ࣮͸GCP্Ͱ͸Smalltalk͸ಈ͍͍ͯΔ

    ઌ೔๭େֶͷ؆қॻ੶؅ཧγεςϜͰ Smalltalk(Seaside)Λ࢖ͬͨWeb SystemΛ Google Cloud Compute EngineͰಈ͔͍ͯ͠Δ
  59. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ଞͷCloud͸ʁ

    ࢖͏ػձ͕ͳ͍ͷͰ༧ఆͳ͠Ͱ͢ ͝ر๬͕͋Ε͹SDK࡞Γ·͢
  60. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. ײ૝

    • Smalltalk͸Ϋϥ΢υαʔϏεͰ΋࢖͑Δ • Web FrameworkपΓΛॆ࣮͢Ε͹ɺϢʔβʔ޲্΋ૂ ͑Δͱࢥ͏ • ScalaͳͲΛษڧͯ͠Smalltalk΋͏Ұ౓ֶͼ௚͍ͨ͠ • SmalltalkΤόϯδΣϦετ΁ͷಓ͸ԕ͍
  61. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. future

    := [ self company add: Smalltalker ]. future value. 10݄ΑΓ৽ͨͳSmalltalker͕SORABITOʹδϣΠϯτ͠·͢
  62. Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. http://www.sorabito.com

    SmalltalkͰΫϥ΢υαʔόʔΛ࢖ͬͯΈ͍ͨํ͸ SORABITOגࣜձࣾʹ͝૬ஊ͍ͩ͘͞