Pull to refresh
8
0
Дмитрий @dima_bur

Frontend developer

Send message

WorkBox: ваш toolkit в мире сервис-воркеров

Reading time6 min
Views15K

Всем привет! 

Меня зовут Святослав. Я лидирую разработку сервисов оформления ипотеки в компании Домклик. Не так давно наша компания взяла курс на внедрение философии Progressive Web Application в наших клиентских сервисах.

Одним из важных аспектов PWA является использование технологии Service Worker API. Однако технология не так проста, как кажется на первый взгляд. Для эффективного использования нужно пройти тернистый путь из квестов, связанных с особенностями жизненного цикла воркеров, неполной поддержкой браузерами, проблемами с политикой кэширования и попутно встречающимися сайд-эффектами (кэширование устаревшего контента, сломанные ссылки и другое).

Workbox - это набор инструментов, предоставляющих высокоуровневый API для конфигурации и работы с такими браузерными технологиями как Service Worker API и Cache Storage API. Инструментарий состоит из набора изолированных модулей, которые помогут сделать ваше приложение "offline-ready". 

Читать далее
Total votes 29: ↑29 and ↓0+29
Comments5

Смешные собеседования: истории ИТ-рекрутеров (часть 1)

Reading time7 min
Views76K

Недавно мы на Хабр Карьере устроили конкурс ко дню эйчара и попросили эйчаров и ИТ-рекрутеров рассказать нам о самых смешных собеседованиях, которые стали легендами в их компаниях. И в ответ получили столько историй, что хватило бы на небольшую книгу! Оказывается, работая эйчаром, можно познакомиться с семьёй и домашними любимцами кандидата, узнать о его кулинарных предпочтениях, стать объектом романтического внимания или свидетелем ДТП. 

Выбрать троих победителей было невероятно трудно, но пришлось. Сегодня покажем, кто выиграл в конкурсе, и поделимся другими смешными и эпичными историями тоже.

Читать далее
Total votes 53: ↑50 and ↓3+74
Comments82

Германия, или Туда и Обратно — 1

Reading time14 min
Views67K
Почти два года назад, под Новый год, у меня зазвонил телефон.

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



Я крепко призадумался.

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

Итак, под бой курантов мы с супругой приняли решение: «Ехать!»

Кто хочет прочитать про мой увлекательный, но весьма субъективный опыт переезда в Германию — добро пожаловать под кат.
Читать дальше →
Total votes 118: ↑114 and ↓4+145
Comments728

5 расширений и тем для VS Code, которые способны изменить жизнь фронтенд-разработчика

Reading time3 min
Views39K
Автор статьи, перевод которой мы публикуем сегодня, хочет рассказать о нескольких расширениях и темах для популярного редактора VS Code, которые способны улучшить жизнь разработчика.


Читать дальше →
Total votes 36: ↑23 and ↓13+26
Comments28

Что добавят в JavaScript уже в 2020 году

Reading time4 min
Views21K

Недавно опциональный доступ к аттрибутам (Optional Chaining) и значение по умолчанию для атрибутов (Nullish Coalescing) перешли на последний, четвёртый этап процесса TC39.


На практике это означает, что эти и другие нововведения станут частью стандарта JavaScript уже в этом, 2020 году. Их мы и рассмотрим в этой статье.


Отслеживать поддержку браузерами можно здесь («2020 features») — прим. перев.


Читать дальше →
Total votes 33: ↑31 and ↓2+42
Comments24

Дайджест свежих материалов из мира фронтенда за последнюю неделю №395 (23 — 29 декабря 2019)

Reading time2 min
Views10K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments2

Еще один способ высокотехнологичного мошенничества

Reading time10 min
Views54K
В уходящем году я столкнулся с довольно оригинальным и высокотехнологичным способом мошенничества. По всей видимости далеко не новым, но я раньше не встречал подробных описаний того как работают подобные схемы, так что попробую восполнить этот пробел.

Итак, в этой статье мы поговорим о мошенниках, скрывающихся под видом торговых (STP) брокеров занимающихся маржинальной торговлей. Это ребята, которые предоставляют услуги в покупке контрактов на акции компаний, контрактов FOREX и прочих CFD-инструментов.

Однажды в России...
Total votes 78: ↑70 and ↓8+82
Comments109

Ты только посмотри! 20 фильмов о науке и ученых

Reading time4 min
Views59K
Команда конференции Mieloconf подготовила подборку классных фильмов о науке и ученых для долгих новогодних каникул.

Про свои любимые фильмы рассказали: AI-евангелист ABBYY, автор подкаста «Проветримся» Иван Ямщиков, физик-ядерщик Дмитрий Горчаков, руководитель инфраструктурной команды в «Контуре» Алексей Кирпичников и программист Павел Аргентов.


