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
Крипто-анархисты
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
denisx
December 22, 2020
Programming
0
100
Крипто-анархисты
Про то, как разработчики любят греть устройства пользователей.
denisx
December 22, 2020
Tweet
Share
Other Decks in Programming
See All in Programming
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
160
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
200
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
430
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
960
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
230
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
210
AtCoder Conference 2025
shindannin
0
1.1k
Oxlint JS plugins
kazupon
1
920
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
730
AI時代の認知負荷との向き合い方
optfit
0
160
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
130
Featured
See All Featured
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
180
Building AI with AI
inesmontani
PRO
1
690
The untapped power of vector embeddings
frankvandijk
1
1.6k
A Tale of Four Properties
chriscoyier
162
24k
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
So, you think you're a good person
axbom
PRO
2
1.9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
110
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
ラッコキーワード サービス紹介資料
rakko
1
2.3M
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
Exploring anti-patterns in Rails
aemeredith
2
250
Transcript
Крипто-анархисты про то , как разработчики любят греть устройства пользователей
Форматирование не нужно Kb raw gz br \s \t \r
\n 178 26.7 19.6 string 130 25.2 19.1
Объединение файлов name / Kb raw br 1 11,1 1,4
2 13,8 2,7 3 102,3 15,0 sum 127,2 19,1 name / Kb raw br 1 + 2 + 3 127,2 18,3
UUID → Base 64 16 ^ 32 = 3,4 e38
340 миллиардов миллиардов миллиардов миллиардов комбинаций 64 ^ 21 = 8,5 e37 в 4 раза меньше вариантов, “всего” 85 млрд ^ 4 комбинаций UUID 4ef5ecde-b66f-4f46-b0c8-6b32f2b456b4 Base64 s83gdeAd34327Dwq2n3Ci
Компрессия хешей почти не работает name \ Kb словарь длина
строки raw br uuid 16 36 36 18,4 uuid 16 32 32 16,5 b64 64 21 21,5 16,0 id (1-7000) 10 1-4 4,8 1,9 id (16 ^ 4) 16 4 4,9 2,4 id (64 ^ 3) 64 3 3,9 2,5 нужно уменьшать сам хеш 1000 id
Geo .14 → .5 Координаты: 55.69450663197533, 37.66262491249896 точность 1,5 метра:
55.69450, 37.66262 (вход в здание) точность 15 метров: 55.6945, 37.6626 (само здание) 500 geo-points length raw br .14 18,7 7,1 .5 9,2 2,5
Получайте только нужные поля name, Kb raw br orig 235
34 short 89 19
Хеши необходимый длины name, Kb raw br orig 89 19
short 74 10
Алиасинг ключей name, Kb raw br orig 50,9 9,3 short
36,5 9,0
Уменьшение словаря name, Kb raw br orig 36,5 9,0 short
35,9 8,9
Изменение формата {"fiasId":"4ef5","ajsonId":1028,"cityNameRus ":"Шушары","path":"shushary","regionId":47} {"a":"4ef5","b":1028,"c":" Шушары","d":"shushary","e":47} ["4ef5",1028,"Шушары","shushary",47] 4ef5 1028 Шушары
shushary 47 name, Kb raw br orig 45,0 8,3 short key 32,6 8,0 array 20,0 7,5 csv (tsv) 16,8 7,3
Сжатие на лету !== сжатию для билда br level Kb
0 29,0 5 19,6 9 18,4 11 15,4 Raw 141 Kb Сжатие на лету обычно на 20-30% хуже
Спасибо, пока! Статья про стратегию уменьшения размера css- имён dev.to/denisx/reduce-bundle-size-via-one-letter-css-classname-hash-strategy-10g6
t.me/denisx | twitter.com/denisx