Свой путь в сфере разработки я начала с языка PHP, но позднее в индустрии программирования акцент сместился в сторону JavaScript. Отчасти причина в том, что фронтенд-составляющая веб-среды так или иначе работает именно на JS. В этой сфере я провела последние десять лет. Недавно мне подвернулась кое-какая работа, связанная с PHP. Поначалу я была удивлена, ведь за этим языком закрепилась дурная слава – преимущественно из-за его ассоциирования с устаревшими проектами WordPress (и всеми вытекающ…
Всем привет!В этой статье я хочу рассказать, как я сделал удобный автодеплой нашего ui-kit на npm с помощью pipeline's gitlab.Что хотелось сделать?Автоматическое обновление версии пакета при пуше изменений.Автоматический деплой новой версии на npm.Автоматическое обновление версии пакета при пуше измененийНачнем с создания файла, который будет обновлять версию нашего пакета. Тут все просто:Возьмем нашу прошлую версию из package.jsonДобавим к ней 1Положим обратноЯ использовал версии до 100 н…
Вам знакомы муки, когда пытаешься добиться чего-то от тормознутого сайта, а он не реагирует на щелки мыши или пробуксовывает при прокрутке? Подобные проблемы с производительностью могут провоцировать:Нервозное перещёлкивание (rage clicking) Повышенный отток пользователей и снижение показателей конверсии Потерю позиций в поисковой выдачеБолее трёх лет мобильная версия Википедии сбоила из-за фрагмента кода на JavaScript, выполнение которого могло занимать более 600 мс при загрузке страницы на ма…
Что будет, если взять известную игру сапëр и изменить игровой процесс на обратный? Получится игра минëр Так выглядит расклад в минëре на новичке. Если задача в сапëре разминировать поле, то задаче в игре минëр наоборот — заминировать. Быстрый старт Цель: расположить на игровом поле заданное количество мин Каждая цифра означает количество мин, которые нужно расположить в квадрате 3х3 с центром в этой клетке ПКМ – поместить мину в клетку ЛКМ …
Это вторая статья из нашей рубрики «Разбор резюме». В первой мы разбирали резюме бэкендера, а здесь нам прислал свое CV фронтендер. Давайте посмотрим и разберем, что в нем можно улучшить: почему это резюме вообще лучше бы превратить в несколько, стоит ли включать в список навыков «опытный пользователь ПК» и как определяется уровень владения той или иной технологией.Резюме достаточно длинное, так что разбирать мы его будем поэтапно.Опыт работыЗдесь сразу стоит сказать, что описания того, чем им…
С чего все началосьТребовалось кешировать используемые в разных проектах NPM пакеты (+ хранить свои) на отдельном сервере. Было решено делать это с помощью репозитария Verdaccio (по нему есть достаточно хорошая офф. дока), крутится это все должно в Docker, а разворачиваться GitLab CI/CD.Т.к. реализация данной схемы заняла у меня некоторое время (Хотелось бы и по меньше), решил написать короткий туториал по этой теме, с описание нюансов, которые для меня казались не очевидными.ЦельБесперебойная…
Кроссбраузерность – одна из важнейших характеристик веб-приложения, подразумевающая его одинаково корректные отображение и функциональность в различных браузерах, а также их версиях. Современное многообразие браузеров определяется в том числе и различиями в механизмах рендеринга содержимого веб-приложения, когда разные движки браузеров (Blink, WebKit, Gecko, EdgeHTML) по-разному воспринимают и обрабатывают html-теги и css-стили, что закономерно влияет на внешний вид и поведение приложения. В с…
Привет, Хаброжители! Книга демонстрирует возможности JavaScript для разработки веб-приложений, сочетая теорию с упражнениями и интересными проектами. Она показывает, как простые методы JavaScript могут применяться для создания веб-приложений, начиная от динамических веб-сайтов и заканчивая простыми браузерными играми. В «JavaScript с нуля до профи» основное внимание уделяется ключевым концепциям программирования и манипуляциям с объектной моделью документа для решения распространенных пробле…
Во многих проектах рано или поздно появляется большая вложенная структура директорий. Это приводит к тому, что пути импорта становятся длиннее и сложнее для понимания. Таким образом, не только ухудшается эстетика кода, но и затрудняется понимание происхождения импортированного кода.Для решения проблемы можно использовать алиасы (path aliases), которые позволяют писать импорты относительно заранее определенных директорий. Такой подход не только решает проблемы с пониманием импортов, но и упроща…