For Web — фронтенд, дизайн, программирование
14.7K subscribers
5.47K photos
7 videos
5 files
1.74K links
Новости и полезности для фронтендеров.
Поддержать, чтобы в канале не было рекламы:
https://patreon.com/forweb
https://boosty.to/forweb
Download Telegram
Дайджест Форвеба №1: важные новости и материалы первой половины января → https://forwebdev.ru/digest/2019-01-15/
Как избежать распространённых ошибок при поиске работы и что делать, если у вас нет релевантного опыта, обзор Глеба Бахмутова с позиции работодателя → https://glebbahmutov.com/blog/dont-help-me-say-no/
Защитный JavaScript: обзор подходов к написанию безопасного кода от Майка Сэмюэла из Google → https://www.javascriptjanuary.com/blog/defensive-javascript
low.js, облегчённый порт Node.js для программирования микроконтроллеров → https://www.lowjs.org/
Обзор лучших практик дизайна кнопки закрытия модального окна: иконка, цвет и расположение → https://medium.com/p/fbc66bdf500a
Решайте конкретные, а не общие проблемы: Никита Прокопов напоминает, что в программировании не стоит решать проблем, с которыми вы ещё не столкнулись → https://tonsky.me/blog/concrete-vs-abstract/
Переносим 30 000 строк кода с Flow на TypeScript: опыт инженеров MemSQL в переводе на Хабре → https://habr.com/ru/post/436554/
Опенсорсная дизайн-система правительства Австралии → https://designsystem.gov.au/
🎧
Свежие подкасты

Frontend Weekend №87, в гостях Михаил Трошев: как эффективно руководить распределённой командой в Яндексе → https://soundcloud.com/frontend-weekend/fw-87

«Девшахта» №66, в гостях  Алексей Чернов: всё о платформенных командах → https://medium.com/p/39d69cc4333d

«Веб-стандарты» №157: JavaScript в вузах, JS десять лет назад, браузеры и текст в VR/AR, HTML-модули в JS → https://medium.com/p/66e3ccde77e3

«Сделайте мне красиво» №3: монорепозитории, моки в тестах и «что проиходит когда...» → https://soundcloud.com/begebot/ep3

«Сделайте мне красиво» №4: тест на знание CSS, ES2018 и сборка мусора → https://soundcloud.com/begebot/ep4

{Minsk} JSON №3: RS School vs Epam, университет никому не нужен, пора научиться пользоваться Facebook, 2 года и ты уже не в тренде → https://soundcloud.com/minsk-json/minsk-json-podcast-3

«Новости 512» от CSSSR №34: обзор новостей и интересных публикаций → https://soundcloud.com/csssr/novosti-512-vypusk-34-1401-2001
Разные бандлы для старых и современных браузеров: как реализовать и стоит ли оно того? Разбирается Джереми Вагнер → https://calendar.perfplanet.com/2018/doing-differential-serving-in-2019/
RunJS, блокнот для быстрой проверки идей на JavaScript с моментальной обратной связью → https://projects.lukehaas.me/runjs/
Learn Vanilla JS, курс по чистому JavaScript с дорожной картой, ссылками на теорию и практическими заданиями → https://learnvanillajs.com/
Сравнение подходов к интернационализации в Angular от Катерины Павленко → https://medium.com/p/bbb67a948434
This media is not supported in your browser
VIEW IN TELEGRAM
shiny, библиотека для добавления реалистичных отражений на устройствах с поддержкой DeviceMotion API → https://github.com/rikschennink/shiny
Почему стоит отказаться от дефолтных экспортов в пользу именованных, мнение создателя ESLint Николаса Закаса → https://humanwhocodes.com/blog/2019/01/stop-using-default-exports-javascript-module/
Конфигурация CI как код

Для непрерывной интеграции (Continuous Integration) обычно используют инструменты вроде Jenkins, TeamCity, Travis или CircleCI. Эти инструменты предоставляют собственный интерфейс для конфигурирования CI, в котором процесс обычно описывается шагами: настройка окружения, запуск тестов, сборка, деплой и так далее.

Настройка CI через интерфейс используемого инструмента непрозрачна и неудобна:

— изменения не версионируются;
— для внесения изменений каждый раз нужно открывать сам инструмент, который может быть недоступен (например, из-за выключенного корпоративного VPN);
— для изменения процесса в рамках конкретной задачи придётся плясать с бубном и разделять в инструменте общий билд и билд этой задачи.

Решение этих проблем — описание процесса в виде кода (например, в виде sh-скрипта или Makefile) и хранение этого кода непосредственно в репозитории проекта. В используемом вами инструменте остаётся только указать команду запуска этого кода.

Если описать основные шаги процесса в виде отдельных скриптов, их также можно будет использовать локально: например, запустить настройку окружения при старте работы с проектом или прогонять тесты перед каждым коммитом.

Больше советов → https://github.com/forwebdev/ui-developer-tips
В чём я не шарю в 2018: Дэн Абрамов напоминает, что пробелы в знаниях не обесценивают приобретённый с годами опыт → https://overreacted.io/ru/things-i-dont-know-as-of-2018/
GraphQL спустя два года: инженеры Verve о предпосылках перехода на GraphQL, опыте использования и совершённых ошибках → https://verve.co/engineering/graphql-a-retrospective/
This media is not supported in your browser
VIEW IN TELEGRAM
Анимируем URL с помощью JavaScript и эмодзи: Мэтью Рейфилд со скринкастом и статьей о реализации безумной идеи → https://matthewrayfield.com/articles/animating-urls-with-javascript-and-emojis/
Паттерны дизайна таблиц в вебе: от адаптивности до пагинации, сортировки и поиска. Обзор Хуэй Дзинь Чэнь → https://www.smashingmagazine.com/2019/01/table-design-patterns-web/
Два фронтендера сидят в баре. Им не о чем поговорить.

Мнение Криса Койера и многих других разработчиков о расколе нашей профессии и проблемах, которые он несёт для всех → https://css-tricks.com/the-great-divide/