Search
Write a publication
Pull to refresh
13
0

Frontend (JS, Vue)

Send message

Изучаем Parcel — альтернативу Webpack для небольших проектов

Reading time8 min
Views19K


Доброго времени суток, друзья!

Основное назначение сборщиков модулей или бандлеров, таких как Webpack или Parcel, состоит в том, чтобы обеспечить включение всех модулей, необходимых для работы приложения, в правильном порядке в один минифицированный (если речь идет о сборке для продакшна) скрипт, который подключается в index.html.

На самом деле сборщики, как правило, умеют оптимизировать не только JS, но и HTML, CSS-файлы, могут преобразовывать Less, Sass в CSS, TypeScript, React и Vue (JSX) в JavaScript, работать с изображениями, аудио, видео и другими форматами данных, а также предоставляют дополнительные возможности, такие как: создание карты (используемых) ресурсов или источников (source map), визуальное представление размера всего бандла и его отдельных частей (модулей, библиотек), разделение кода на части (chunks), в том числе, в целях переиспользования (например, библиотеки, которые используются в нескольких модулях, выносятся в отдельный файл и загружаются лишь раз), умная загрузка пакетов из npm (например, загрузка только русской локализации из moment.js), всевозможные плагины для решения специфичных задач и т.п.

В этом отношении лидерство, безусловно, принадлежит Вебпаку. Однако, что если мы разрабатываем проект, в котором большая часть функционала, предоставляемого этим замечательным инструментом, не нужна? Существуют ли альтернативы данной технологии, более простые в освоении и использовании? Для меня ответом на этот вопрос стал Parcel. К слову, если вы заинтересованы в изучении Вебпака, рекомендую к просмотру это видео. Мой файл с настройками Вебпака по данному туториалу находится здесь.
Читать дальше →

IT-эмиграция с семьей. И особенности поиска работы в маленьком городе Германии, когда ты уже там

Reading time14 min
Views98K

Поехать работать в Австралию или Таиланд, когда тебе 25 и нет семьи, не так и сложно. И таких историй большое количество. А вот переехать, когда тебе под 40, жена и трое детей (8 лет, 5 лет и 2 года) — задача другого уровня сложности. Поэтому хочу поделиться своим опытом переезда в Германию.



Про то, как искать работу за границей, оформлять документы и переезжать – было много сказано, повторяться не буду.


Итак, 2015 год, мы с семьей живем в Санкт-Петербурге на съемной квартире. Долго думали, как нам переезжать, что делать со школой, местами в садике и съемной квартирой. Нами было принято несколько важных решений:

Читать дальше →

Эффективное тестирование верстки

Reading time15 min
Views29K
Тестировать полезно. Тесты позволяют в автоматическом режиме безопасно рефакторить код и гарантируют его работу. Тесты – это живая документация: если информация в Wiki или в Confluence может устареть, то тесты всегда актуальны. Также многие крутые практики связаны с тестированием. Например, самотестирующийся код или разработка через тестирование (TDD), когда тесты пишутся перед кодом, а некоторые практики DevOps и Extreme Programming применимы только в условиях хорошего покрытия проекта тестами.



Но написать простые тесты, которые будут помогать в написании кода и не срывать дедлайны, задача сложная. Она становится ещё сложнее, если учесть, что нам приходится тестировать вёрстку. Это не два JSON сравнить: здесь не работают простые подходы «вызову функцию, проверю результат» — тестирование UI сложнее. Как эффективно и правильно тестировать верстку и писать для неё тесты, чтобы они были полезны, а дедлайны не горели, расскажет Максим Соснов (crazymax11), ведущий разработчик в СКБ Контур.

Web Push и Vue.js, еще раз о работе с веб-пуш сообщениями на фронтенде

Reading time8 min
Views10K
Проработав в очередном проекте функционал с веб-пуш сообщениями, я обнаружил, что информации для того, чтобы сделать это быстро и без вопросов по-прежнему не хватает. Поэтому, пока все еще не выветрилось из памяти, спешу оформить этот опыт в виде статьи.

Можно найти статьи, датированные 2017...2018 годом, ориентированные на использование сравнительно низкоуровневых средств для отправки и получения веб-пуш сообщений, например, при помощи библиотеки web-push-libs/web-push. Эта библиотека по-прежнему развивается, однако в настоящее время гораздо проще работать с библиотеками от firebase.
Читать дальше →

