Дайджест закладок №7
Aug 26, 2017 · 5 min read

На этот раз ссылок сорок две. Доступность, PWA, производительность и масштабирование, Ruby, Rails, React, ES6, UI/UX, Computer Science.
Что это за дайджест? Изначально я (Виталий Емельянцев) выложил в открытый доступ 500 моих браузерных закладок. Но каждую неделю у меня появляется по 10–30 новых, и выкладывать их публично оказалось проще через дайджесты.
Доступность (a11y)
- Как сделать сайты доступнее для пользователей с нарушениями зрения
Хабр вещает. Продолжение первой статьи. - 10 guidelines to improve your web accessibility
Чеклист из 10 задач по доступности. По каждой — примерное время внедрения. Удобно. Есть в переводе на русский.

- Removing that ugly :focus ring (and keeping it too)
Статья о том, как аккуратно избавиться от focus-обводки веб-элементов, не потеряв в доступности. Я использую third-party решение (what-input), рекомендую его, а по статье можно понять сам принцип. - The A11Y Project
Большой сборник советов и рекомендаций по доступности. - Toggle Buttons
Лучший по мнению автора способ создания доступных кнопок-переключателей. - Switches with Custom Properties
Еще одни переключатели, но на кастомных CSS свойствах.

- Web fonts: when you need them, when you don’t
Когда и как стоит использовать веб-шрифты. Я гружу их через FontFaceObserver (гайд на русском), но можно сделать лучше.
Progressive Web Apps
- Low Hanging PWA Fruit: Manifest Files and Service Worker Precache
Сделать PWA из своего сайта можно двумя простыми действиями — добавив манифест и простейший сервис воркер. В статье описано, как. А в рельсах я использую гем serviceworker-rails. - Offline-Friendly Forms
Легкий способ помочь веб-формам не терять данные при потере соединения. Хорошо для PWA.

Ruby / Rails / Backend
- GemCheck: Writing Better Ruby Gems
Чеклист от Злых Марсиан по написанию гемов. - Durable websockets
И от них же — гайд по вебсоветам. - DIY DI in Ruby
Никита Шильников вещает, как реализовать Dependency Injection в руби без сторонних решений. Клево. Только вот SlideShare заблокирована на территории РФ 😅 - Factories or fixtures? Give me both!
Люблю и использую фикстуры для данных в рельсах. А марсиане взяли и заюзали и то и другое. Попробую внедрить. - Introduction to Concurrency Models with Ruby. Part I
Устройство конкурентной модели в руби. Процессы, потоки, GIL, EventMachine и прочее. Пока только первая часть. Жду весь цикл. - Five Ruby Methods You Should Be Using
Странная подборка. Engine Yard прошлись по существующим статьям вида «N Ruby Methods» взяли оттуда пять случайных приемов и опубликовали у себя в блоге. Впрочем, блог почитаю, по Kubernetes есть статьи, например.
- fnando/i18n-js
Гем для использования рельсовых i18n локализаций в js. - Rails 5 — ActiveRecord Suppress — a step too far?
Гайд по методу suppress в рельсовом AR. Ребята из Basecamp продолжают городить костыли поверх костылей, чтобы избежать ада с колбеками. А решение на самом деле простое — отказаться от колбеков в пользу явных интеракторов/транзакций. Об этом, кстати, отлично пишет Антон Давыдов, рекомендую. - The Power of Arel
Гайд по AREL — низкоуровневой ORM, на основе которой функционирует ActiveRecord в рельсах. В работе с ней не сталкивался, работать с ней не тянет, но если придется — полезно будет изучить возможности.
Производительность и масштабирование
- schneems/derailed_benchmarks
Статический и динамический бенчмаркер для рельсовых проектов. Сходу не запустился (конфликт с thor 0.20.0), проверю позже. - GitHub Goes All in on Kubernetes
Гитхаб переходит на Kubernetes. Я далек от темы докера, виртуализации и деплоя проектов в этом стеке, но, видимо, присмотреться стоит. - Scale Summit: Microservices and Scale
Как масштабировать проекты с микросервисами. Еще одна тема, в которой я ни бум-бум, но мимо которой проходить не следует. - donnemartin/system-design-primer
Большой (нет, не так — БОЛЬШОЙ) гайд по организации масштабируемых и highload-ориентированных веб-проектов. Есть версия на русском.

ES6 / React
- tc39/proposals
Таблица фич, внедряемых в JS (ECMAScript). Удобно следить за прогрессом и подхватывать полифилы и плагины для бабеля, чтобы использовать фичи уже сейчас. - Rethinking drag and drop
Прекрасное drag’n’drop решение для Реакта. Еще не пробовал, но в проекты точно внедрю. (для нереакта рекомендую Sortable).

- Introducing downshift 🏎️ for React ⚛️
И еще одно замечательное решение для реакта, на этот раз для автодополнения. Тоже попробую.
UI / Дизайн / Верстка
- Оптическое выравнивание и пользовательские интерфейсы
Почему в дизайне не следует выравнивать элементы по центру автоматически, и что такое визуальный центр масс. - Atlassian Design
Ребята обновили дизайн во всей линейке своих сервисов и выложили стайлгайд в открытый доступ. - Connect: behind the front-end experience
Разработчики Stripe делятся секретами создания своих веб-страниц.

- UpLabs
Аналог дрибббла для UI дизайнеров. Я обычно ищу вдохновение на behance (мои коллекции), но на UpLabs тоже клевые работы.
Computer Science / Информатика
- Подборка визуализаций по алгоритмам поиска
Годно. Помню как в 2007 пытался внедрить в свои видеоигры алгоритм Дейкстры. Без интернета. По единственной статье в журнале. Было непросто 😃

- 10 Tips for Writing Better Code
10 общих советов по написанию сильного кода. Годно. - CSS Hex Colors Demystified
Почему hex-цвета именно такие? Для тех, у кого не было курса информатики в школе/вузе — полезно. - Seeing Theory
Визуализация понятий из статистики, теории множеств, комбинаторики, теории вероятностей, и прочего. Наглядно.

SEO / SMO
- Официальный блог для веб-мастеров (от Google)
Интересно, о чем будут писать. Послежу. Пишут в том числе и на русском.
Следите за анонсами будущих дайджестов в телеграм канале Gambala.live, и вступайте в чат Школа Веб 2.0.
