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

esa.ioの育て方

fukayatsu
February 23, 2018

 esa.ioの育て方

Ruby Business Users Conference 2018
2018-02-23 (Fri) 14:00 - 17:00

http://www.ruby.or.jp/rbuc2018/
https://rubyassociation.doorkeeper.jp/events/69247

fukayatsu

February 23, 2018
Tweet

More Decks by fukayatsu

Other Decks in Technology

Transcript

  1. esa.ioͷҭͯํ
    2018/02/23
    esa LLC ਂ୩ಞੜ

    View Slide

  2. 2
    • ߹ಉձࣾ esa
    • ߹ܭ3໊
    • ΤϯδχΞ2໊
    • σβΠφʔ1໊
    • શһ͕ίʔυΛॻ͘
    • શһ͕ձࣾ୅ද
    • ૑ۀ4೥໨

    View Slide

  3. esa LLC͕΍͍ͬͯΔ͜ͱ
    • esa.ioͷ։ൃɾӡӦ (ࠓ೔ͷຊ୊)
    • pplog.netͷ։ൃɾӡӦ
    • ଞͷձࣾͷ։ൃ΍σβΠϯͷ͓ख఻͍
    3

    View Slide

  4. esa LLC͕΍Βͳ͍͜ͱ
    • αʔϏε΍ձࣾͷٸܹͳ੒௕͸໨ࢦ͞ͳ͍
    • ౤ࢿ͸ड͚ͳ͍
    • (ۜߦ౳͔Βগֹͷ༥ࢿ͸ड͚ͨ͜ͱ͕͋Δ)
    • Web ޿ࠂ͸ग़͞ͳ͍
    4

    View Slide

  5. esa.ioͱ͸?
    5

    View Slide

  6. 6

    View Slide

  7. 7
    • ݱࡏɺ໿2,200νʔϜ͕ར༻த
    • ITاۀΛத৺ͱͨ͠ձࣾɾஂମɾݸਓʢن໛: 1ਓʙ300ਓఔ౓ʣ
    • ΤϯδχΞɾσβΠφʔΛத৺ʹɺاըɾӦۀ৬ɾࣄ຿ܥͷํ΋ར༻
    • ݸਓ΍͝Ոఉɺେֶͷݚڀࣨɺझຯͷஂମ΋ଟ਺
    User
    About esa.io
    • MarkdownܗࣜͰॻ͚ΔɺνʔϜͷͨΊͷ৘ใڞ༗πʔϧ
    • ೔ใɾٞࣄ࿥ɾϝϞɾΞΠσΞɾ࢓༷ॻɾاըॻ౳ɺνʔϜͰͷυ
    Ωϡϝϯτڞ༗Ͱར༻

    View Slide

  8. 8
    • ݱࡏɺ2,000νʔϜҎ্͕༗ྉར༻
    • ITاۀΛத৺ͱͨ͠ձࣾɾஂମɾݸਓʢن໛: 1ਓʙ300ਓఔ౓ʣ
    • ΤϯδχΞɾσβΠφʔΛத৺ʹɺاըɾӦۀ৬ɾࣄ຿ܥͷํ΋ར༻
    • ݸਓ΍͝Ոఉɺझຯͷஂମ΋ଟ਺
    User
    Concept: ৘ใΛɺҭ͍ͯͨɻ
    • υΩϡϝϯτ͸࠷ॳ͔Β׬ᘳͰ͸ͳ͘ɺ࣌ؒΛ͔͚ͯΑ͍΋ͷʹҭ͍ͬͯ͘
    • ݸਓ͕ΏΔ͍ΞΠσΞΛग़͠΍͘͢ɺΈΜͳͰܧଓతʹվળ͠΍͍͢࢓૊Έ
    • ্͔Βͷԡ͠෇͚Ͱ͸ͳ͘ϘτϜΞοϓͰࣗൃతʹ৘ใൃ৴͢ΔΑ͏ʹͳΔ
    ͜ͱ͕ɺΑΓ͍͖͍͖ͱͨࣗ͠཯తͳνʔϜͮ͘Γʹͭͳ͕Δ

    View Slide

  9. 2014೥ͷ5݄
    ͋Δ։ൃऀίϛϡχςΟͷ
    झຯ։ൃ߹॓Ͱ஀ੜ
    9

    View Slide

  10. 10
    ↓ਖ਼ࣜެ։
    ↑୯ମͰࠇࣈԽ
    ࠶ࠇࣈԽˣ
    ࣾһ͕1໊૿Ճˣ

    View Slide

  11. ౰ॳͷ໨ඪͰ͋ͬͨ
    ʮesa ͷऩӹ͚ͩͰձࣾΛܦ
    ӦͰ͖ΔʯΛୡ੒
    11

    View Slide

  12. ࠓ೔͓࿩͍ͨ͜͠ͱ
    • esaΛগਓ਺Ͱ։ൃɾӡӦ͍ͯͨ͘͠ΊʹɺͲ
    ͷΑ͏ͳٕज़ɾઓུ΍PaaS/SaaSͷྗΛआΓ
    ͖͔ͯͨΛ࣮ྫΛަ͑ͯ঺հ
    • झຯͰ࡞Γ࢝ΊͨWebαʔϏε͕ͲͷΑ͏ʹ
    ͯ͠Ϗδωεͱͯ͠੒ཱ͢ΔΑ͏ʹͳ͔ͬͨ
    12

    View Slide

  13. ࠓ೔͓࿩͍ͨ͜͠ͱ
    • [x] esaͱesa LLC ʹ͍ͭͯ (5෼)
    • [ ] esaͷγεςϜߏ੒ (10෼)
    • [ ] esaͷػೳ͝ͱͷ࣮૷ํ๏ (15෼)
    • [ ] esaͷϢʔβʔαϙʔτ (5෼)
    • [ ] esaͱϞνϕʔγϣϯ (5෼)
    13

    View Slide

  14. ࣮͸͜ͷൃද͸
    Δͼ·0052߸ (2015-12)
    ͕ϕʔεͰ͢
    14
    magazine.rubyist.net/?0052-esaio

    View Slide

  15. esaͷγεςϜߏ੒
    15

    View Slide

  16. جຊతͳઓུ
    • ࠷৽ͷRuby/RailsΛ࢖͏
    • 2018/02/16࣌఺ͰRuby 2.5.0 / Rails 5.1.5
    • ຖ೔ɺ൒ࣗಈͰBundle Update͢Δ
    • ܧଓతʹ΍ͬͨ΄͏͕݁Ռతʹָ
    • ։ൃͷϦζϜʹ΋ͳΔ
    16

    View Slide

  17. 2014 ~ 2016
    • Heroku (US region)
    • 2X dyno Λ 2~5ݸ
    • ໷ؒ΍ٳ೔ʹdynoΛগͳͯ͘͠અ໿
    • ϦϦʔε͔Β2೥ऑͷؒΠϯϑϥʹ͍ͭͯ೰
    ·͞ΕΔ͜ͱ͕গͳͯ͘ຊ౰ʹॿ͔ͬͨ
    17

    View Slide

  18. 2014 ~ 2016
    • Heroku (US region)
    • ຊ֨తʹར༻͞ΕΔʹͭΕɺϨΠςϯγ͕
    ਏ͘ͳ͖ͬͯͨ
    • Enterpriseܖ໿͢Ε͹Tokyo region΋࢖͑
    ͦ͏͕ͩͬͨɺྉۚతʹஅ೦
    18

    View Slide

  19. ΠϯϑϥେҾͬӽ͠
    19
    docs.esa.io/posts/179

    View Slide

  20. Ҡߦޙͷߏ੒
    20

    View Slide

  21. Ҡߦޙͷߏ੒
    • AWS ECS (Tokyo region)
    • Railsίϯςφ x 4ɺSidekiqίϯςφ x 1
    • db:migrate࣌ʹ͸ຖճ৽نʹίϯςφΛى
    ಈˠഇغ
    21

    View Slide

  22. Ҡߦޙͷߏ੒
    • AWS ECS (Tokyo region)
    • ϖʔδͷදࣔ଎౓͕1/2 ~ 1/3ఔ౓·Ͱվળ
    • Ͱ͖Δ͚ͩHeroku࣌୅ͱಉ͡Α͏ͳ։ൃ͕ଓ͚ΒΕ
    ΔΑ͏ʹ޻෉
    • masterϚʔδͰࣗಈσϓϩΠ
    • ίϯςφͷ਺͕ҰఆʹอͨΕΔ
    22

    View Slide

  23. ֤ίϯςφʹ͍ͭͯ
    • Rails / Sidekiq ίϯςφ (2016/03 ~)
    • PlantUML ίϯςφ (2016/10 ~)
    • ܾࡁܥίϯςφ (2017/02 ~)
    23

    View Slide

  24. Rails / Sidekiq ίϯςφ
    • ී௨ͷRails / Sidekiq app
    • ݩʑHeroku্Ͱಈ͍͍ͯͨesa.ioͷຊମ
    • ಉ͡Docker ImageͰىಈΦϓγϣϯͰweb/
    workerΛ੾Γସ͑
    • ಈ͍͍ͯΔίϯςφ਺͸Rails: 4ɺSidekiq: 1
    24

    View Slide

  25. PlantUML ίϯςφ
    25

    View Slide

  26. PlantUML ίϯςφ
    26
    • PlantUML͸Java੡
    • Javaͷαʔόͷϝϯς͸ͨ͘͠ͳ͍ɻɻɻ
    • JRuby + Sinatra + PumaͰ࣮૷
    • ςΩετΛड͚औͬͯsvgΛฦ͚ͩ͢
    • ։ൃ։͔࢝Β1೔ఔ౓ͰϦϦʔε

    View Slide

  27. ܾࡁܥίϯςφ
    • ܾࡁ୅ߦαʔϏεΛWebPay͔ΒPAY.JPʹ੾Γସ
    ͑ΔλΠϛϯάͰΧʔυొ࿥ը໘ΛผγεςϜʹ
    ੾Γ෼͚
    • ܾࡁ୅ߦαʔϏε͕ఏڙ͢ΔJSϥΠϒϥϦΛ࢖͏
    ͜ͱͰɺݩʑesaͷαʔόʹΧʔυ৘ใ͕౉Βͳ͍
    Α͏ʹͳ͍ͬͯΔ͕ɺผυϝΠϯɾผγεςϜԽ
    ͢Δ͜ͱʹΑͬͯߋʹηΩϡΞʹ͢Δ͜ͱ͕ૂ͍
    27

    View Slide

  28. ܾࡁܥίϯςφ
    • Ruby + Sinatra + PumaͰ࣮૷
    • ͳͥSinatra?
    • DBΞΫηε͕ͳ͍
    • ը໘਺͕গͳ͍
    28

    View Slide

  29. γεςϜߏ੒·ͱΊ
    • ॳखHeroku͸Twelve-Factor Appͷࢥ૝ʹೃછΉ
    ͜ͱ͕ग़དྷͨͱ͍͏఺Ͱ΋ྑ͔ͬͨ
    • ECS౳ίϯςφରԠͷϚωʔδυɾαʔϏεΛ࢖
    ͏͜ͱͰɺHerokuΠϯϑϥ࡞ۀͷखؒΛݮΒ͢
    • ίϯςφԽ͓ͯ͘͜͠ͱͰɺҟͳΔݴޠ΍ϑϨʔ
    ϜϫʔΫͷαϒγεςϜΛ௥Ճ͠΍͍͢
    29

    View Slide

  30. 30
    12factor.net/ja/
    (ࢀߟ) Twelve-Factor App

    View Slide

  31. esaͷػೳ͝ͱͷ࣮૷ํ๏
    31

    View Slide

  32. ΧςΰϦػೳ
    32
    • هࣄλΠτϧΛʮ/ ʯͰ۠੾ΔͱΧςΰϦʹͳ
    Δ
    • ΧςΰϦ͸HOMEը໘ͰυϦϧμ΢ϯͰ͖Δ

    View Slide

  33. ΧςΰϦػೳ
    33

    View Slide

  34. ΧςΰϦػೳ
    • ܦ࿏ྻڍϞσϧͰ࣮૷
    34
    DBUFHPSJFTςʔϒϧ
    JE QBUI
    GPP
    GPPCBS
    UJUMF
    GPPهࣄ
    GPPCBSهࣄ
    GPPCBSهࣄ
    QPTUTςʔϒϧ
    JE OBNF DBUFHPSZ@JE
    هࣄ
    هࣄ
    هࣄ

    View Slide

  35. ΧςΰϦػೳ
    35
    DBUFHPSJFTςʔϒϧ
    JE QBUI
    GPP
    GPPCBS
    QPTUTςʔϒϧ
    JE OBNF DBUFHPSZ@JE
    هࣄ
    هࣄ
    هࣄ
    “foo/bar” ΧςΰϦ಺ͷهࣄݕࡧ:
    select * from posts
    join categories on
    categories.id = posts.category_id
    where
    categories.path like ‘foo/bar/%’

    View Slide

  36. ֎෦ެ։ػೳ
    • ೚ҙͷهࣄ΍εϥΠυΛνʔϜ֎ʹެ։Ͱ͖
    Δػೳ
    • URLΛ஌͍ͬͯΕ͹ϩάΠϯෆཁͰӾཡՄೳ
    • GitHub pagesΛҙࣝͯ͠ɺesa-pages.ioͱ͍
    ͏υϝΠϯ্Ͱڞ༗͞ΕΔ
    36

    View Slide

  37. ֎෦ެ։ػೳ
    37
    esa-pages.io/p/sharing/105/posts/
    46/70c5c045110fa64018dd.html

    View Slide

  38. ֎෦ެ։ػೳ
    • هࣄɾεϥΠυΛHTMLม׵ޙʹS3ʹग़ྗ
    ͠ɺCloudFrontܦ༝Ͱ഑৴
    • େྔͷΞΫηε͕͋ͬͯ΋esaຊମʹෛՙ͕
    ֻ͔Βͳ͍Α͏ʹ
    • ݩهࣄΛߋ৽͢Ε͹S3্ͷهࣄ΋ࣗಈߋ৽
    38

    View Slide

  39. ܾࡁ
    • ݄ॳʹɺલͷ݄ͷར༻ঢ়گʹԠͯ͡ΫϨδοτΧʔ
    υܾࡁ
    • ޙ෷͍ͳͷͰΩϟογϡϑϩʔ͸एׯ٘ਜ਼ʹͳ
    Δ͕ɺ՝ۚλΠϛϯάΛͻͱ݄͋ͨΓ1ճʹͯ͠
    γεςϜͷγϯϓϧ͞ͱ҆຾ΛಘΔ
    • ҎલͷձࣾͰ೔࣍՝ۚόον͕͋ͬͯো֐ͷ
    ࣌ʹప໷ରԠͨ͠ࢥ͍ग़ɻɻɻ
    39

    View Slide

  40. ܾࡁ
    • ࣾ಺ʹෳ਺νʔϜ͕͋Δ৔߹͸ʮܾࡁͷ࿈݁ʯ
    ͕Մೳ
    • νʔϜ಺Ͱॏෳͨ͠Ϣʔβʔʹ͍ͭͯ͸1
    νʔϜ෼ͷྉۚʹͳΔͷͰ͓ಘ
    40
    docs.esa.io/posts/190

    View Slide

  41. ܾࡁ
    41
    • Q.ʮ੥ٻॻ෷͍͸ແ͍ΜͰ͔͢ʁʯ
    • A. ͢Έ·ͤΜɻࠓͷͱ͜Ζແ͍Ͱ͢ɻ

    View Slide

  42. શจݕࡧ
    • ࠷ॳ͸Postgresql + RansackͰແཧ΍Γ࣮૷
    • هࣄ͕૿͑Δʹैͬͯݕࡧਫ਼౓΍଎౓ʹෆຬ
    • ΠϯΫϦϝϯλϧݕࡧ͕͍ͨ͠
    42

    View Slide

  43. શจݕࡧ
    43
    docs.esa.io/posts/198

    View Slide

  44. શจݕࡧ
    • Elasticsearchͷಋೖ
    • ਫ਼౓্͕͕ͬͨ
    • ιʔτΦϓγϣϯ͕૿͑ͨ
    • ଎͘ͳͬͨ
    • ΠϯΫϦϝϯλϧݕࡧ΋Ͱ͖ΔΑ͏ʹ
    44

    View Slide

  45. શจݕࡧ
    • Best matchιʔτ
    • “͍͍ײ͡” ͷॱ൪Ͱݕࡧ݁ՌΛදࣔ
    • Elasticsearchͷfunction_score queryΛ׆

    45

    View Slide

  46. શจݕࡧ
    • “͍͍ײ͡” ͷॱ൪ͱ͸ʁ
    • هࣄλΠτϧ΍ΧςΰϦʹϚονͨ͠΄͏͕ɺهࣄຊจʹϚο
    ν͢ΔΑΓείΞ͕ߴ͍
    • ࠷ۙͷStarɾWatchɾCommentͷ਺͕ଟ͍΄͏͕είΞ͕
    ߴ͍
    • ΞʔΧΠϒ͞ΕͨهࣄͷείΞ͸ͱͯ΋௿͍
    • etc
    46

    View Slide

  47. API
    • 2015/05ࠒ͔Βαϙʔτ
    • Doorkeeper gemΛ࢖࣮ͬͯ૷
    • APIυΩϡϝϯτ: docs.esa.io/posts/102
    • APIΛ࢖ͬͨαʔυύʔςΟπʔϧ΋๛෋
    47

    View Slide

  48. αʔυύʔςΟπʔϧ
    48
    docs.esa.io/posts/158

    View Slide

  49. ϩάΠϯ
    • ݱঢ়Google OAuth͚ͩ
    • ೋஈ֊ೝূͳͲ΋GoogleଆͰ୲อ
    • ϩάΠϯػೳΛͰ͖Δ͚࣮ͩ૷͠ͳ͍͜ͱ
    Ͱ։ൃίετΛԼ͛ͭͭηΩϡΞʹ͢Δૂ
    ͍
    49

    View Slide

  50. ϩάΠϯ
    • ෳ਺ΞΧ΢ϯτಉ࣌ϩάΠϯ΋Մೳ
    50
    docs.esa.io/posts/210

    View Slide

  51. ϩάΠϯ
    • Q. ʮGmailҎ֎ͷϝʔϧΞυϨεͱύεϫʔ
    υͰϩάΠϯͰ͖ΔΑ͏ʹͳΓ·ͤΜ͔ʁʯ
    • A. ͢Έ·ͤΜɻ·ͩͰ͖·ͤΜɻ
    • (কདྷతʹ͸ఏڙ͍ͨ͠)
    51

    View Slide

  52. esaͷϢʔβʔαϙʔτ
    52

    View Slide

  53. جຊతͳߟ͑ํ
    • զʑͱϢʔβʔ͕ڞʹ޾ͤʹͳΔํ๏Λ୳͢
    • 5෼Ͱฦ৴͢Δ
    • (ӳจϝʔϧͷ௚༁Έ͍ͨͳจ໘ʹͳΔ)
    • ࣭໰ʹରͯ͠ɺʮ͸͍/͍͍͑ɻʯΑΓ΋ྑ͍
    ฦࣄ͕͋Δ͸ͣ
    53

    View Slide

  54. ϑΟʔυόοΫϑΥʔϜ
    54

    View Slide

  55. ϑΟʔυόοΫϑΥʔϜ
    55
    Slack, GitHub, Gmailʹ௨஌͕ඈͿ

    View Slide

  56. ϑΟʔυόοΫϑΥʔϜ
    56
    • GmailͰͷ΍ΓͱΓ͸GitHubͷIssueʹࣗಈͰ
    ಉظ͞ΕΔ
    github.com/fukayatsu/feedback-sync

    View Slide

  57. TwitterͰͷϑΟʔυόοΫ
    • esaؔ࿈πΠʔτ΍@esa_io΁ͷreplyͳͲ͕
    SlackʹྲྀΕΔΑ͏ʹͯ͋͠Δ
    • SlackͰEmoji reactionΛ͢Ε͹Twitter্Ͱ͓
    ؾʹೖΓ͕Ͱ͖Δ
    57
    github.com/fukayatsu/esarch

    View Slide

  58. ϑΟʔυόοΫۦಈ։ൃ
    • ʮ͜͜͸͜͏ͩͱخ͍͠ΜͰ͚͢Ͳʯ
    • ʮΑͦ͞͏Ͱ͢Ͷɻ΍ͬͯΈ·͢ʂʯ
    • (30෼ޙ)ʮϦϦʔε͠·ͨ͠ʂʯ
    • ʮΘʔ͍ʂʯ
    • …Έ͍ͨͳͷ͕ཧ૝
    58

    View Slide

  59. ϑΟʔυόοΫۦಈ։ൃ
    • ར఺
    • ΍ΔؾͷॠؒՐྗΛ։ൃʹ׆͔ͤΔ
    • ૣ͚Ε͹ૣ͍΄Ͳɺͼͬ͘Γͨ͠ΓتΜͩ
    Γͯ͠΋Β͑ΔͷͰɺ࣍ͷ։ൃͷϞνϕʔγϣ
    ϯʹͳΔ
    59

    View Slide

  60. esaͱϞνϕʔγϣϯ
    60

    View Slide

  61. Ϟνϕʔγϣϯ
    • Ϟνϕʔγϣϯࣗମ͸੍ޚͰ͖ͳ͍
    • ੍ޚͰ͖ͳ͍΋ͷ͸ٕज़ͰͲ͏ʹ΋ͳΒͳ
    ͍?
    • esaͰ͸։ൃεέδϡʔϧΛ΄ͱΜͲ੾Βͣϊ
    ϧϚ΋ͳ͍ͷͰɺϞνϕʔγϣϯ͕௿Լ͢Δ
    ͱ։ൃ͕଺Δ
    61

    View Slide

  62. Ϟνϕʔγϣϯ
    • ϞνϕʔγϣϯΛੜΈग़͠͏Δ؀ڥ΍Πϕϯ
    τ(ΛੜΈग़͠͏ΔԿ͔…)Λ੍ޚ͢Δ͜ͱͰɺ
    ؒ઀తʹϞνϕʔγϣϯΛߴΊΔ౒ྗΛ͢Δ
    • “΍ΔؾΛग़͢” Ͱ͸ͳ͘ɺ “΍Δؾ͕ग़ͦ͏
    ͳԿ͔” ʹ࠷ળΛਚ͘͢
    62

    View Slide

  63. Ϟνϕʔγϣϯ͕ग़ͦ͏ͳԿ͔
    • Ϣʔβʔ͞Μʹ௚઀Ձ஋Λಧ͚ΒΕ͍ͯΔ
    • Ϣʔβʔ͞Μ͔Β͋Γ͕ͱ͏ͱݴͬͯ΋Β͑
    Δ
    • Ϣʔβʔ͞Μͷձ্͕ࣾख͍͘͘
    • ৭ΜͳਓʹesaάοζΛָ͠ΜͰ΋Β͍͑ͯΔ
    63

    View Slide

  64. Ϟνϕʔγϣϯ͕ग़ͦ͏ͳԿ͔
    • ࣗࣾαʔϏεͷऩӹ͚ͩͰձࣾΛӡӦͰ͖Δ
    • ඞཁे෼ͳڅ༩ΛಘΒΕΔ
    • Α͘৸Δ / ݈߁Ͱ͍Δ
    • ΍Γ͍ͨࣄΛ΍Γ͍ͨ࣌ʹ΍Δ
    64

    View Slide

  65. Α͍॥؀
    1. αʔϏεΛ࡞Δ
    2. Ϣʔβʔ͞Μ͕࢖ͬͯ͘ΕΔ/تΜͰ͘ΕΔ
    3. զʑͷϞνϕʔγϣϯ(ͱച্)্͕͕Δ
    4. ߋʹྑ͍αʔϏεΛ࡞Δ
    65

    View Slide

  66. esaͱϞνϕʔγϣϯ
    • esaͷ։ൃʹͱͬͯϞνϕʔγϣϯ͸ඇৗʹॏ

    • ੍ޚͰ͖Δ෦෼ͱ੍ޚͰ͖ͳ͍෦෼ͱΛݟۃ
    Ίͯɺ੍ޚͰ͖Δ෦෼ʹ஫ྗ͢Δ
    • ྑ͍॥؀Λૉૣ͘ࡉ͔͘ճ͍ͯ͘͜͠ͱΛҙ
    ࣝ͢Δ
    66

    View Slide

  67. ·ͱΊ
    67

    View Slide

  68. ·ͱΊ
    • esaͷγεςϜ΍࣮૷ʹ͍ͭͯ͝঺հ͠·ͨ͠
    • খ͘͞ϦϦʔεͯ͠ɺϢʔβʔ͞Μ͔ΒϑΟʔυόο
    Ϋ΍ϞνϕʔγϣϯΛ໯͍ͳ͕ΒαʔϏε΍ࣗ෼
    ͨͪΛҭ͍ͯͯ͘ͷ͸ͱͯ΋ָ͍͜͠ͱͩͬͨ
    • ͦͷΑ͍॥؀Λճ͢͜ͱΛҙ͍ࣝͯͨ͠Β͍ͭ
    ͷؒʹ͔͜͜·Ͱདྷ͍ͯͨ
    68

    View Slide

  69. ࢀߟ
    69

    View Slide

  70. χʔόʔͷفΓ
    • ʮئΘ͘͹Θͨ͠ʹɺม͑Δ͜ͱͷͰ͖ͳ͍
    ෺ࣄΛड͚ೖΕΔམͪண͖ͱɺม͑Δ͜ͱͷ
    Ͱ͖Δ෺ࣄΛม͑Δ༐ؾͱɺͦͷҧ͍Λৗʹ
    ݟ෼͚Δ஌ܙͱΛ͚ͣͨ͞·͑ʯ
    70
    ja.wikipedia.org/wiki/χʔόʔͷفΓ

    View Slide