Чего можно ждать от Vue 3 и как готовиться к его скорому приходу?

Reading time7 min
Views14K
Вокруг грядущего релиза Vue 3 поднято много шума. Это вызвало у меня желание помочь сообществу разработчиков подготовиться к выходу следующей версии данного популярного фреймворка. Надеюсь, мой рассказ поможет вам успешно встретить Vue 3 и ни о чём не беспокоиться.


Читать дальше →

Создание библиотеки из VUE компонента и публикация на NPM

Reading time3 min
Views6.9K
image

Достаточно давно занимаюсь разработкой на Vue.js, но вот упаковывать компоненты для публикации как то не приходилось. Недавно пришла идея интересного компонента, и я решил поделиться им с сообществом. Но дело в том что я не смог найти исчерпывающего руководства на эту тему в рунете. Поэтому, изучив вопрос, решил поделиться своим решением на эту тему.
Читать дальше →

Модернизация старого PHP-приложения

Reading time6 min
Views9.1K

Недавно мне выдалась случайная возможность поработать с несколькими старыми PHP-приложениями. Я заметил несколько распространённых антипаттернов, которые пришлось исправлять. Эта статья не о том, как переписывать старое PHP-приложение на <вставьте сюда название чудесного фреймворка>, а о том, как сделать его более удобным в сопровождении и менее хлопотным в работе.
Читать дальше →

Mind Map в тестировании — или легкий способ тестировать сложные приложения

Reading time4 min
Views79K
Вы тоже задаетесь вопросами:

  1. С чего начать тестирование?
  2. Как ничего не забыть?
  3. Как не запутаться в сложном функционале?

Ответом может стать подход декомпозиции продукта путем составления Mind Map.

Что это?


Mind Map или интеллект карта — это инструмент для визуального отображения информации, который помогает эффективно ее структурировать.

Такая форма изложения информации проще для понимания человеческим мозгом, чем строчный текст, и от того проще для применения в работе.

Преимущества Mind Map


1. Наглядность и визуализация.

Главным достоинством Mind Map для тестировщика является наглядное видение тестируемого продукта, его функций и зависимостей между собой.

2. Отличная альтернатива документации.

Такую карту очень хорошо демонстрировать новым сотрудникам как альтернативу или дополнение к документации.

3. Легко поддерживать.

С выходом новых функций её несложно дополнить и вновь отследить взаимосвязи новых частей приложения, возможно даже обнаружить где продукт можно сделать проще и понятнее пользователю.

Что можно изобразить с помощью Mind Map?


  • функционал приложения на разных уровнях.
  • приоритет функционала.
  • зависимости в приложении.
  • практически что угодно:)
Читать дальше →

Mozilla — прекрасная IT-компания, которую мы теряем

Reading time8 min
Views94K


Когда разнеслась новость о том, что Mozilla начинает волну сокращений – уже вторую за текущий год – реакция последовала незамедлительно. От внимания разработчиков не ускользнуло, что компания уже срезала весь корпоративный жирок и теперь кромсает живые мышцы. Она распустила команду, которая занималась защитой от угроз. Она «сократила издержки» на инструменты для разработчиков – раздел, пользовавшийся большой популярностью. Она урезала команду Servo, которая работала над браузерным движком нового поколения на базе Rust. Она стёрла с лица земли команду MDN. В общем и целом, две волны сокращений суммарно унесли почти треть сотрудников.

Учитывая, что программисты составляют значительную часть весьма скромной пользовательской базы Mozilla, усечение инструментов для разработчиков представляется особенно недальновидным решением, которое разочарует самых преданных пользователей. Однако люди, мало знакомые с историей компании, скорее всего, примут ситуацию за очередной пример того, как игрок не сумел пробиться на конкурентном рынке, делая ставку на нишевые возможности. В конце концов, флагманский продукт компании, браузер Firefox, уже много лет не претендует на лидерство на рынке. Значит, это просто процесс вымирания очередного динозавра, что же ещё?
Читать дальше →

Удалёнка за доллары: а меня возьмут?

Reading time6 min
Views72K

Удалёнка за доллары: а меня возьмут?


Удалёнка в хорошей зарубежной компании — крутая штука. Сидя даже где-то далеко в провинции, можно зарабатывать большие деньги: от $3,000 в месяц на средненькой позиции в неизвестной компании до $186,000 в год на позиции senior programmer в Basecamp.


