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

大企業の最前線でコードを書き続けるためにやってきたこと

 大企業の最前線でコードを書き続けるためにやってきたこと

kazuhiro4949

July 04, 2020
Tweet

More Decks by kazuhiro4949

Other Decks in Technology

Transcript

  1. ྛ࿨߂ !LB[VIJSP

    ιϑτ΢ΣΞ։ൃऀɾJ04ΞϓϦࠇଳ
    :BIPP+"1"/
    େاۀͷ࠷લઢͰίʔυΛॻ͖ଓ
    ͚ΔͨΊʹ΍͖ͬͯͨ͜ͱ
    ٕҭࡇ

    View Slide

  2. ࣗݾ঺հ
    w ྛ࿨߂
    w IUUQTUXJUUFSDPNLB[VIJSP
    w IUUQTHJUIVCDPNLB[VIJSP
    w IUUQTRJJUBDPNLB[VIJSP
    w IUUQTTQFBLFSEFDLDPNLB[VIJSP

    View Slide

  3. ͣͬͱ8FCۀքͰίʔυΛॻ͍͍ͯ·͢
    8FCΞϓϦશ੝ظ
    όοΫΤϯυ΍
    8FCϑϩϯτ
    ωΠςΟϒΞϓϦϒʔϜ
    ৽نࣄۀ։ൃ
    ΞϓϦ։ൃ
    Ϡϑʔೖࣾޙ
    "QQMF1'ͷ
    ΞϓϦ։ൃઐ೚

    View Slide

  4. ϠϑʔͰͷ࢓ࣄ
    w J04ΞϓϦͷ։ൃ
    w ࠇଳ
    https://apps.apple.com/jp/developer/yahoo-japan-corp/id288091005
    https://about.yahoo.co.jp/hr/article/550625/

    View Slide

  5. ϠϑʔͰͷ࢓ࣄ
    ࠇଳ׆ಈ
    w ࣾ಺Ͱͷٕज़తͳϊ΢ϋ΢Λ
    044Խ
    w ษڧձͷओ࠵ɾొஃ
    https://github.com/kazuhiro4949

    View Slide

  6. ϠϑʔͰͷ࢓ࣄ
    ࠇଳ׆ಈ
    w ࣾ಺Ͱͷٕज़తͳϊ΢ϋ΢Λ
    044Խ
    w ษڧձͷओ࠵ɾొஃ
    https://yj-meetup.connpass.com/event/86651/
    https://nagoya-ios-meetup.connpass.com
    https://yj-meetup.connpass.com/event/86651/

    View Slide

  7. ϠϑʔͰͷ࢓ࣄ
    ࠇଳ׆ಈ
    w ࣾ಺Ͱͷٕज़తͳϊ΢ϋ΢Λ
    044Խ
    w ษڧձͷओ࠵ɾొஃ
    https://speakerdeck.com/kazuhiro4949

    View Slide

  8. ࢓ࣄ෩ܠ
    ࠓ͸׬શʹࡏ୐ۈ຿Ͱ͕͢ɺগ͠લͷ෩ܠ
    w ཱͬͯίʔυॻ͍ͨΓ
    w ࠲ͬͯίʔυॻ͍ͨΓ
    w ͨ·ʹ୎ٿͨ͠Γ
    https://about.yahoo.co.jp/hr/workplace/office/

    View Slide

  9. ͋Δिͷεέδϡʔϧ

    View Slide

  10. ੈͷதʹͨ͘͞Μ͍Δ
    ͘͝ී௨ͷձࣾһͰ͢

    View Slide

  11. ͦΜͳී௨ͷձࣾһ͕ɺ
    ιϑτ΢ΣΞ։ൃऀͱͯ͠
    ίʔυΛ௨ͯ͡ࣄۀ΁Ձ஋Λఏڙ͢Δ
    ͨΊʹ΍͖ͬͯͨ͜ͱΛ࿩͠·͢

    View Slide

  12. τϐοΫ
    ίʔυΛ௨ͯ͡ࣄۀ΁Ձ஋Λఏڙ͢ΔͨΊʹ΍͖ͬͯͨ͜ͱ
    ٕज़ྗͷ෇͚ํ
    ٕज़ྗΛ࢖ͬͨ࢓ࣄͷਐΊํ

    View Slide

  13. τϐοΫ
    ίʔυΛ௨ͯ͡ࣄۀ΁Ձ஋Λఏڙ͢ΔͨΊʹ΍͖ͬͯͨ͜ͱ
    ٕज़ྗͷ෇͚ํ
    ٕज़ྗΛ࢖ͬͨ࢓ࣄͷਐΊํ

    View Slide

  14. ٕज़ྗͷ෇͚ํ
    ϙΠϯτ͸̎ͭ
    w ԿΛֶͿ͔
    w ͲͷΑ͏ʹֶͿ͔

    View Slide

  15. ٕज़ྗͷ෇͚ํ
    8FCۀք͸มԽ͕ܹ͍͠ͱΑ͘ݴΘΕΔ
    https://trends.google.co.jp/trends/explore?date=2007-11-01%202020-03-31&geo=JP&q=Python,Ruby,PHP,Perl

    View Slide

  16. ٕज़ྗͷ෇͚ํ
    8FCۀք͸มԽ͕ܹ͍͠ͱΑ͘ݴΘΕΔ
    w ϑϩϯτΤϯυർΕ
    w αʔόʔαΠυͷԾ૝Խ
    w ػցֶशϒʔϜ

    View Slide

  17. ٕज़ྗͷ෇͚ํ
    ϑϩϯτΤϯυർΕͰ͍͑͹
    w 8FCϑϩϯτͰ ޿ٛͷ
    Ϗϧυ
    ϔϧύʔͱͯ͠(SVOU HVMQͳͲ
    ྲྀߦ͖͕ͬͯͨࠓ͸8FCQBDLͷ
    ྲྀΕʹ
    https://gulpjs.com
    https://gruntjs.com
    https://webpack.js.org

    View Slide

  18. ٕज़ྗͷ෇͚ํ
    ϑϩϯτΤϯυർΕͰ͍͑͹
    w J04ΞϓϦ։ൃͰ͸3FBDU/BUJWF
    ΍'MVUUFSͳͲ७ਖ਼J044%,Ҏ֎
    ͷϑϨʔϜϫʔΫ͕ຄڵ
    https://reactnative.dev
    https://flutter.dev
    https://developer.apple.com

    View Slide

  19. ٕज़ྗͷ෇͚ํ
    ͜͏͍ͬͨٞ࿦ͰΑ͋͘Γ͕ͪͳ͜ͱ
    w ৽͍ٕ͠ज़Λ࢖͏͜ͱ͕໨తʹͳ͍ͬͯΔ
    w ࢖͍ͬͯΔٕज़ͷ৽͠͞ɺ͍͔ʹͨ͘͞Μ૊Έ߹Θ͔ͤͨʹ͍ͭͯ࿩͍ͯ͠Δ

    View Slide

  20. ٕज़ྗͷ෇͚ํ
    ॏཁͳ͜ͱ
    w ද໘తͳ࢖͍ํҎ্ʹͦͷٕज़
    ͷຊ࣭ΛֶͿ
    w ͦΕ͸௿ϨΠϠʔ΍ந৅౓ͷߴ
    ͍֓೦Λॻ੶ͰֶͿͱ͍͏͜ͱ
    Ͱ͸ͳ͍
    https://www.ohmsha.co.jp/book/9784274224478/
    https://www.saiensu.co.jp/search/?isbn=978-4-7819-1229-5&
    https://www.sbcr.jp/product/4797311126/

    View Slide

  21. ٕज़ྗͷ෇͚ํ
    ৽͍ٕ͠ज़ʹ৮ΕΔͱ͖ʹ཈͑Δ΂͖ϙΠϯτ
    w ੜ·Εͨഎܠ
    w ͦͷٕज़ͷద༻ൣғ

    View Slide

  22. ٕज़ྗͷ෇͚ํ
    എܠɾద༻ൣғͱ͸
    w ͲΜͳٕज़ʹ΋ඞͣղܾ͍ͨ͠՝୊ͱͦͷͨΊʹ΍͖ͬͯͨࢼߦࡨޡͷաఔ
    ͕͋Δ
    w ಉ͡՝୊Λ࣋ͨͳ͍ͱ͜Ζʹͦͷ׬੒඼Λͬͦ͝Γ͖࣋ͬͯͯ΋ΑΓෳࡶͳ
    ϓϩμΫτʹͳͬͯ͠·͏͚ͩ

    View Slide

  23. ٕज़ྗͷ෇͚ํ
    ࣄྫ঺հJ04ΞϓϦʹ͓͚ΔΫϥεઃܭͷٞ࿦
    w J04ΞϓϦʹ͓͚ΔΫϥεઃܭ
    w .PEFM7JFX$POUSPMMFS
    w .PEFM7JFX7JFX.PEFM
    w $MFBO"SDIJUFDUVSF
    w FUD

    View Slide

  24. ٕज़ྗͷ෇͚ํ
    ࣄྫ঺հJ04ΞϓϦʹ͓͚ΔΫϥεઃܭͷٞ࿦
    w ଞͷ෼໺͔Βෳࡶͳߏ੒Λ࣋ͬ
    ͖ͯͯٞ࿦͢Δ
    w ϨΠϠʔυΞʔΩςΫνϟ͕ྲྀ
    ߦΔ
    w ϛεϚον͕ى͖Δ
    w ຊ౰ʹಋೖ͕ඞཁͩͬͨʁ
    https://blog.tai2.net/the_clean_architecture.html

    View Slide

  25. ٕज़ྗͷ෇͚ํ
    എܠͷ՝୊ͱͲ͏ղܾ͔ͨ͠Λ஌Δ
    w υΩϡϝϯτͷ݁࿦ʹॻ͍ͯ͋
    Δ
    w ςετ͕͔͚ΔΑ͏ʹͳΔ
    w γεςϜΛஔ͖׵͑ΒΕΔ
    https://blog.tai2.net/the_clean_architecture.html

    View Slide

  26. ٕज़ྗͷ෇͚ํ
    എܠͷ՝୊ͱͲ͏ղܾ͔ͨ͠Λ஌Δ
    w υΩϡϝϯτͷ݁࿦ʹॻ͍ͯ͋
    Δ
    w ςετ͕͔͚ΔΑ͏ʹͳΔ
    w γεςϜΛஔ͖׵͑ΒΕΔ
    https://blog.tai2.net/the_clean_architecture.html

    View Slide

  27. ٕज़ྗͷ෇͚ํ
    ͔ͦ͜Βٕज़తͳҙࢥܾఆ͕Ͱ͖ΔΑ͏ʹͳΔ
    ن໛ͷେ͖ͳγεςϜΛ࡞ΔͷͰɺΫϦʔϯΞʔ
    ΩςΫνϟʔΛಋೖ͠Α͏ɻ
    ͨͩ͠υϝΠϯతʹෆཁͳϨΠϠ͸֎ͯ͠΋໰୊ͳ
    ͍ͷͰ૚Λബ͘͠Α͏

    6*ͷίʔυ͕ຆͲͰɺϢχοτςετΛॻ͍ͯͳ͍ͷͩ
    ͔ΒෆཁͩΖ͏ɻෳࡶ͕͞૿͢ͷͰɺ·ͣςετΛॻ͚
    ΔΑ͏ʹγϯϓϧͳ%*Λಋೖ͔ͯ͠Β࣍ͷஈ֊Ͱݕ౼͠
    Α͏ɻ

    View Slide

  28. ٕज़ྗͷ෇͚ํ
    ΋ͪΖΜಓ۩ͦͷ΋ͷΛ࢖͑Δ͜ͱ΋େࣄ
    w ٕज़Λ࢖͍͜ͳ͢͜ͱ͕ɺ࠷΋೉͕͔͔࣌ؒ͘͠Δ
    w ίʔυΛॻ͍ͯ࢖͍͜ͳ͞ͳ͚Ε͹ɺຊ࣭΋ཧղͰ͖ͳ͍
    w ͪΌΜͱಈ͔ͯ͠ମͰ֮͑Δ

    View Slide

  29. ٕज़ྗͷ෇͚ํ
    ͨͩ͠ʜ
    w ྑ͍ٕज़ͱ͸ےͷྑ͍࢖͍ํ͕͞Ε͍ͯΔ΋ͷΛࢦ͍ͯͯ͠ɺྑ͍ٕज़ࣗମ͕
    ଘࡏ͍ͯ͠ΔΘ͚Ͱ͸ͳ͍
    w ๻Β։ൃऀ͸ٕज़ʹࣥண͗ͯ͢͠͠·͏ͷͰɺͦ͜ΛݟࣦΘͳ͍Α͏ؾΛ෇
    ͚Δ
    w Ұ൪ৄ͍͠ਓ͸໨ࢦ͞ͳ͍͍ͯ͘

    View Slide

  30. τϐοΫ
    ٕज़ྗͷ෇͚ํ
    ٕज़ྗΛ࢖ͬͨ࢓ࣄͷਐΊํ

    View Slide

  31. ٕज़ྗΛ࢖ͬͨ࢓ࣄͷਐΊํ
    ٕज़ऀͱͯ͠੒௕͢ΔͨΊͷϙΠϯτ͸ͭ
    w ࡞ۀऀʹͳΒͳ͍
    w ٕ͋͑ͯज़త՝୊ͷଟ͍ͱ͜Ζʹ͍Δ

    View Slide

  32. ٕज़ྗΛ࢖ͬͨ࢓ࣄͷਐΊํ
    ࡞ۀऀʹͳΔͱ͸ʢ࣮຿Ͱ஍ຯʹ͜Ε͔Β਺ଟ͘ૺ۰͢ΔͰ͋Ζ͏ύλʔϯʣ
    ɹڍಈ͕͓͔͍͠ͱ͍͏໰͍߹Θ͕ͤ͋Γ·͢

    ɹ࢓༷Ͳ͓Γʹ࡞͍ͬͯ·͢

    View Slide

  33. ٕज़ྗΛ࢖ͬͨ࢓ࣄͷਐΊํ
    ࡞ۀऀʹͳΔͱ͸ʢർΕ͍ͯΔͱ΍ͬͪΌ͏ύλʔϯʣ
    ɹػೳཁ݅Λຬ͍ͨͯ͠ΔͷͰϦϦʔε͠·͠ΐ͏
    ࢖͍ʹ͍͚͘Ͳόάͱ͸͍͑ͳ͍ͷͰ͍͍͔ʜ

    View Slide

  34. ٕज़ྗΛ࢖ͬͨ࢓ࣄͷਐΊํ
    ࡞ۀऀʹͳΒͳ͍ͨΊʹ
    w ٕज़తͳҙࢥܾఆΛ͢Δ
    w ҙࢥܾఆ͕ೖΔͱͦͷਓ͕ݴ͍ͩͨ͠ͱ͍͏੹೚͕ੜ͡Δ
    w ҰํͰࣗ෼͕ٕज़తબ୒ͷओಋݖΛѲΕΔ

    View Slide

  35. ٕज़ྗΛ࢖ͬͨ࢓ࣄͷਐΊํ
    ͡Ό͓͋લ͸ԿΛ͖ͯͨ͠ͱݴΘΕΔͱ
    w Ұ෦Ͱ͕͢ɺΞ΢τϓοτΛఆظత
    ʹ5FDI#MPHʹॻ͍͍ͯΔͷͰੋඇ
    ಡΜͰ͍ͩ͘͞
    w ʮ:BIPP+"1"/5FDI#MPHྛʯ
    Ͱݕࡧ͢Ε͹৭ʑग़͖ͯ·͢ʂ
    https://techblog.yahoo.co.jp/entry/20200225814995/
    https://techblog.yahoo.co.jp/ios/swift-from-objc/

    View Slide

  36. ٕज़ྗΛ࢖ͬͨ࢓ࣄͷਐΊํ
    ٕ͋͑ͯज़త՝୊ͷଟ͍ͱ͜Ζʹ͍Δ
    w ˞͜Ε͸ॾઆ͋Γ·͢
    w ৭ʑ༻ҙ͞ΕͨΠέͯΔ؀ڥʹ͍ͯ΋ɺͦΕΛલఏͰ͔͠ίʔυ͕ॻ͚ͳ͘
    ͳΔ
    w ࣗ෼͕ϑϨʔϜϫʔΫΛ࡞͍ͬͯ͘ɾಋೖ͍ͯ͘͠Μͩͱ͍͏ؾ࣋ͪͰΠέͯ
    ͳ͍؀ڥʹඈͼࠐΉ
    w ͲΜͳϞμϯͳ؀ڥͰ΋͸͡Ί͔Βͦ͜ʹ͋ΔΘ͚Ͱ͸ͳ͘ɺ୭͔͕ͦͷਓ
    ͷҙࢤͰ࡞͔ͬͨΒଘࡏ͍ͯ͠Δ

    View Slide

  37. ٕज़ྗΛ࢖ͬͨ࢓ࣄͷਐΊํ
    ͦΕΒͭΛ࣮ݱ͢ΔͨΊͷ͓͢͢ΊϓϥΫςΟε
    w σϞۦಈاը
    w 044ۦಈ։ൃ

    View Slide

  38. ٕज़ྗΛ࢖ͬͨ࢓ࣄͷਐΊํ
    σϞۦಈاը
    w ձࣾͰಇ͘ιϑτ΢ΣΞ։ൃऀʹ͓͢͢Ίͷҙࢥܾఆํ๏
    w ࣾ಺Ͱखͷಧ͘ͱ͜Ζ͔Β࢝ΊΒΕ·͢
    w ͜ΕͰࣗ෼͔Β࢓ࣄΛ࡞͍ͬͯ͘ײ৮Λগֶͣͭ͠΅͏

    View Slide

  39. ٕज़ྗΛ࢖ͬͨ࢓ࣄͷਐΊํ
    σϞۦಈاը
    ಈ͘΋ͷΛ࡞Δ
    σϞͰࣄۀɾαʔϏεͷҙࢥܾఆऀ
    Λ௚઀આಘ͢Δ
    ઐ೚ʹͳͬͯاը΍σβΠφΛר͖
    ࠐΈҰؾʹ։ൃ͢Δ
    ͓΋ͪΌϑΣʔζ
    σϞϑΣʔζ
    ։ൃϑΣʔζ

    View Slide

  40. ٕज़ྗΛ࢖ͬͨ࢓ࣄͷਐΊํ
    σϞۦಈاը
    wपΓʹ໘ന͍ͱࢥͬͯ΋Β͑Δ࠷খ
    ݶͷ࣮૷Λ͢Δ
    wۃྗ࣌ؒΛ͔͚ͳ͍
    ͓΋ͪΌϑΣʔζ
    σϞϑΣʔζ
    ։ൃϑΣʔζ

    View Slide

  41. ٕज़ྗΛ࢖ͬͨ࢓ࣄͷਐΊํ
    σϞۦಈاը
    wࣄۀɾαʔϏεͷҙࢥܾఆऀʹݟͤ
    Δ
    wҙࢥܾఆऀ୳͠͸ਖ਼֬ʹ
    w΋ͷͮ͘ΓͷձࣾจԽ͕͋Ε͹ઈର
    ൓Ԡ͸͘ΕΔͷͰ᪳᪯͠ͳ͍
    ͓΋ͪΌϑΣʔζ
    ։ൃϑΣʔζ
    σϞϑΣʔζ

    View Slide

  42. ٕज़ྗΛ࢖ͬͨ࢓ࣄͷਐΊํ
    σϞۦಈاը
    wεςʔΫϗϧμʔͱͷௐ੔
    w࡞Γࠐ·ΕͨσβΠϯ
    w࡞Γࠐ·Εͨίʔυ
    w͔ͬ͠Γͱͨ͠ςετ
    ͓΋ͪΌϑΣʔζ
    σϞϑΣʔζ
    ։ൃϑΣʔζ

    View Slide

  43. ٕज़ྗΛ࢖ͬͨ࢓ࣄͷਐΊํ
    σϞۦಈاը
    wͦΕͰ͓લ͸ԿΛΞ΢τϓοτͯ͠
    ͖ͨΜͩͱݴΘΕΔͱʜ
    w͜ͷล΋·ͨ5FDI#MPHΛݟ͍ͯͨ
    ͚ͩΕ͹ͱࢥ͍·͢
    https://techblog.yahoo.co.jp/entry/20200225814995/
    https://techblog.yahoo.co.jp/ios/swift-from-objc/

    View Slide

  44. ٕज़ྗΛ࢖ͬͨ࢓ࣄͷਐΊํ
    044ۦಈ։ൃ
    ձࣾͷίʔυͰੈͷ՝୊Λղܾ͢Δ΋ͷ͸044ͱͯ͠ग़͢
    ࢓ࣄͰ՝୊Λൃݟ͠ɺ͔ͦ͜Βݸਓతʹ044Λ࡞ͬͯ࢓ࣄ΁ϑΟʔυόοΫ
    ͢Δ

    View Slide

  45. ٕज़ྗΛ࢖ͬͨ࢓ࣄͷਐΊํ
    044ۦಈ։ൃ
    w ձࣾͷίʔυͰੈͷ՝୊Λղܾ
    ͢Δ΋ͷ͸044ͱͯ͠ग़͢
    ίʔυΛ੾Γग़͢
    https://github.com/yahoojapan
    https://apps.apple.com/jp/developer/yahoo-japan-corp/id288091005

    View Slide

  46. ٕज़ྗΛ࢖ͬͨ࢓ࣄͷਐΊํ
    044ۦಈ։ൃ
    w ࢓ࣄͰ՝୊Λൃݟ͠ɺ͔ͦ͜Β
    ݸਓతʹ044Λ࡞ͬͯ࢓ࣄ΁ϑ
    ΟʔυόοΫ͢Δ
    ݸਓ044Λಋೖ
    https://github.com/kazuhiro4949
    https://apps.apple.com/jp/developer/yahoo-japan-corp/id288091005

    View Slide

  47. ٕज़ྗΛ࢖ͬͨ࢓ࣄͷਐΊํ
    044ۦಈ։ൃ
    w͡Ό͓͋લ͸ͲΜͳ044Λ࡞ͬͯ
    ͖ͨΜͩͱ͍͏ͱʜ
    w͜Ε΋·ͨ5FDI#MPHʹͦͷ΋ͷ
    ζόϦͷ࿩Λ͍ͯ͠ΔͷͰݟ͍ͯ
    ͚ͨͩΕ͹ͱࢥ͍·͢
    https://techblog.yahoo.co.jp/advent-calendar-2017/swift_oss/

    View Slide

  48. ࿩ͱͯ͠͸Ҏ্ʹͳΓ·͢

    View Slide

  49. ·ͱΊ
    ͜Ε͔Βձࣾһٕज़ऀʹͳΔํʑʹࠓ೔ͷτϐοΫΛ௨ͯ͡఻͔͑ͨͬͨ͜ͱ
    w ٕज़ʹͩ͜ΘΓ্͖ͬͨͰͨͩͷखஈͱͯ͠࢖͍͜ͳͦ͏
    w ࣗ෼Ͱ՝୊ͷൃݟɾ։ൃ͕Ͱ͖Δ৔ॴΛબ΅͏
    w ձࣾͷٕज़՝୊ͱࣗ෼ͷٕज़తؔ৺ͷํ޲ੑΛ߹ΘͤΑ͏
    w ձࣾʹॴଐ͍ͯͯ͠΋ࣾձʹରͯ͠௚઀ٕज़ͰؔΘΖ͏

    View Slide

  50. ͝ࢹௌ͋Γ͕ͱ͏͍͟͝·͢

    View Slide