$30 off During Our Annual Pro Sale. View Details »

Scala目的で入社した人間が、如何にして「はてなブックマーク」のフロントエンド改善活動を行うようになったのか

lunastera
January 27, 2022

 Scala目的で入社した人間が、如何にして「はてなブックマーク」のフロントエンド改善活動を行うようになったのか

Hatena Engineer Seminar #18
https://hatena.connpass.com/event/235821/

lunastera

January 27, 2022
Tweet

More Decks by lunastera

Other Decks in Programming

Transcript

  1. 2022/01/26

    Hatena Engineer Seminar #18

    View Slide

  2. ࣗݾ঺հ
    id: lunasteraʢ͑Βʣ

    ͸ͯͳϒοΫϚʔΫνʔϜ


    Scala͕޷͖

    View Slide

  3. ԿΛ͍ͯ͠Δͷ
    ϑϩϯτΤϯυɺ΍ͬͯ·͢
    Scala.jsͰ͸ͳ͍Ͱ͢

    View Slide

  4. Scala໨తͰೖࣾͨ͠ਓ͕ؒ

    ೗Կʹͯ͠ʮ͸ͯͳϒοΫϚʔΫʯͷ

    ϑϩϯτΤϯυվળ׆ಈΛߦ͏Α͏ʹͳͬͨͷ͔

    View Slide

  5. ͸ͯͳϒοΫϚʔΫ

    View Slide

  6. QSPYZ
    ΞʔΩςΫνϟ
    $PSF"1*
    #''
    NJDSP
    TFSWJDFT
    ྨٛޠݕࡧ
    ʜ
    ʜ

    View Slide

  7. Πϯλʔϯͷ੒Ռ
    $PSF"1*
    NJDSP
    TFSWJDFT
    ྨٛޠݕࡧ
    ʜ
    ʜ

    View Slide

  8. ೖࣾ·Ͱ
    ࣮͸͜ͷ࣌఺Ͱ͸ϑϩϯτΤϯυʹۤखҙ͕ࣝ͋ͬͨ
    Πϯλʔϯ ΞϧόΠτ ೖࣾ
    ։ൃମݧྑ

    View Slide

  9. ࣗ෼͸Կ͕Ͱ͖Δ͔
    ରԠൣғΛ޿͛Δ׆ಈ
    4DBMBʁ
    ϑϩϯτʁ
    Πϯϑϥʁ
    σʔλج൫ʁ

    View Slide

  10. ϑϩϯτΤϯυ΁ͷᬍ᫯
    • ͋·ΓϞμϯͳײ͡Ͱ͸ͳ͍


    • όοΫΤϯυ͕ڧ͍ਓ͕ଟ͍
    όοΫΤϯυ ϑϩϯτΤϯυ
    ࣗ෼Ͱ΋ʜʁ

    View Slide

  11. ࣗൃతͳվળ׆ಈ
    • ௐࠪ / ݕূ -> վળҊ


    • Scrapboxʹվળ఺Λྻڍ


    • ؒҧ͍ͬͯΔ͔΋ͱ͍͏ෆ҆


    • ৽ଔͱ͍͏६Λར༻ͯ͠ͱΓ͋͑ͣ௅ઓ

    View Slide

  12. վળఏҊྫ
    • tscon
    fi
    g ͷ target / module Λద੾ͳ஋ʹ


    • ෆཁʹͳͬͨpoly
    fi
    llΛফ͢


    • ඇਪ঑ύοέʔδͷҠߦ


    • lodash୤ग़


    • ୤ग़ͷͨΊͷରԠදͳͲ࡞੒


    • Ϗϧυ࣌ؒ / όϯυϧαΠζվળ


    • Ͳͷఔ౓ͷޮՌ͕ظ଴Ͱ͖Δͷ͔

    View Slide

  13. WebΤϯδχΞձ
    • WebΤϯδχΞ͕ٞ୊Λ࣋ͪدͬͯٞ࿦


    • ϑϩϯτΤϯυվળҊΛ͍࣋ͬͯͬͨ
    ໾ʹཱͯͨʂ

    View Slide

  14. վળҊͷ࣮ߦ
    • ͋͘·ͰεϓϦϯτλεΫ༏ઌ


    • ࡉ͔͍ۭ͖࣌ؒʹগͣͭ͠


    • όϯυϧαΠζ 1/2ɺϏϧυ࣌ؒ 1/3


    • ੩తϑΝΠϧϏϧυ଴ͪͷ͕࣌ؒ࡟ݮʂ

    View Slide

  15. ϑϩϯτΤϯυձ
    • ϑϩϯτΤϯυ৘ใΛڞ༗͢Δձ


    • ׆ಈΛଓ͚ΔϞνϕʔγϣϯʹ
    99νʔϜ ϒΫϚνʔϜ 99νʔϜ

    View Slide

  16. νʔϜͷϑϩϯτΤϯυվળେਉ΁
    • ͜Ε·ͰͷܦݧͰࣗ৴͕͍ͭͨ


    • ੵۃతʹϝϯς͢Δ͜ͱΛܾҙ


    • ੒ޭମݧ͕ϑϩϯτΤϯυ΁ͷۤखҙࣝΛม͑ͨ

    View Slide

  17. ·ͱΊ
    • ௅ઓ͢Δେ੾͞



    ❌ ৽ଔ͔ͩΒ௅ઓ͠ͳ͍



    ⭕ ৽ଔ͔ͩΒͦ͜௅ઓ͢Δ


    • ΍Γ͍ͨ͜ͱΛ໌֬ʹ


    • Կނ΍Γ͍ͨͷ͔ / ԿނͦΕ͕ඞཁͳͷ͔

    View Slide