Работая из дома, вы можете развиваться в международной среде: заводить полезные знакомства и практиковать английский с людьми со всего света. При этом семья и друзья по-прежнему рядом. А если в будущем вы захотите переехать за границу, у вас уже будет релевантный опыт и критически важные навыки коммуникации.


У меня получилось так же: спустя почти два года тимлидерства в американской компании, я уехал в другую страну — но по-прежнему считаю удалёнку «за доллары» очень крутым вариантом занятости, по многим пунктам даже существенно лучше переезда за границу.


С вами Громов, и в первой статье из цикла я помогу вам оценить свои шансы устроиться разработчиком в хорошую компанию, где основной язык — английский.

Читать дальше →

Intersection Observer API: примеры использования

Reading time7 min
Views95K


Доброго времени суток, друзья!

Обзор


Intersection Observer API (IOA) позволяет приложению асинхронно наблюдать за пересечением элемента (target) с его родителем (root) или областью просмотра (viewport). Другими словами, этот API обеспечивает вызов определенной функции каждый раз при пересечении целевого элемента с root или viewport.

Примеры использования:

  • «ленивая» или отложенная загрузка изображений
  • бесконечная прокрутка страницы
  • получение информации о видимости рекламы для целей расчета стоимости показов
  • запуск процесса или анимации, находящихся в поле зрения пользователя

Читать дальше →

Заметки Дата Сайентиста: маленькие утилиты — большая польза

Reading time5 min
Views8.6K

Чаще всего в работе датасаентиста мне приходится перегонять данные из одного представления в другое, агрегировать, приводить к одинаковой гранулярности и чистить данные, загружать, выгружать, анализировать, форматировать и присылать результаты (которые в общем-то тоже данные в каком-то виде). С данными всегда что-то не так и их нужно шустро гонять туда и обратно — больше всего в этом мне помогают классические юниксовые утилиты и небольшие, но гордые тулзы: вот о них-то мы сегодня и поговорим.

И сегодня будет подборка с примерами и ситуациями, в которых мне приходится их использовать. Все описанное здесь и ниже — это настоящий субъективный опыт и конечно же он у всех разный, но возможно кому-то он будет полезен.

Tools — learn the tools — все написанное субъективно и основано исключительно на личном опыте: помогло мне может быть поможет и вам.
Читать дальше →

Влияние service worker'ов на web-приложения

Reading time4 min
Views7.2K

Web-приложения всё больше "затачиваются" под мобильные устройства, а service worker'ы являются фундаментом прогрессивных web-приложений (PWA). При первом ознакомлении с данной технологией может сложиться впечатление, что основной задачей service worker'ов является кэширование контента. И это так. Задача service worker'ов — обеспечение функционирования web-приложения в условиях нестабильного или вообще отсутствующего подключения к Сети, что достигается при помощи кэширования данных.


Под катом пара мыслей о том, к каким последствиям для web-приложений привело появление возможности кэшировать данные посредством service worker'ов.

Читать дальше →

Как не потерять ход времени, работая за компьютером. Приложение по мониторингу работы и ведению статистики

Reading time6 min
Views7.8K


Я работаю педагогом в детском технопарке «Кванториум». В период самоизоляции мы так же, как и все перешли на дистанционное обучение. И в связи с тем, что дети стали еще больше времени проводить за компьютером, администрация решила сократить академический час и делать перерывы между работой — чтобы сохранить зрение. Мы написали приложение, которое подсчитывает время, проведенное за компьютером, ведет статистику в excel — полезно для родителей, и выдает звуковое оповещение о том, что пора сделать перерыв.

Приложение будем полезно тем, кто теряется во времени работая за пк и хочет вогнать себя во временные рамки или следить за тем, какая часть жизни теряется в цифровом пространстве.

Ссылка на репозиторий

Под катом подробный разбор.
Читать дальше →

Неожиданные детали работы Windows Firewall, настроенного по умолчанию. И эксперименты по перенастройке

Reading time8 min
Views51K
Иногда получается, что при выполнении очередного проекта, я случайно открываю какие-то обстоятельства, которые, вроде, никто не скрывает, можно даже найти документацию, поясняющую суть… Но многие, включая меня, находятся в плену заблуждений, поэтому не ищут ту документацию, полагаясь на совершенно неверную картину мира. У меня уже намечается целый цикл из статей, в которых я просто сообщаю, что всё, оказывается, не так, как многие (включая меня) думали. Была у меня статья про DMA, была статья про производительность шины PCI Express. К этому же циклу можно отнести статью про конфигурационные ПЗУ для ПЛИС Altera.

