Как стать автором
Обновить
1
0
Dmitry Bragin @St1ggy

Frontend Developer

Отправить сообщение

Полное понимание асинхронности в браузере

Время на прочтение24 мин
Количество просмотров108K
Про асинхронность JavaScript написано много статей, документации и книг. Но вся информация сильно распределена по интернету, поэтому сложно быстро и полностью разобраться, что к чему, и составить цельную картину в голове. Не хватает одного исчерпывающего гайда. Именно эту потребность я и хочу закрыть своей статьёй.

Читать дальше →
Всего голосов 78: ↑78 и ↓0+78
Комментарии26

ESLint. Анатомия правил линтинга: разбираем структуру, создаём собственное правило для React-приложения

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров20K

Всем привет! Меня зовут Анастасия Щедрина, я технический лидер по фронтенду проекта размещения объявлений в компании Домклик. Сегодня я расскажу вам немного о том, как устроены правила в ESLint, и покажу на примере, как можно разработать собственные.

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

Читать далее
Всего голосов 28: ↑28 и ↓0+28
Комментарии1

Книги для JavaScript-разработчика: то, что реально помогает развиваться. От простого к сложному

Время на прочтение4 мин
Количество просмотров18K

Привет, Хабр! Сегодня предлагаем подборку книг для JavaScript-разработчика. Подобраны они в порядке усложнения материала. То, что в начале подборки, пригодится начинающему специалисту (правда, перечитать не помешает и профи). А ближе к концу — книги для более опытных разработчиков. Если же у вас есть собственные предпочтения, то расскажите о них тоже — поделитесь в комментариях.

Читать далее
Всего голосов 9: ↑8 и ↓1+13
Комментарии4

Как мы попробовали Yatagan

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров2.9K

У нас в проекте с незапамятных времён для DI используется Dagger. И в целом он нас всем устраивает. Ну, разве что кроме одного маленького пунктика — скорость сборки с kapt. Он прилично увеличивает время сборки. Казалось бы, смирись, страдай, прими ситуацию. Но относительно недавно Yandex представили библиотеку для Dependency Injection. Имя ей Yatagan. У неё есть две важных особенности — она спроектирована быть похожей на Dagger по API, и одна из её целей — меньше влиять на время сборки. Меньшее время сборки — это всегда хорошо, а значит, стоит её как минимум попробовать. 

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии5

Текстовый Инпут с возможностью выделять отдельные слова

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров2.6K

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

Читать далее
Всего голосов 4: ↑3 и ↓1+3
Комментарии5

Настройка ESLint для чистого кода в проектах на Vue

Время на прочтение14 мин
Количество просмотров26K

В процессе работы над проектами разработчики придерживаются определенного кодстайла. Как правило, за это отвечает ESLint. ESLint — это линтер для языка программирования JavaScript. Он статически анализирует код на наличие проблем, многие из которых можно исправить автоматически.

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

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

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии7

Архитектура современных корпоративных Node.js-приложений

Время на прочтение12 мин
Количество просмотров95K
Ох, не зря в названии намёк на нетленку Фаулера. И когда фронтенд-приложения успели стать настолько сложными, что мы начали рассуждать о высоких материях? Node.js… фронтенд… погодите, но Нода же на сервере, это бэкенд, а там ребята и так всё знают!



Давайте по порядку. И сразу небольшой дисклеймер: статья написана по мотивам моего выступления на Я.Субботнике Pro для фронтенд-разработчиков. Если вы занимаетесь бэкендом, то, возможно, ничего нового для себя не откроете. Здесь я попробую обобщить свой опыт фронтендера в крупном энтерпрайзе, объяснить, почему и как мы используем Node.js.
Читать дальше →
Всего голосов 42: ↑41 и ↓1+51
Комментарии64

Конструктор

Время на прочтение24 мин
Количество просмотров13K


Денис Паясь (Яндекс)


Меня зовут Денис, я работаю в Яндексе, а если точнее, то я занимаюсь разработкой фронтенда для страницы поисковой выдачи.

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

Сегодня я расскажу про такую офигительную нашу внутреннюю штуку как Конструктор, про то как он получился, почему, и как мы вообще к этому всему пришли.Мне кажется, что те решения, которые мы приняли в процессе реализации этой замечательной фиготы, могут быть полезны не только нам в рамках нашей компании, нашей команды, но и целому множеству других команд, в ваших, например, компаниях. Я не знаю упомянул я или нет, но проект реально очень крутой. Почему – сейчас расскажу.
Всего голосов 20: ↑18 и ↓2+16
Комментарии3