Читать дальше →
Total votes 31: ↑28 and ↓3+36
Comments42

Простой веб сервер для SPA/PWA за «5 минут»

Reading time6 min
Views13K

Как создать Простой веб-сервер, используя только стандартные инструкции nodejs


Часто для разработки MPA/SPA/PWA приложений требуется простой веб-сервер. Однажды, на одном большом митинге в ответ на вопрос: «Что ты делал?», я сказал, что поднимал веб-сервер для хостинга PWA приложения. Мы все долго смеялись и да, кстати, PWA это не клей. Как SPA — это не косметический салон. Все это виды веб-приложений. А SSR это не страна :-). Если запустить такое приложение просто открыв стартовую страницу index.html через браузер, оно не будет работать как должно, в лучшем случае мы получим оффлайн версию. Я люблю язык JavaScript и буду решать проблему, используя только доступные мне средства, так сказать из "коробки".

Читать дальше →
Total votes 8: ↑4 and ↓4+4
Comments15

Мой новый стек веб-технологий для 2020 года

Reading time9 min
Views69K
Помните те времена, когда стеки веб-технологий были простыми? Когда уровни этих стеков можно было обозначить в виде четырёхбуквенного сокращения вроде LAMP, LEMP или LEPP? Когда всё, что было нужно для создания и поддержки сайтов, сводилось к вполне обычному железу, к какому-нибудь опенсорсному софту, да к упорству в достижении цели?

Мой первый успешный сайт, теперь уже старинный проект 1999 года, был создан с использованием технологий, которые можно пересчитать по пальцам одной руки: HTML4, CSS2, JavaScript3 и Apache 1.1. Всё это крутилось на сервере с Linux 2.0. Сайт включал в себя 38000 страниц. И сегодня, через 20 лет, он всё ещё их выдаёт.



С тех пор всё изменилось. Это касается и стеков веб-технологий. Теперь они совсем не те, что прежде.

Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать о том, как он перешёл от «фуллстека» к «стеку 2020 года». Некоторые технологии в ходе этого путешествия неожиданно стали фаворитами, а некоторые потеряли былую привлекательность.
Читать дальше →
Total votes 61: ↑36 and ↓25+27
Comments108

Docker для фронтендера. Часть 2. Что ты такое?

Reading time5 min
Views14K

Продолжаю делать расшифровку своего доклада Docker для фронтендера с конференции FrontendConf 2019.


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

Total votes 6: ↑5 and ↓1+8
Comments9

Анализ и оптимизация React-приложений

Reading time22 min
Views38K
Люди, вроде меня, которые борются за высокую производительность сайтов, часто тратят на это много времени. Поэтому сейчас я собираюсь раз и навсегда решить проблему низкого быстродействий веб-ресурсов, интерфейс которых написан на React. А именно, я предлагаю всем, кто это читает, сегодня же прекратить пользоваться React.



Автор материала, перевод которого мы сегодня публикуем, конечно же, шутит. Здесь речь пойдёт о том, как оптимизировать производительность React-приложений. Кстати, прежде чем начать, подумаем о том, зачем вообще нужна оптимизация сайтов. Пожалуй, можно сказать, что нужна она для того, чтобы сайтом могло бы пользоваться больше людей, чем до оптимизации.
Total votes 34: ↑32 and ↓2+30
Comments4

Заметки верстальщика: Полезные расширения Google Chrome в 2019 году

Reading time4 min
Views51K

В моем браузере установлено около 30 расширений, которые упрощают жизнь и работу в интернете. В этой статье я хочу поделиться 10 актуальными расширениями Google Chrome для верстальщика, которые постоянно использую при разработке сайтов.

Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments16

Как заопенсорсить npm-пакет с нормальным деплоем, CI и демо (без потери радости к жизни)

Reading time6 min
Views11K

Вот вы сделали что-то новое и крутое, приходит мысль — выложить в опенсорс и опубликовать в npm.


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


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


На самом деле всё это может занять у вас меньше часа. Без знаний DevOps и совершенно бесплатно.


Читать дальше →
Total votes 64: ↑64 and ↓0+64
Comments8

ООП, «святая троица» и SOLID: некоторый минимум знаний о них

Reading time43 min
Views115K

Необходимое вступление


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


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


