Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Scala目的で入社した人間が、如何にして「はてなブックマーク」のフロントエンド改善活動を行うようになったのか
Search
lunastera
January 27, 2022
Programming
0
1.4k
Scala目的で入社した人間が、如何にして「はてなブックマーク」のフロントエンド改善活動を行うようになったのか
Hatena Engineer Seminar #18
https://hatena.connpass.com/event/235821/
lunastera
January 27, 2022
Tweet
Share
More Decks by lunastera
See All by lunastera
ブックマークチームでアクセシビリティを広める際に直面した問題と、如何にして立て直していったか
lunastera
0
710
Other Decks in Programming
See All in Programming
なぜ宣言的 UI は壊れにくいのか / Why declarative UI is less fragile
uenitty
29
13k
英語
s_shimotori
1
220
OpenAI/Gemini APIを使って EPUBを翻訳するCLIツールをつくってみた
tomiyan
0
790
しくじり先生 Image Matching Challenge 2024 編
goosehaaan
0
810
SDCon2024: Enabling DevOps and Team Topologies thru architecture: architecting for fast flow
cer
PRO
0
780
Architectures with Lightweight Stores: New Rules and Options
manfredsteyer
PRO
0
100
Rustのweb開発を助ける 便利なツール紹介
yuki0418
1
190
DMMプラットフォームにおけるTiDBの導入から運用まで
pospome
7
3k
日付と正規化
megmogmog1965
0
140
Android開発者のための Kotlin Multiplatform入門
ntaro
0
190
Terraformテスト入門
msato
0
520
TiDB Serverless ~理想のServerless DBを考える~
soso_15315
1
160
Featured
See All Featured
Leading Effective Engineering Teams 2024
addyosmani
3
300
Building Applications with DynamoDB
mza
89
5.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
277
13k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
It's Worth the Effort
3n
181
27k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
16
1.6k
How STYLIGHT went responsive
nonsquared
93
5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
Fontdeck: Realign not Redesign
paulrobertlloyd
79
5.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
13
430
For a Future-Friendly Web
brad_frost
173
9.2k
Thoughts on Productivity
jonyablonski
64
4.1k
Transcript
2022/01/26 Hatena Engineer Seminar #18
ࣗݾհ id: lunasteraʢ͑Βʣ ͯͳϒοΫϚʔΫνʔϜ Scala͕͖
ԿΛ͍ͯ͠Δͷ ϑϩϯτΤϯυɺͬͯ·͢ Scala.jsͰͳ͍Ͱ͢
ScalaతͰೖࣾͨ͠ਓ͕ؒ Կʹͯ͠ʮͯͳϒοΫϚʔΫʯͷ ϑϩϯτΤϯυվળ׆ಈΛߦ͏Α͏ʹͳͬͨͷ͔
ͯͳϒοΫϚʔΫ
QSPYZ ΞʔΩςΫνϟ $PSF"1* #'' NJDSP TFSWJDFT ྨٛޠݕࡧ ʜ ʜ
ΠϯλʔϯͷՌ $PSF"1* NJDSP TFSWJDFT ྨٛޠݕࡧ ʜ ʜ
ೖࣾ·Ͱ ࣮͜ͷ࣌ͰϑϩϯτΤϯυʹۤखҙ͕ࣝ͋ͬͨ Πϯλʔϯ ΞϧόΠτ ೖࣾ ։ൃମݧྑ
ࣗԿ͕Ͱ͖Δ͔ ରԠൣғΛ͛Δ׆ಈ 4DBMBʁ ϑϩϯτʁ Πϯϑϥʁ σʔλج൫ʁ
ϑϩϯτΤϯυͷᬍ • ͋·ΓϞμϯͳײ͡Ͱͳ͍ • όοΫΤϯυ͕ڧ͍ਓ͕ଟ͍ όοΫΤϯυ ϑϩϯτΤϯυ ࣗͰʜʁ
ࣗൃతͳվળ׆ಈ • ௐࠪ / ݕূ -> վળҊ • ScrapboxʹվળΛྻڍ •
ؒҧ͍ͬͯΔ͔ͱ͍͏ෆ҆ • ৽ଔͱ͍͏६Λར༻ͯ͠ͱΓ͋͑ͣઓ
վળఏҊྫ • tscon fi g ͷ target / module Λదͳʹ
• ෆཁʹͳͬͨpoly fi llΛফ͢ • ඇਪύοέʔδͷҠߦ • lodashग़ • ग़ͷͨΊͷରԠදͳͲ࡞ • Ϗϧυ࣌ؒ / όϯυϧαΠζվળ • ͲͷఔͷޮՌ͕ظͰ͖Δͷ͔
WebΤϯδχΞձ • WebΤϯδχΞ͕ٞΛ࣋ͪدͬͯٞ • ϑϩϯτΤϯυվળҊΛ͍࣋ͬͯͬͨ ʹཱͯͨʂ
վળҊͷ࣮ߦ • ͋͘·ͰεϓϦϯτλεΫ༏ઌ • ࡉ͔͍ۭ͖࣌ؒʹগͣͭ͠ • όϯυϧαΠζ 1/2ɺϏϧυ࣌ؒ 1/3 •
੩తϑΝΠϧϏϧυͪͷ͕࣌ؒݮʂ
ϑϩϯτΤϯυձ • ϑϩϯτΤϯυใΛڞ༗͢Δձ • ׆ಈΛଓ͚ΔϞνϕʔγϣϯʹ 99νʔϜ ϒΫϚνʔϜ 99νʔϜ
νʔϜͷϑϩϯτΤϯυվળେਉ • ͜Ε·ͰͷܦݧͰࣗ৴͕͍ͭͨ • ੵۃతʹϝϯς͢Δ͜ͱΛܾҙ • ޭମݧ͕ϑϩϯτΤϯυͷۤखҙࣝΛม͑ͨ
·ͱΊ • ઓ͢Δେ͞ • ❌ ৽ଔ͔ͩΒઓ͠ͳ͍ • ⭕ ৽ଔ͔ͩΒͦ͜ઓ͢Δ •
Γ͍ͨ͜ͱΛ໌֬ʹ • ԿނΓ͍ͨͷ͔ / ԿނͦΕ͕ඞཁͳͷ͔