DDD, Hexagonal, Onion, Clean, CQRS… как я собрал всё это вместе

Время на прочтение14 мин
Количество просмотров104K


Эта статья — часть «Хроники архитектуры программного обеспечения», серии статей об архитектуре ПО. В них я пишу о том, что узнал об архитектуре программного обеспечения, что я думаю об этом и как использую знания. Содержание этой статьи может иметь больше смысла, если вы прочитаете предыдущие статьи в серии.

После окончания университета я начал работать учителем средней школы, но несколько лет назад уволился и пошёл в разработчики программного обеспечения на полный рабочий день.

С тех пор я всегда чувствовал, что мне нужно восстановить «потерянное» время и узнать как можно больше, как можно быстрее. Поэтому я стал немного увлекаться экспериментами, много читать и писать, уделяя особое внимание дизайну и архитектуре программного обеспечения. Вот почему я пишу эти статьи, чтобы помочь себе в обучении.
Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии14

Генератор компонентов Vue.js?

Время на прочтение3 мин
Количество просмотров7.9K

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

Часть этой рутины, однако, можно всегда оптимизировать.

В этой статье хочу познакомить вас с инструментом, который разработал, для минимизации рутины при создания компонентов Vue.js – VGENT.

VGENT (Vue Agent) – это CLI (Command Line Interface) приложение, которая генерирует компоненты для фреймворка Vue.js или Nuxt.js. Данный инструмент можно гибко настроить под нужды проекта, и генерировать компоненты командами в терминале.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии9

Как написать и опубликовать идеальный пакет для Flutter

Время на прочтение8 мин
Количество просмотров5.9K

Думаю, многие разрабочики хотя бы раз в жизни хотели поделиться своими наработками с сообществом. Уж точно все - пользовались тем, чем делятся другие. Мое мнение на этот счет примерно такое - если ты делаешь что-то для себя и можешь это сделать таким, чтобы этим могли пользоваться другие с, относительно, небольшим количеством трудозатрат - то делай это. К тому же, выставляя "напоказ" свои велосипеды - так или иначе, придется их хотя бы покрасить. Смазать цепь. А значит и в твоем проекте данное решение будет уже более качественным. Не буду углубляться в философию опен-сорса (простите меня, нелюбители английских слов, написанных по русски), поэтому перейдем сразу к делу.

Перейти к делу
Всего голосов 13: ↑13 и ↓0+13
Комментарии7

Flutter: слоёный пирог с интересной начинкой. Графика

Время на прочтение21 мин
Количество просмотров12K

Write once, run anywhere

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

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии0

Дайджест интересных материалов для мобильного разработчика #387 (22 — 28 марта)

Время на прочтение3 мин
Количество просмотров3K
В нашем новом дайджесте PWA как альтернатива App Store и легкий DataBinding, Jetpack Compose Canvas и шейдеры в Android View, юзабилити-тестирование и страх и ненависть локализации, тепловые карты и самый быстрый миллиард Genshin Impact.

Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Дайджест свежих материалов из мира фронтенда за последнюю неделю №460 (22 — 28 марта 2021)

Время на прочтение3 мин
Количество просмотров8.3K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии1

Книга «Python: быстрый старт»

Время на прочтение4 мин
Количество просмотров8.4K
image Привет, Хаброжители! Всегда хотели научиться программировать на Python, но не знаете, с чего начать? Или хотите быстро перейти с другого языка на Python? Уже перепробовали множество книг и курсов, но ничего не подходит?

Все когда-то были новичками. Мы об этом часто забываем, но появляются новые поколения, которые хотят как можно быстрее и с минимум усилий освоить «незнакомый язык»

Не судите новичков строго, если вы гуру программирования, вам эта книга не нужна, но возможно она пригодится вашему ребенку, брату, сестре, другу или подруге ;)

Серия «Быстрый старт» — отличное решение, и вот почему: сложные понятия разбиты на простые шаги — вы сможете освоить язык Python, даже если никогда раньше не занимались программированием; все фундаментальные концепции подкреплены реальными примерами; вы получите полное представление о Python: структуры управления, методы обработки ошибок, концепции объектно-ориентированного программирования и т. д.; в конце книги вас ждет интересный проект, который поможет усвоить полученные знания.
Читать дальше →
Всего голосов 2: ↑2 и ↓0+2
Комментарии7