Сегодня мне хотелось бы рассказать пару слов про работу Windows Firewall, или, как его называют в русифицированной ОС – брандмауэра. В целом, это очень хорошая штука, но в частности… Оказывается, по умолчанию он работает в достаточно интересном режиме. Как говорится: «А пацаны и не знают». Итак, начинаем разбираться, что там к чему.


Читать дальше →

Рынок соискателя или работодателя VS возрастная дискриминация

Reading time5 min
Views33K
image


В продолжение моего разбора полётов по рекрутингу и обстановке в последние лет 5, я хочу затронуть две щекотливые темы:

  • чей же рынок нынче, кто правит балом – работодатель или соискатель;
  • пресловутый возрастной ценз 45+, так ли всё плохо и безнадёжно.

Собственно, про эти вещи и пойдёт дальнейший разговор. Устраивайтесь поудобнее, будет много инсайда.

Две вышеуказанных темы очень близки друг другу и постоянно пересекаются в быту. Одно порождает другое.
Читать дальше →

Книга «Эффективный TypeScript: 62 способа улучшить код»

Reading time8 min
Views13K
imageПривет, Хаброжители! Книга Дэна Вандеркама окажется максимально полезена тем, кто уже имеет опыт работы с JavaScript и TypeScript. Цель этой книги — не обучать читателей пользоваться инструментами, а помочь им повысить свой профессиональный уровень. Прочитав ее, вы сформируете лучшее представление о работе компонентов TypeScript, сможете избежать многих ловушек и ошибок и развить свои навыки. В то время как справочное руководство покажет пять разных путей применения языка для реализации одной задачи, «эффективная» книга объяснит, какой из этих путей лучше и почему.
Читать дальше →

Субъективный обзор некоторых российских бесплатных образовательных платформ

Reading time15 min
Views106K
     «Expose the lies that enrage me» (с) Arch Enemy

Случается, закончил человек не самый плохой ВУЗ, работает себе без особых проблем, но вокруг постоянно появляется что-то новое, неизведанное и хочется не отстать… А бывает, студент ощущает, что с его ВУЗом что-то не то, учат чему-то не тому и за свою судьбу как-то страшновато – пойдешь то ли на биржу труда, то ли в светлое IT будущее. Казалось бы, в чем проблема?! Займись самообразованием – ресурсов в сети полно. Однако хотелось бы получить все в одном месте, с какой-то гарантией качества (свободного времени и так не хватает). Поэтому я попробовал бесплатно поучиться на ряде российских обучающих платформ. Оказалось, что и там с IT темами все довольно печально – много никчёмных материалов, пустых обещаний, неудобств и откровенной халтуры. «Expose the lies…». В этой статье хочу поделиться субъективными впечатлениями о своем опыте прохождении ряда бесплатных IT курсов на российских обучающих платформах за примерно 1 год. Напишу о Skillfactory, Открытом образовании (openedu), GeekBrains и Stepik. В конце я подведу краткие итоги. Предлагаю заинтересовавшимся читателям обсудить статью и свой опыт онлайн обучения в комментариях.
Читать дальше →

CSS и множественный фон

Reading time7 min
Views71K
CSS-свойство background — это одно из самых часто используемых свойств. Но сообщество веб-разработчиков пока не слишком хорошо осведомлено о возможностях, которые даёт использование множественного фона. Здесь я собираюсь серьёзно поговорить о том, что может дать применение множественного фона, и о том, как использовать стандартные механизмы CSS на полную мощность.

В этом материале я подробно расскажу о свойстве background-image, приведу наглядные примеры совместного использования нескольких фоновых изображений элемента, рассмотрю сильные стороны такого подхода. Здесь будет много иллюстраций.



Если вы не знакомы с CSS-свойством background — хорошо будет, если вы, перед чтением материала, заглянете на эту страницу документации MDN, посвящённую данному свойству.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity

Specialization

Frontend Developer
JavaScript
HTML
CSS
Adaptive layout
Crossbrowser layout
BEM
Vue.js
Webpack
SCSS
Web development