Столь малые гарантии поднимают вопросы о причинах, по которым статья пишется. Я считаю, что этим вещам должны учить везде, где учат программированию, вплоть до уроков информатики в школах с углублённым её изучением. Тем не менее, для меня стала пугающе нормальной ситуация, когда я узнаю, что собеседник мой коллега, причём работающий уже не первый год, но про инкапсуляцию «что-то там слышал». Необходимость собрать всё это в одном месте и давать ссылку при возникновении вопросов зрела давно. А тут ещё и мой «pet-project» дал мне изрядно пищи для размышлений.


Тут мне могут возразить, что учить эти вещи в школе рановато, и вообще на ООП свет клином не сошёлся. Во-первых, это смотря как учить. Во-вторых, 70% материала этой статьи применимо не только к ООП. Что я буду отмечать отдельно.



Читать дальше →
Total votes 88: ↑82 and ↓6+76
Comments79

6 английских фраз, которые можно использовать при переговорах о зарплате с зарубежными компаниями

Reading time3 min
Views22K
image

Тема поиска работы за рубежом довольно популярна на хабре в последние годы. Однако если с профессиональными навыками у отечественных инженеров, как правило, все отлично, то уровень английского языка не всегда на должном уровне. Это может вызывать сложности – например, мало кто хочет показаться грубым или обидеть собеседника в процессе обсуждения будущих обязанностей или размера зарплаты. При этом и соглашаться на меньшие деньги только из-за стеснения никому не захочется.

Я нашел интересный пост с подборкой фраз для использования при ведении «денежных» переговоров с потенциальными работодателями из-за рубежа, и подготовил его адаптированный перевод.
Читать дальше →
Total votes 46: ↑35 and ↓11+24
Comments28

Angular: состояние дел в 2019 году

Reading time9 min
Views23K
Сейчас лето — то время года, когда во всём мире проводятся различные конференции и другие мероприятия. Программистов в эту пору буквально заваливает новой информацией, которую обычно бывает довольно непросто усвоить.

Вселенная фронтенд-разработки напоминает поезд, который движется без остановок. Все мы знаем о том, как сложно от этого поезда не отстать. Просмотр видеозаписей конференций занимает массу времени, в результате оказывается совершенно понятным причина того, что многие из нас, после офисной работы, предпочитают смотреть фильмы на Netflix.



Автор материала, перевод которого мы публикуем, говорит, что именно поэтому решил помочь всем желающим разобраться в новшествах Angular. Здесь пойдёт речь о современном состоянии Angular, о свежих возможностях этого фреймворка, об актуальных трендах.
Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments74

Использование Typescript с React – руководство для новичков

Reading time6 min
Views188K
Друзья, в преддверии выходных хотим поделиться с вами еще одной интересной публикацией, которую хотим приурочить к запуску новой группы по курсу «Разработчик JavaScript».



Потратив последние несколько месяцев на разработку приложений на React и библиотек с использованием Typescript, я решил поделиться некоторыми вещами, которые узнал за это время. В этом руководстве я расскажу вам про шаблоны, которые я использую для Typescript и React в 80% случаев.

Стоит ли изучать Typescript для разработки приложений на React? Стоит, еще как стоит! Для себя я осознал на практике, что строгая типизация приводит к написанию гораздо более надежного кода, быстрой разработке, особенно в крупных проектах. Сначала вы, вероятно, будете разочарованы, но по мере работы вы обнаружите, что хотя бы минимальный шаблон действительно будет очень кстати.

И если вы застряли на чем-то, помните, что вы всегда можете типизировать что- нибудь как any. Any – ваш новый друг. А теперь перейдем непосредственно к примерам.
Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments7

Бэкенд для фронтенда, или Как в Яндекс.Маркете создают API без костылей

Reading time7 min
Views68K

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



Этой осенью Яндекс.Маркету исполняется 18 лет. Все это время развивается партнерский интерфейс Маркета. Если кратко, то это админка, с помощью которой магазины могут загружать каталоги, работать с ассортиментом, следить за статистикой, отвечать на отзывы и т.д. Специфика проекта такова, что приходится очень много взаимодействовать с различными бэкендами. При этом данные не всегда можно получить в одном месте, из одного конкретного бэкенда.


Читать дальше →
Total votes 69: ↑61 and ↓8+53
Comments40

Советы для джуниоров: формируем хорошие привычки

Reading time6 min
Views12K
Этот набор советов рассчитан на джуниоров, но может быть полезна для любого разработчика, который заинтересован в культивировании хороших привычек. Я стараюсь постоянно ставить перед собой сложные задачи и выходить из зоны комфорта, здесь вы найдете выжимку из моего опыта в виде советов на каждый день. В свою очередь, можете предложить мне идеи, которые здесь не указаны — я стремлюсь постоянно совершенствовать свои техники и расти над собой.



Итак, приступим.
Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments15

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity