Важные материалы второй половины июля: опыт Uber, Twitter, Slack, Microsoft, auto.ru и Яндекса; профилирование webpack-сборки; алгебраические эффекты; проблемы комбинаторов промисов; нюансы CSS-маржинов → https://forwebdev.ru/digest/2019-08-01
Опыт перевода большого проекта с Flow на TypeScript: инженеры DIRECTUM о причинах, процессе, проблемах и выводах → https://habr.com/p/462055/
Learn regex the easy way, краткое руководство по регулярным выражениям, переведённое на русский и другие языки → https://github.com/ziishaned/learn-regex
Проектирование и разработка PWA на чистом JS без фреймворков, серия статей Бена Фрейна:
1. Введение
2. Технические решения и разработка основы
3. Превращение в PWA и подготовка к продакшену
1. Введение
2. Технические решения и разработка основы
3. Превращение в PWA и подготовка к продакшену
Как ускоряли веб-версию Instagram, часть первая: предзагрузка ресурсов и механизм подгрузки изображений в ленте → https://instagram-engineering.com/62cc0c327538
Фантастические веб-спецификации и где они обитают: Илья Стрельцын о том, что нужно знать для ориентирования в спецификациях → https://css-live.ru/css/fantasticheskie-veb-specifikacii-i-gde-oni-obitayut.html
Как я не занял первое место в конкурсе для JavaScript-разработчиков от Telegram: Валерий Шибанов об опыте разработки библиотеки для рисования графиков для конкурса Telegram → https://habr.com/p/460625
Time to First Byte: что это за метрика и почему она важна? Гарри Робертс с подробным обзором → https://csswizardry.com/2019/08/time-to-first-byte-what-it-is-and-why-it-matters/
50 мегабайта интернета в день: Крис Эштон поставил себя на место пользователей дорогого интернета и проверил, сколько сайтов можно посетить с таким бюджетом и как сайты бесполезно расходуют трафик → https://www.smashingmagazine.com/2019/07/web-on-50mb-budget/
Введение в Contact Picker, новый экспериментальный API для доступа к контактам пользователя → https://developers.google.com/web/updates/2019/08/contact-picker
Неочевидные советы начинающим программистам: Миша Карпенко делится советами, накопленными более чем за 10 лет работы → https://mkarp.co/non-obvious-tips-for-beginner-software-engineers
Облегчаем старт новых проектов: инженеры Spotify о собственном стартовом шаблоне web-scripts, абстрагирующем общую фронтенд-инфраструктуру вроде сборки и линтинга → https://labs.spotify.com/2019/07/03/web-scripts-creating-npm-libraries-in-a-snap-at-spotify/
Разработка offline-first приложений с помощью event sourcing: интерактивный рассказ Андрея Саломатина об альтернативе парадигме CRUD → https://flpvsk.com/blog/2019-07-20-offline-first-apps-event-sourcing/
Вышла новая редакция современного учебника JavaScript: используется ES2019, убраны устаревшие темы, добавлено множество новых тем, улучшена структура изложения → https://learn.javascript.ru/
Как устроена двухфакторная аутентификация и как реализовать генерацию одноразовых паролей на JS с помощью Web Crypto API? Руководство Александра Хованского → https://habr.com/p/462945/
Применяем Network Information API для определения скорости сети и динамической настройки таймаутов: инженеры Algolia об опыте улучшения UX сервиса на медленных соединениях → https://blog.algolia.com/netinfo-api-algolia-javascript-client/
quicktype, утилита для конвертации произвольных JSON-структур в статически типизированные модели и код для их парсинга на разных языках, в том числе TypeScript → https://github.com/quicktype/quicktype
treat, CSS-in-JS библиотека для написания темизируемых стилей: минимальный рантайм, статическая типизация, извлечение стилей на этапе сборки и поддержка старых браузеров → https://seek-oss.github.io/treat
Как работают JavaScript-движки? Джейсон Вильямс решил разобраться и написал собственный JS-движок на Rust, о чём рассказал на JSConf → https://youtu.be/_uD2pijcSi4
Largest Contentful Paint: Филип Уолтон о новой метрике быстродействия для измерения скорости отрисовки значимого содержимого страницы → https://web.dev/largest-contentful-paint/