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
Build automation statics
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
TriLan
April 09, 2014
Programming
0
1.5k
Build automation statics
TriLan
April 09, 2014
Tweet
Share
More Decks by TriLan
See All by TriLan
TopExpert
webdev2014
0
64
Secret formula management
webdev2014
1
78
Angular JS
webdev2014
0
1.5k
CSS animations and transitions
webdev2014
0
1.4k
Preprocessors CSS
webdev2014
1
1.5k
Mobile apps
webdev2014
0
1.5k
Gathering statistics of the department with the monitor output
webdev2014
0
1.5k
Creating interfaces in resource-limited settings
webdev2014
0
1.4k
Design vs usability
webdev2014
0
1.6k
Other Decks in Programming
See All in Programming
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
370
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
230
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
560
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
160
SourceGeneratorのススメ
htkym
0
190
Fragmented Architectures
denyspoltorak
0
150
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
190
dchart: charts from deck markup
ajstarks
3
990
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
460
Architectural Extensions
denyspoltorak
0
280
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
270
「ブロックテーマでは再現できない」は本当か?
inc2734
0
970
Featured
See All Featured
The Curse of the Amulet
leimatthew05
1
8.4k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
120
Code Reviewing Like a Champion
maltzj
527
40k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
710
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
820
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Between Models and Reality
mayunak
1
190
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Context Engineering - Making Every Token Count
addyosmani
9
650
Accessibility Awareness
sabderemane
0
51
Transcript
Сборка статики
Препроцессоры
Препроцессоры решают одни и создают новые проблемы
Раньше было так — Редактируем код — Запускаем тесты
А стало так — Редактируем код — Компилируем его в
CSS/JS — Запускаем тесты
Варианты — Ручная компиляция — При сохранении файла — При
обновлении страницы
Отладка
Положение ошибки в сообщении косоли браузера не соответствует тому, где
она находится в исходном коде
Source maps (карты кода) позволяют указать соответствия между исходным и
скомпилированным кодом
Объединение файлов
Хочется разбить скрипты приложения на модули
Пример из проекта — CoffeeScript, Handlebars — 80 тысяч строк
кода — 1,3 тысячи файлов
Версионирование
Нет гарантий, что после обновления статики на сервере, она обновится
в браузере клиента
Версия в URL ресурса — http://example.com/static/css/style.css?v=1.1 — http://example.com/static/css/style.a6ebc32.css
Содержимое ресурса, доступного по URL’у, гарантированно не меняется
Кэшируем навсегда location /static/ { expires 1y; add_header Cache-Control public;
add_header ETag ""; alias /var/www/project/static/; }
Минификация и сжатие
Пример из проекта Без минификации и сжатия 4 Мб С
минификацией 2,4 Мб Со сжатием 450 Кб С минификацией и сжатием 330 Кб
Сжимаем заранее location /static/ { gzip_static on; expires 1y; add_header
Cache-Control public; add_header ETag ""; alias /var/www/project/static/; }
Системы сборки статики — Grunt (http://gruntjs.com) — Gulp (http://gulpjs.com) —
Sprockets (https://github.com/.../sprockets) — Gears (https://github.com/gears) (На самом деле их много)
Вопросы? —
[email protected]
— http://github.com/yumike — http://twitter.com/yumatov