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

Wantedly の技術とアーキテクチャ / 2023年度 新人研修

Altech
April 20, 2022

Wantedly の技術とアーキテクチャ / 2023年度 新人研修

2023年度 Wantedly 新人研修で使用した資料です。

Altech

April 20, 2022
Tweet

More Decks by Altech

Other Decks in Programming

Transcript

  1. ©2021 Wantedly, Inc.
    8BOUFEMZͷٕज़ͱΞʔΩςΫνϟ
    ೥౓8BOUFEMZ৽ਓݚम஛໺૑ฏ

    View Slide

  2. ©2021 Wantedly, Inc.
    8BOUFEMZ&OHJOFFSJOH)BOECPPL

    View Slide

  3. ©2021 Wantedly, Inc.
    ಥવͰ͕͢໰୊Ͱ͢💡

    View Slide

  4. ©2021 Wantedly, Inc.
    ϖʔδλΠτϧ ϖʔδαϒλΠτϧ
    ग़యɿhttps://muuseo.com/square/articles/28
    ࣭໰ɿ͜Ε͸ԿͰ͠ΐ͏͔ʁ

    View Slide

  5. ©2021 Wantedly, Inc.
    ϖʔδλΠτϧ ϖʔδαϒλΠτϧ
    ग़యɿhttps://muuseo.com/square/articles/28
    ࣭໰ɿ͜Ε͸ԿͰ͠ΐ͏͔ʁ

    View Slide

  6. ©2021 Wantedly, Inc.
    ϖʔδλΠτϧ ϖʔδαϒλΠτϧ
    ग़యɿhttps://muuseo.com/square/articles/28
    ࿹࣌ܭʢϓϩμΫτʣ

    View Slide

  7. ©2021 Wantedly, Inc.
    ϖʔδλΠτϧ ϖʔδαϒλΠτϧ
    ग़యɿhttps://muuseo.com/square/articles/28
    ϓϩμΫτΛߏ੒͢Δίϯϙʔωϯτ܈

    View Slide

  8. ©2021 Wantedly, Inc.
    ϓϩμΫτͱίϯϙʔωϯτͷؒʹ͋ΔΪϟοϓ
    ݸผͷίϯϙʔωϯτ͚ͩΛݟ͍ͯͯ΋ཧղͰ͖Δ͜ͱ͸গͳ͍


    → ίϯϙʔωϯτ͕ϓϩμΫτՁ஋ΛͲ͏ߏ੒͍ͯ͠Δ͔͕େࣄ


    ɾͨͱ͑͹ࣃंͰ͋Ε͹ɺͦΕ͕ԿͱͲ͏טΈ߹͍ͬͯΔͷ͔


    ɾͦΕ͕গ͠େ͖ͳ෦෼ͱͯ͠ͲͷΑ͏ʹʮػೳʯ͍ͯ͠Δͷ͔


    ɾͦΕΒͷػೳ͕શମͱͯ͠ͲͷΑ͏ͳʮՁ஋ʯΛੜΜͰ͍Δͷ͔

    View Slide

  9. ©2021 Wantedly, Inc.

    View Slide

  10. ©2021 Wantedly, Inc.
    ϖʔδλΠτϧ ϖʔδαϒλΠτϧ

    View Slide

  11. ©2021 Wantedly, Inc.
    ຊ୊

    View Slide

  12. ©2021 Wantedly, Inc.
    ͜ͷݚमͷ໨త
    1. ΤϯδχΞͷΦϯϘʔσΟϯά


    2. Wantedly Ͱఆ͍ٛͯ͠ΔΞʔΩςΫνϟͱͦͷؔ࿈ٕज़ͷҐஔ͚ͮΛ஌Δ


    3. ೔ʑͷ࢓ࣄ͕ͲͷΑ͏ʹશମʹͭͳ͕͍ͬͯΔͷ͔Λཧղ͠΍͘͢͢Δ

    View Slide

  13. ©2021 Wantedly, Inc.
    Ϣʔβʔʹఏڙ͍ͯ͠ΔαʔϏε
    αʔϏεͱͯ͠͸େ͖͘ Visit, Engagement, People ͷ3͕ͭଘࡏ


    ΞϓϦϓϥοτϑΥʔϜͱͯ͠͸ Web, iOS, Android ͷ3ͭʹల։


    Engagement ͸ Web ϓϥοτϑΥʔϜͷΈʹల։
    αʔϏεΛ


    ϓϥοτϑΥʔϜʹ


    ల։͢Δ


    ɾɾͱ͍͏ؔ܎ੑ

    View Slide

  14. ©2021 Wantedly, Inc.
    ιϑτ΢ΣΞͱͯ͠Ͳ͏ݟཱͯΔ͔
    جຊతͳߟ͑ํɿ


    ιϑτ΢ΣΞ͸ίϯϙʔωϯτʢ෦඼ʣͷू߹ମͱͯ͠࡞ΒΕΔ


    ͜ΕΒ͸֊૚తʹߏ੒͞ΕΔ


    ্Ґͷ֊૚Λཧղ͢Δ͜ͱͰɺԼҐͷ֊૚Λཧղ͢Δ͜ͱ͸ʢͻͱ·ͣ͸ʣઌૹΓͰ͖Δ


    ࠓ೔ͷয఺ɿ࠷্Ґͷ֊૚ͰͲͷΑ͏ͳߏ଄ʹͳ͍ͬͯΔ͔


    ͦͷߏ଄͸ͲͷΑ͏ʹܾ·͍ͬͯΔ͔


    ٕज़త੍໿ɺ૊৫త੍໿


    αʔϏεՁ஋ͷ࣋ଓతͳఏڙͱ֦େʢ໨తʣ

    View Slide

  15. ©2021 Wantedly, Inc.
    ࠷্Ґͷߏ଄
    👉 AppsɾSystemɾData ͷͦΕͧΕΛݟ͍ͯ͘

    View Slide

  16. ©2021 Wantedly, Inc.
    "QQT
    ·ͣ͸ίί
    "QQMJDBUJPOT

    View Slide

  17. ©2021 Wantedly, Inc.
    جຊతͳಛੑ
    Ϣʔβʔ͕௚઀తʹ৮ΕΔιϑτ΢ΣΞ


    ϢʔβʔͷखݩͷσόΠεʹ࣮ߦίʔυ͕సૹ͞Εͯಈ͘


    ΞϓϦΛಈ͔ͨ͢ΊͷϓϥοτϑΥʔϜ͸͍͔ͭ͋͘Δ


    զʑ͸ Web(ϒϥ΢β)ɺiOSɺAndroid ͷ 3 ͭͷϓϥοτϑΥʔϜͰͦΕͧΕΞϓϦΛఏڙ͍ͯ͠Δ


    ͍͍ͩͨ͜ΕͰ΄΅શͯΧόʔͰ͖ΔͨΊ

    View Slide

  18. ©2021 Wantedly, Inc.
    ͍ͭ͘ͷίϯϙʔωϯτ͕͋Δ͔ʁ
    ·ͣ͸ίʔυϕʔεʢϦϙδτϦʣͰ਺͑ͯΈΑ͏


    Web ΞϓϦ


    wantedly-frontendɿݸਓϢʔβʔ޲͚ɺwww.wantedly.com


    wantedly-admin-frontendɿاۀϢʔβʔ޲͚ɺadmin.wantedly.com


    wantedlyɿWeb ΞϓϦʴόοΫΤϯυγεςϜͷ྆ํΛؚΉ Railsɺwww.wantedly.com


    perkɿैۀһ޲͚ɺWeb ΞϓϦͱόοΫΤϯυγεςϜ͕౷߹͞Εͨ Railsɺperk.wantedly.com


    iOSΞϓϦɺAndroidΞϓϦʢϞόΠϧΞϓϦʣ


    visit-iosɿVisit ΞϓϦͷ iOS ϓϥοτϑΥʔϜ޲͚࣮૷


    app-androidɿVisit ΞϓϦͷ Android ϓϥοτϑΥʔϜ޲͚࣮૷


    yashima-iosɿPeople ΞϓϦͷ iOS ϓϥοτϑΥʔϜ޲͚࣮૷


    yashima-androidɿPeople ΞϓϦͷ Android ϓϥοτϑΥʔϜ޲͚࣮૷
    Web ΞϓϦ͸͜ΕΒʹҠߦ͍ͯ͘͠ํ޲ੑ

    View Slide

  19. ©2021 Wantedly, Inc.
    ϞόΠϧΞϓϦ͸ݸʁݸʁ
    ΞϓϦͷछྨ͸2ݸʢVisit ͱ Peopleʣ


    ҰํͰίϯϙʔωϯτʢίʔυϕʔεʣ͸ iOS ͱ Android ͰผͳͷͰ4ݸ


    ʢͳͥผͳͷ͔ʁʣ

    View Slide

  20. ©2021 Wantedly, Inc.
    ࠷্Ґͷ֊૚ͷίϯϙʔωϯτ
    ೚ҙͷίϯϙʔωϯτͷ಺ɺଞ͔ΒಠཱʹσϓϩΠ͕Մೳͳ΋ͷ


    → ࣮ߦٕज़͸ҟͳΓಘΔɾɾɾJavaScript, Swift, Kotlin, Browser, ...


    → σϓϩΠઓུɾϦϦʔεઓུ͸ҟͳΓಘΔ


    ྫɿiOS ϓϥοτϑΥʔϜͷ Wantedly Visit ΞϓϦ͸ɺApp Store ʹਃ੥Λߦ͍ɺਃ੥͕௨ͬͯϦϦʔε͞Ε
    Δ͜ͱͰϢʔβʔͷ໨ʹݟ͑Δվળɾػೳ௥Ճ͕ߦΘΕΔɻίʔυͷߋ৽͸ஈ֊తʹߦΘΕΔɻ


    ྫɿWeb ϓϥοτϑΥʔϜͷΞϓϦ͸ɺΞΫηεͨ͠ॠؒʹ࠷৽ͷίʔυ͕μ΢ϯϩʔυ͞Ε࣮ͯߦ͞ΕΔɻ


    Q. ͖ͬ͞͸ίʔυϕʔεΛ਺͚͑ͨͲʁ


    զʑ͸ Git ͱ GitHub Λ࢖͍ͬͯΔͷͰɺίϯϙʔωϯτ͝ͱʹϦϙδτϦΛ෼͚ͯ։ൃϑϩʔʹམͱ͍ͯ͠Δ

    View Slide

  21. ©2021 Wantedly, Inc.
    "QQT
    Ҏ্Λ·ͱΊͨ΋ͷ


    Q. ͍ͭ͘ͷίϯϙʔωϯτ͕͋Δ͔ʁ


    A. ਺ݸʢ1ܻΦʔμʔʣ

    View Slide

  22. ©2021 Wantedly, Inc.
    ίϥϜɿΞϓϦɾϓϥοτϑΥʔϜͱٕज़
    ࣮ߦ͢Δج൫͕ҟͳΔͷͰ͋Ε͹ɺ࠷దͳ࡞Γํ΋ҟͳΔ


    → ϓϩάϥϛϯάݴޠ͕ҟͳͬͨΓɺσϓϩΠઓུ͕มΘͬͨΓ͢Δ


    → ίϯϙʔωϯτͱͯ͠΋ผͷ΋ͷͱͯ͠࡞Δ͜ͱʹͳΔ


    ҰํͰɺ͜ΕΛղܾ͢ΔԾ૝Խɾந৅Խͱ͍͏ํ޲ੑ͸ৗʹଘࡏ͢Δ


    ͨͱ͑͹ Flutter ͷΑ͏ͳٕज़Λ࢖͑͹ Apps ͷίϯϙʔωϯτ਺͸ݮΒͤΔ͔΋ʁ


    ࣮ࡍɺWeb ϒϥ΢βͱ͍͏͋Δछͷந৅Խͷٕज़ʹΑͬͯ Mac OS ͱ Windows OS ͰผʑͷΞϓϦΛ࡞Δ
    ඞཁ͕ͳ͘ͳ͍ͬͯΔͷ͕ݱࡏɻ


    ʮ൚༻ܕͷιϦϡʔγϣϯʯͱʮಛԽܕͷιϦϡʔγϣϯʯͷ૬Ⴅ͕ɺͲ
    ͷΑ͏ʹҠΓมΘ͍͔ͬͯ͘͸ٕज़ͷྲྀΕΛཧղ͢ΔҰͭͷ੾ΓޱʹͳΔ

    View Slide

  23. ©2021 Wantedly, Inc.
    Ұྫɿ΢Σϒͷ৔߹
    V8 ͱ Blink ͷΞʔΩςΫνϟ - PPLαϚʔεΫʔϧ2021 - nhiroki

    View Slide

  24. ©2021 Wantedly, Inc.
    ಄ͷମૢɿखݩͷσόΠεͰಈ͘ΞϓϦɺ͸ෆม͔ʁ
    ΞϓϦ͸ඞͣ͠΋ϢʔβʔͷखݩͷσόΠεͰಈ͔ͳͯ͘΋ྑ͍ͷͰ͸ʁ


    ͨͱ͑͹ɺαʔόʔଆͰ UI ͷඳը·Ͱߦ͍ɺΫϥΠΞϯτ͸ͦΕΛө૾ͱ
    ͯ͠ྲྀ͚ͩ͢ɺͱ͍͏ΞʔΩςΫνϟ΋ཧ࿦తʹ͸ߟ͑Δ͜ͱ͸Ͱ͖ͦ͏


    ͔͠͠ɺݱ࣌఺Ͱ͸ɺϢʔβʔͱͷΠϯλϥΫγϣϯΛ൐͏ΞϓϦέʔ
    γϣϯʹ͓͍ͯ͸ը໘ͷඳը΍ϢʔβʔɾΠϯλϥΫγϣϯͷॲཧͱ͍ͬ
    ͨܭࢉ͸ϢʔβʔͷखݩͷσόΠεͰߦ͏ͷ͕ओྲྀͰ͋Δ


    Q. ͜ΕΛ੍໿͍ͯ͠Δٕज़తͳཁҼͱͯ͠Կ͕ߟ͑ΒΕΔͩΖ͏ʁ


    Q. ͦΕ͸ղܾ͢ΔՄೳੑ͕͋ΔͩΖ͏͔ʁ

    View Slide

  25. ©2021 Wantedly, Inc.
    ಄ͷମૢɿ$IBU(15͸(6*Λஔ͖׵͑Δ͔ʁ
    ͜͜·Ͱѻ͖ͬͯͨΞϓϦ͸શͯɺGUI ͱ͍͏ʮࢹ֮ʯΛϕʔεͱͨ͠

    UI ύϥμΠϜ


    ChatGPT ͷΑ͏ͳʮݴޠʯΛϕʔεͱͨ͠ UI ͸ GUI Λஔ͖׵͑ΔͩΖ͏
    ͔ʁ


    ͋Δ͍͸ GUI ͷར఺ͱ͸ԿͩΖ͏͔ʁ
    ʰΦϒδΣΫτࢦ޲ UI σβΠϯ - ࢖͍΍͍͢ιϑτ΢ΣΞͷݪཧʯ- ্໺ֶ

    View Slide

  26. ©2021 Wantedly, Inc.
    4ZTUFN
    Ԟʹ͢͢Ή

    View Slide

  27. ©2021 Wantedly, Inc.
    جຊతͳಛੑ
    Ϣʔβʔ͕௚઀తʹ৮Εͳ͍ιϑτ΢ΣΞ


    զʑ͕Ϋϥ΢υʹ͍࣋ͬͯΔΫϥελʔԽ͞Εͨܭࢉػͷ্Ͱ࣮ߦ͞ΕΔ


    αʔϏεͷ࣮ߦʹඞཁͳத֩తͳσʔλΛ͍࣋ͬͯΔ

    ɾɾɾΞϓϦ͸σʔλΛ͍࣋ͬͯΔ͔ʁ


    σʔλ͸σʔλϕʔε΍ݕࡧΤϯδϯͱ͍ͬͨϛυϧ΢ΣΞʹอଘ͍ͯ͠Δ


    ͔ͦ͜ΒऔΓग़ͨ͠σʔλΛҰ؏ͨ͠υϝΠϯϞσϧͷݩʹॲཧͯ͠ API ͱ
    ͯ͠ఏڙ͢Δ

    View Slide

  28. ©2021 Wantedly, Inc.
    ͍ͭ͘ͷίϯϙʔωϯτ͕͋Δ͔ʁ
    ࠷্Ґͷίϯϙʔωϯτͷఆٛʲ࠶ܝʳ


    ίϯϙʔωϯτͷ͏ͪɺଞ͔ΒಠཱʹσϓϩΠ͕Մೳͳ΋ͷ


    ͦΕͧΕͷ࣮ߦٕज़ʹجͮ͘


    → ͜Ε͕ϚΠΫϩαʔϏεͱݺ͹ΕͨΓ͍ͯ͠Δ


    Q. ͍ͭ͘ͷίϯϙʔωϯτ͕͋Δ͔ʁ


    A. ਺ेݸʢ2ܻΦʔμʔʣ

    View Slide

  29. ©2021 Wantedly, Inc.
    ٕज़
    ࣮ߦج൫ɿKubernetes, Docker, …


    ϓϩάϥϛϯάݴޠɿGo, Ruby, Python, …

    View Slide

  30. ©2021 Wantedly, Inc.
    ϥΠϒϥϦ͸ίϯϙʔωϯτ͔ʁ
    ιϑτ΢ΣΞͷ෦඼Ͱ͋Δͱ͍͏ૉ๿ͳҙຯͰ͸ Yes


    ࠷্Ґͷίϯϙʔωϯτʹ͸ͳΓ͏Δʁ


    ϥΠϒϥϦ͸ͲͷΑ͏ʹϢʔβʔʹಧͩ͘Ζ͏͔ʁ


    ߦͬͨมߋΛίϛοτ͠ɺόʔδϣϯͰλά෇͚͢Δ


    ͦΕΛʮ࢖͍ͬͯΔଆʯͷιϑτ΢ΣΞɾίϯϙʔωϯτ͕औΓࠐΜͰϦϦʔε͢Δ


    ࠷্Ґͷίϯϙʔωϯτͱͯ͠͸ No


    ଞͷίϯϙʔωϯτ͔ΒಠཱʹσϓϩΠ͸Ͱ͖ͳ͍ͨΊ

    View Slide

  31. ©2021 Wantedly, Inc.
    ίϥϜɿϚΠΫϩαʔϏεɾΞʔΩςΫνϟʹ͍ͭͯ
    ࣮ଶͱͯ͠ϝΠϯͷ Rails ͷൺ཰͸݁ߏେ͖͍


    👉 ͦΕࣗମ͸໰୊Ͱ͸ͳ͍


    ϚΠΫϩαʔϏεɾΞʔΩςΫνϟΛ࠾༻͍ͯ͠Δͷ͸ɺʮඞཁͳͱ͖ʹ෼͚ͯ࡞ΕΔΑ͏ʹ͢ΔʯͨΊͰ͋ͬ
    ͯʮ͋Β΋ͷΛ෼͚ͯ࡞ΔʯͨΊͰ͸ͳ͍ͨΊ


    γεςϜͷ෼ׂͷ࢓ํʁ


    υϝΠϯʢҙຯతͳ·ͱ·ΓʣͰ෼ׂ͢Δ


    ݁ߏ೉͘͠ɺϓϩμΫτՁ஋΁ͷಎ࡯ྗ͕ཁٻ͞ΕΔ


    ٕज़తͳಈػͰ෼ׂ͢Δ͜ͱ΋͋Δ͕ɺͦͷ৔߹΋੹຿Λߟ͑ͯԿΒ͔ͷҙຯతͳ·ͱ·ΓΛఆٛ͢Δ

    View Slide

  32. ©2021 Wantedly, Inc.
    ίϯϙʔωϯτಉ࢜ͷ࿈ܞ
    ҟͳΔٕज़Ͱ࣮૷͞ΕͨίϯϙʔωϯτΛڠௐͯ͠ಈ͔ͨ͢Ίʹ͸ API ͕ॏཁ


    ΠϯλʔϑΣΠε͕εΩʔϚͱͯ͠දݱ͞Εͯɺ࣮૷Ͱܕ͕อূ͞ΕΔ͜ͱ


    Protocol BuffersɿεΩʔϚͷهड़ʹ࢖͏


    σʔλΛόΠφϦͰදݱ͢ΔγϦΞϥΠθʔγϣϯɾϑΥʔϚοτͰ΋͋Δ


    ཁ͢ΔʹʮͳʹΛૹΔ͔ʯͷͨΊͷ࢖͏ٕज़


    gRPC, Cloud Pub/Subɿඪ४Ͱ༻ҙ͍ͯ͠Δ௨৴ٕज़


    ཁ͢ΔʹʮͲ͏ૹΔ͔ʯͷͨΊͷ࢖͏ٕज़

    View Slide

  33. ©2021 Wantedly, Inc.
    ΦϯϥΠϯॲཧͱΦϑϥΠϯॲཧ
    γεςϜʹ͓͚ΔॲཧͷओͳτϦΨʔ͸γεςϜ֎෦͔Βͷ API ίʔϧ


    ৭ʑͳઢҾ͖͸Մೳ͕ͩɺΦϯϥΠϯॲཧͱݺ͹ΕΔ͜ͱ͕͋Δ


    ҰํͰɺͦΕҎ֎ͷτϦΨʔʹΑͬͯॲཧ͕࢝·Δ͜ͱ͕͋Δ


    ΦϑϥΠϯॲཧʢόονॲཧʣͱݺ͹ΕΔ


    ΦϯϥΠϯॲཧͱΦϑϥΠϯॲཧͱ͍͏ݴ༿Ͱগ͠ݟ௨͕͠ྑ͘ͳΔ
    Wantedly ʹ͓͚Δόονॲཧ


    Kubernetes ͷ CronJob ػೳͰδϣϒͱͯ͠ఆظ࣮ߦ͕Մೳ


    Argo Workflow Ͱδϣϒಉ࢜ͷ࿈ܞ͕ՄೳʢδϣϒAΛॲཧͨ͠ޙʹδϣϒBΛॲཧ͍ͨ͠ʣ


    ίϯϙʔωϯτʢϚΠΫϩαʔϏεʣΛ·͍ͨͩ࿈ܞ΋Ͱ͖Δ

    View Slide

  34. ©2021 Wantedly, Inc.
    4ZTUFN
    Ҏ্Λ·ͱΊͨ΋ͷ


    γεςϜج൫पΓ͸ผ్ݚम͕͋Γ·͢

    View Slide

  35. ©2021 Wantedly, Inc.
    γεςϜͱΞϓϦͷ࿈ܞ
    ౰વͳ͕ΒɺΞϓϦͱγεςϜ͕࿈ܞ͢Δඞཁ͕͋Δ


    ࠶ܝɿҎԼ͸ΞϓϦͱγεςϜͷؔ܎ʹ΋౰ͯ͸·Δ


    ҟͳΔٕज़Ͱ࣮૷͞ΕͨίϯϙʔωϯτΛ্ख͘ڠௐͯ͠ಈ͔ͨ͢Ίʹ͸ API ͕ॏཁ


    ۩ମతʹ͸ɺAPI ͕εΩʔϚʹΑͬͯදݱ͞Εͯɺ࣮૷ʹΑͬͯͦΕ͕อূ͞ΕΔ͜ͱ͕ॏཁ


    → γεςϜͱΞϓϦͷؒͷ௨৴Ͱ΋εΩʔϚٕज़͕ඞཁ

    View Slide

  36. ©2021 Wantedly, Inc.
    ୯ҰͷγεςϜͱଟ਺ͷΞϓϦ
    Wantedly ͱ͍͏αʔϏεͷγεςϜ͔Β೚ҙͷΞϓϦ͕࡞ΒΕΔ


    ʮγεςϜͷ͜ͷ෦෼͸͜ͷΞϓϦ͔Β͔͠ݺ͹Εͳ͍ʯͱݴͬͨҰൠੑͷ͋Δෆม৚݅͸ͳ͍


    γεςϜ͕ϚΠΫϩαʔϏεʹ෼ׂ͞Ε͍ͯΔ͜ͱ͸ɺ͋͘·ͰγεςϜ಺෦ͷΞδϦςΟͷ޲্͕໨త


    όοΫΤϯυ౎߹ͷ෼ׂʢͲͷΑ͏ͳϚΠΫϩαʔϏε͕ଘࡏ͢Δ͔ʣΛΞϓϦ͕஌Δඞཁ͸ͳ͍


    ͜ͷͨΊɺΞϓϦʹରͯ͠ API Λఏڙ͢Δήʔτ΢ΣΠɾαʔόʔΛஔ͖
    ҰͭͷγεςϜͱͯ͠ݟ͍ͤͯΔ


    ͦ͜Ͱ͸ɺGraphQL Λ࢖͏͜ͱͰ৘ใઃܭʹج͍ͮͯϞσϧԽ͞Εͨ Φ
    ϒδΣΫτΛ API ͰΞϓϦ͕ॊೈʹσʔλΛऔಘͰ͖ΔΑ͏ʹ͍ͯ͠Δ


    Protocol Buffers ͷεΩʔϚ͕͢Ͱʹ͋ΔͷͰɺ͜ͷఆٛΛར༻ͯ͠ GraphQL API Λ൒ࣗಈੜ੒͍ͯ͠Δ


    ʢ͜Ε͸࠷ۙ࢝Ίͨ΋ͷͰɺ࣮ࡍʹ͸·ͩ GraphQL Λ௨͍ͯ͠ͳ͍෦෼΋ଟ͍ʣ

    View Slide

  37. ©2021 Wantedly, Inc.
    ମݧઃܭͰଊ͑ΔγεςϜڥք
    ද૚
    ࠎ֨
    ߏ଄
    ཁ݅
    ઓུ
    Ϣʔβʔମݧઃܭͷ֊૚
    ϏδϡΞϧσβΠϯ
    ϨΠΞ΢τ
    φϏήʔγϣϯσβΠϯ
    ৘ใઃܭ
    ίϯςϯπ
    ػೳ
    ɾ৘ใΛγεςϜ͔ΒҾ͖ग़ͤΔඞཁ
    Ұཡը໘ʹ৘ใ"ͷத਎Λ

    Ͳ͜·Ͱදࣔ͠Α͏ʁ
    εϚϗͷ৔߹͸ݮΒ͢ʁ
    69σβΠϯͷஈ֊Ϟσϧ
    ΞϓϦ૚
    γεςϜ૚
    ΞʔΩςΫνϟͷ֊૚
    ΞʔΩςΫνϟʹద༻

    View Slide

  38. ©2021 Wantedly, Inc.
    "QQ4ZTUFN
    ࣍ͷ෦෼ʹ֘౰
    ͜ͷ͋ͨΓ

    View Slide

  39. ©2021 Wantedly, Inc.
    ίϥϜɿܭࢉ͸Ͳ͜Ͱ࣮ߦ͞ΕΔ͔ʁ
    ΞϓϦɿओʹ UI ͷඳը΍ঢ়ଶͷมߋɺωοτϫʔΫ௨৴ͱ͍ͬͨܭࢉ͕
    ʮݸʑͷϢʔβʔͷσόΠε্ͰʯߦΘΕΔ


    γεςϜɿσʔλΛॴ࣋ͯ͠Ұ؏ͨ͠υϝΠϯϞσϧͷݩʹ

    ʮզʑͷΫϥ΢υɾϚγϯ্Ͱʯॲཧ͢Δ API Λఏڙ͢Δ


    👉 ͭ·ΓΞϓϦͱ͸ରরతʹશϢʔβʔ͕ܭࢉϦιʔεΛڞ༗͍ͯ͠Δ


    ͔͜͜ΒʮେྔͷϦΫΤετΛಉ࣌ʹࡹ͘ʯͳͲͷγεςϜݻ༗ͷ໰୊͕
    ੜ·Ε͍ͯΔʢٯʹεϖοΫ͕ҟͳΔͳͲΞϓϦݻ༗ͷ໰୊΋ੜ·ΕΔʣ


    ந৅తͳ֓೦͚ͩͰͳ͘ܭࢉػʹ΋গ͠໨Λ޲͚Δͱྑ͍

    View Slide

  40. ©2021 Wantedly, Inc.
    %BUB
    ࣮͸·ͩ͋Δ

    View Slide

  41. ©2021 Wantedly, Inc.
    جຊతͳಛੑ
    σʔλ΢ΣΞϋ΢εͱݺ͹ΕΔɺϢʔβʔ͔ΒݟͯγεςϜΑΓ͞ΒʹԞʹ
    ͋Διϑτ΢ΣΞ


    Ϋϥ΢υϓϩύΠμʔͷ͍࣋ͬͯΔσʔληϯλʔ্Ͱܭࢉ͕࣮ߦ͞ΕΔ


    Φʔμʔͱͯ͠΋ɺզʑͷγεςϜͷΫϥελʔͷن໛ΑΓ1ܻʙ2ܻେ͖͍ϚγϯͰ෼ࢄॲཧ͕ߦΘΕΔ


    ٕज़తʹ΋ɺྻࢤ޲σʔλϕʔεͳͲγεςϜͱ͸ҟͳΔ΋ͷ͕༻͍ΒΕ͍ͯΔ


    ΞϓϦ΍γεςϜͳͲɺαʔϏεͷ͋ΒΏΔՕॴͰൃੜͨ࣌͠ܥྻͷσʔλ
    ͕ू໿͞Ε͍ͯΔɾɾɾγεςϜͱͷҧ͍


    ࢀߟɿσʔλ΢ΣΞϋ΢εͷॳظͷఆٛ


    “اۀͷҙࢥܾఆϓϩηεΛࢧ͑ΔɺαϒδΣΫτผʹ౷߹Խ͞Εͨɺ࣌ܥྻͳෆมσʔλͷू߹”ʢInmonʣ

    View Slide

  42. ©2021 Wantedly, Inc.
    8BOUFEMZͷ৔߹
    σʔλ΢ΣΞϋ΢εͱͯ͠ BigQuery Λ࢖͍ͬͯΔ


    ҙࢥܾఆͷͨΊ BigQuery ͱ࿈ܞ͢Δ Looker ͱ͍͏αʔϏεΛ࢖͍ͬͯΔ


    σʔλͷఆٛ΍ϞσϦϯάΛߦ͏ػೳͱϢʔβʔɾΠϯλʔϑΣΠε


    ͨͩ͠ɺσʔλͷར༻ͷ͞Εํ͸ҙࢥܾఆΛߦ͏͚ͩͰͳ͍


    ਪનΞϧΰϦζϜʹσʔλΛ༩͑ΔͳͲͷܗͰɺγεςϜͷৼΔ෣͍ʹ
    ϑΟʔυόοΫ͞ΕΔ
    App/System Data
    ΞϧΰϦζϜ
    ऩू
    ֶश by ܭࢉػ
    App/System Data
    ػೳ։ൃ
    ऩू
    ෼ੳɾҙࢥܾఆ by ਓؒ
    2छྨͷϑΟʔυόοΫɾαΠΫϧ

    View Slide

  43. ©2021 Wantedly, Inc.
    %BUB
    Ҏ্Λ·ͱΊͨ΋ͷ


    σʔλج൫पΓ΋ผ్ݚम͕͋Γ·͢

    View Slide

  44. ©2021 Wantedly, Inc.
    ·ͱΊ

    View Slide

  45. ©2021 Wantedly, Inc.
    ͜͜·Ͱͷ಺༰Λ౿·͑ͯ
    ߏ੒ཁૉͱͦͷؔ܎Λߟ͑ͯΈΔ

    View Slide

  46. ©2021 Wantedly, Inc.
    αʔϏε
    Ϣʔβʔ
    ମݧ͢Δ


    ϒϥϯυͱͯ͠


    ೝ஌͢Δ
    ఏڙ͢΂͖ମݧΛ࡞Δਓ
    αʔϏεϨϕϧ
    αʔϏε։ൃऀ
    ఏڙ͢΂͖ମݧͷఔ౓
    ɹɹγεςϜɹɹ
    ৮Δ


    ϓϩμΫτͱͯ͠


    ೝ஌͢Δ
    WebΞϓϦ
    iOSΞϓϦ
    AndroidΞϓϦ
    ɹΞϓϦ
    ֤ΞϓϦϓϥοτϑΥʔϜ
    ΦʔϓϯϓϥοτϑΥʔϜͳͷͰ


    ΞϓϦͷαʔϒ͸ࣗલ
    = ϓϩμΫτʢϞϊʣΛ௨ͯ͠ಘΒΕΔશମతͳମݧ
    γεςϜΛར༻ͨ͠Ԡ༻ιϑτ΢ΣΞ
    γεςϜɾΞʔΩςΫνϟ
    ϚΠΫϩαʔϏε
    γεςϜΛߏ੒͢Δίϯϙʔωϯτ
    Microservices Architecture
    ʢγεςϜͷʣ


    ΞʔΩςΫνϟɾελΠϧ
    γεςϜج൫ σʔλج൫
    ΞϓϦ͸Ϣʔβʔʹର͢Δ Wantedly ͷ


    γεςϜͷΠϯλʔϑΣΠε (UI) Ͱ͋Δ
    ΞϓϦΛಈ͔ͨ͢Ίͷ Wantedly ͷ


    γεςϜͷΠϯλʔϑΣΠε(API)

    View Slide

  47. ©2021 Wantedly, Inc.
    ·ͱΊ
    ৭ʑ࿩͠·͕ͨ͠ɺݸผͷ಺༰Λ֮͑Α͏ͱ͢Δඞཁ͸ͳ͍Ͱ͢


    ೔ʑͷۀ຿ͷதͰҙຯΛཧղ͢Δख͕͔Γͱͯ͠׆༻͍͖ͯ͠·͠ΐ͏

    View Slide