For Web — фронтенд, дизайн, программирование
13K subscribers
5.47K photos
7 videos
5 files
1.74K links
Новости и полезности для фронтендеров
Download Telegram
Конфигурация 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 и эмодзи: Мэтью Рейфилд со скринкастом и статьей о реализации безумной идеи → http://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/
🎧
Свежие подкасты

«Девшахта» №67, в гостях  Вадим Горбачев: вопросы безопасности → https://medium.com/p/e36b81ef816d

«Веб-стандарты» №158, в гостях Роберт Харитонов и Денис Радин: сайт «Веб-стандартов», события и сообщества, новинки Safari TP, свежие статьи, снипеты и редакторы кода, кому нужен VR, фонд GitNation → https://medium.com/p/eac76300bd8f

«Фронтенд-юность» №81, в гостях Павел Черторогов и Алексей Золотых: всё, что вы хотели знать о GraphQL, Казахстан, jQuery, React и Ruby, Flow vs TypeScript → https://soundcloud.com/frontend_u/e81

«Новости 512» от CSSSR №35: обзор новостей и интересных публикаций → https://soundcloud.com/csssr/novosti-512-vypusk-35-2101-2701
Как работать с денежными значениями в JavaScript: Сара Даян о распространённых ошибках и способах их избежать в переводе Игоря Камышева → https://medium.com/p/bb0706840f0e
Как и почему инженеры PayPal перешли с Flow на TypeScript во всех новых проектах → https://medium.com/p/9d1acc07c839
Анализ уязвимостей процесса аутентификации: Вадим Горбачёв рассказывает о распространённых проблемах веб-безопасности, иллюстрируя их удивительными историями о реальных взломах → https://medium.com/p/475b749fbb9f
Какой бандлер выбрать: Webpack, Parcel или Rollup? Сравнение скорости, размера итогового бандла и простоты использования → https://github.com/tehcookies/bundlers-comparison
Electronegativity, инструмент для поиска антипаттернов безопасности и конфигурации в приложениях на Electron → https://github.com/doyensec/electronegativity
Почему разработчики Flow игнорировали опенсорс-сообщество и чем они занимались весь прошлый год: официальное объяснение и позиция касательно перехода части проектов Facebook на TypeScript → https://medium.com/p/54239c62004f
Зачем нужны переменные окружения в Node.js и как их использовать с удобством → https://medium.com/p/2da8cdf6e786
Иллюстрированное руководство по Web Authentication, новому стандарту для аутентификации без паролей на основе криптографии с открытым ключом → https://webauthn.guide/
Записи докладов с первого митапа Piter GraphQL: GraphQL и архитектура веб-приложений, GraphQL — новый Redux, паттерны проектирования GraphQL-схем → https://habr.com/p/438124
Программная генерация SVG-иллюстраций с помощью Processing: введение и практические примеры → https://bjango.com/articles/processingsvg/
D3wasm, порт Doom 3 для браузеров на основе WebAssembly: демо и детали реализации → http://www.continuation-labs.com/projects/d3wasm
[Вакансия, офис, Санкт-Петербург]
Фронтенд-разработчик в дизайн-бюро «Зебра»

Мы делаем корпоративные сайты для крупных российских и зарубежных компаний. В связи с увеличением количества проектов ищем фронтенд-разработчика уровня не ниже middle. Тебе предстоит разрабатывать интерфейсы, оптимизировать и рефакторить код, внедрять новые технологии, участвовать в проектировании и обсуждении интерфейсов с командой.

Мы предлагаем:
— работу в классной команде с опытными коллегами;
— комфортный офис в районе м. Лесная, Чёрная речка;
— достойную и своевременную оплату труда не реже чем раз в неделю;
— гибкий график;
— посещение конференций за счёт компании;
— доступ к обучающим сервисам (HTML Academy, Hexlet, CodeSchool, Coursera).

Что мы ждём от тебя:
— уверенные навыки кроссбраузерной адаптивной вёрстки, понимание методологии БЭМ;
— уверенные знания JavaScript (ES5+);
— опыт работы с одним или несколькими популярными JS-фреймворками и библиотеками (Vue, React, Angular, D3);
— опыт работы с SVG, достаточный для программирования анимаций;
— опыт работы с Git, CSS-препроцессорами, инструментами автоматизации и сборки (Gulp/Webpack);
— опыт вёрстки под интеграцию в CMS (любую), понимание принципов шаблонизации.

Если заинтересовался, высылай резюме на e.tkachenko@zebra-group.ru.