Как сделать волоконно-оптическую светодиодную лампу

Время на прочтение4 мин
Количество просмотров45K

Ранее я уже делал подобные проекты, но в этот раз я хотел сделать что-то попроще, то, что будет легким в изготовлении, и то, что смогли бы сделать многие из вас. "Механические" части лампы печатаются на 3D-принтере, электронная часть довольно проста, а пластиковое оптическое волокно притягивает взгляд. Сейчас я расскажу, как легко и просто изготовить такую светодиодную лампу.

Приятного чтения!
Всего голосов 47: ↑46 и ↓1+59
Комментарии20

Junior FPGA Design Engineer: как стать?

Время на прочтение11 мин
Количество просмотров143K
Всем привет!

Иногда начинающие разработчики не очень хорошо представляют, какую литературу надо читать для серьезного изучения того или иного языка.

Разработка под FPGA (ПЛИС) — это не просто какой-то язык. Это очень объемная область, с огромным количеством подводных камней и нюансов.

В этой статье вы найдете:
  • список тем, которые должен освоить начинающий разработчик под FPGA
  • рекомендуемую литературу по каждой из тем
  • набор тестовых вопросов и лабораторных работ
  • классические ошибки новичков (и советы по исправлению)

Добро пожаловать под кат!
Читать дальше →
Всего голосов 44: ↑44 и ↓0+44
Комментарии58

flutter_idiomatic – starter-kit успешного проекта

Время на прочтение4 мин
Количество просмотров3.8K

Здравствуйте! Меня зовут Андрей. Больше известен, как #кодеротбога (это самоирония, если что). Осваиваю Flutter в режиме «live-code», уже 567 трансляций. Без купюр – «from zero to hero», начиная с учебника по Dart и до полноценного «open-source» проекта в продакшене. А ещё, я скоро заканчиваю собственный онлайн-курс на 100 часов занятий – учитель учится у своих учеников. Благодаря интенсивной практике и предыдущему богатому опыту на ReactJS, сформировал набор соглашений, который хочу представить для получения фидбека: «Ваш звонок очень важен для нас, оставайтесь на линии».


Читать дальше →
Всего голосов 2: ↑1 и ↓10
Комментарии3

Используем Chrome DevTools профессионально

Время на прочтение5 мин
Количество просмотров74K
И снова здравствуйте. В преддверии старта курса «JavaScript Developer. Professional» перевели

11 советов для тех, кто использует Chrome в качестве среды разработки.





Итак, по тем или иным причинам вы решили при разработке ориентироваться на Chrome. Вы открываете инструменты разработчика и приступаете к отладке кода.



Иногда вы открываете консоль, чтобы посмотреть вывод своей программы, или вкладку Elements, чтобы проверить CSS-стили элементов DOM.



А действительно ли вы разбираетесь в Chrome DevTools? На самом деле у инструментов разработчика множество мощных функций, которые облегчают жизнь, но о них мало кто знает.
Я расскажу о самых полезных из них.
Читать дальше →
Всего голосов 41: ↑38 и ↓3+48
Комментарии17

5 библиотек для Vue.js, без которых мне не обойтись

Время на прочтение10 мин
Количество просмотров32K
Опытные разработчики знают о том, что иногда, пытаясь сэкономить время и решить какие-то задачи своего проекта с помощью пакета, созданного кем-то другим, можно, в итоге, потратить больше времени, чем было сэкономлено. Библиотеки, жёстко регламентирующие реализацию неких механизмов и не позволяющие решать с их помощью необычные задачи, выходящие за рамки того, что кажется правильным их авторам, заставляют нас, буквально сразу же после их установки, жалеть о том, что мы вообще решили их попробовать.



Хотя со мной такое случалось довольно часто, у меня, всё же, есть небольшой список любимых библиотек, которые я использовал во множестве проектов, и которые за долгое время доказали свою крайнюю полезность. Я испытал множество подходов к решению тех задач, которые решают эти библиотеки. На мой выбор повлияло удобство работы с библиотекой, разнообразие её возможностей, хороший внешний вид того, что получается при её применении. В итоге у меня и появился тот список, которым я хочу с вами поделиться.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+41
Комментарии26

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность

Специализация

Frontend Developer, Mobile Application Developer
Middle
От 400 000 ₽
JavaScript
CSS
React
SASS
Vue.js
TypeScript
MobX
SCSS
PUG
Redux