Pull to refresh
11
0
Климент @klimentRu

angular

Send message

Оверинжинирг 80 уровня или редьсюеры: путь от switch-case до классов

Reading time7 min
Views11K

image


О чем пойдет речь?


Посмотрим на метаморфозы редьюсеров в моих Redux/NGRX приложениях за последние пару лет. Начиная с дубового switch-case, продолжая выбором из объекта по ключу и заканчивая классами с декораторами, блекджеком и TypeScript. Постараемся обозреть не только историю этого пути, но и найти какую-нибудь причинно-следственную связь.

Читать дальше →
Total votes 26: ↑21 and ↓5+16
Comments10

Веб-компоненты в реальном мире

Reading time8 min
Views31K

Photo by NeONBRAND


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


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

Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments334

NestJS - тот самый, настоящий бэкенд на nodejs

Reading time6 min
Views163K
image

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

Поэтому, NestJS- это не только фреимворк для бэкенда, но и возможность войти в мир передовых концепции, например таких как DDD, Event sourcing и микросервисной архитектуре. Все упаковано в простой и легкой форме, так что выбор за вами - решаете ли вы использовать всю платформу или просто использовать ее компоненты.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments25

Play Store теперь принимает прогрессивные веб-приложения (PWA)

Reading time15 min
Views38K

Дисклеймер: я не связан с Google Play, Chrome или любой упомянутой компанией. Это не официальное заявление. Логотип и названия используются только для иллюстрации.

В Chrome 72 для Android реализована долгожданная функция Trusted Web Activity. Это означает, что теперь мы можем распространять PWA через каталог Google Play и запускать Chrome без UI в автономном режиме для нативных пакетов! Я некоторое время поигрался с этой функцией, копаясь в API, а здесь расскажу, о чём речь, чего ожидать и что доступно уже сегодня.
Total votes 30: ↑30 and ↓0+30
Comments10

Внедряем Angular компоненты в React, Vue и даже JQuery если хотите

Reading time4 min
Views5.7K
Если вы нашли крутой компонент в npm, но она с приставкой ng, ngx, angular и так далее, то не стоит расстраиваться по этому поводу. Есть много решений, чтобы этот компонент оказался у вас. В данной статье рассмотрим решение, которое официально поддерживается Angular Team, а именно  -  Angular Elements.

Для практики выберем любой компонент из Awesome Angular.
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments6

Харэ жрать? Говорим о пищевых привычках современного айтишника

Reading time12 min
Views63K
Читатели Хабра, в основном, люди интеллектуального труда и нередко наша жизнь ограничивается схемой «работа, дом, редкие посиделки с друзьями в кафе или баре». А если ещё есть заботливый работодатель, предоставляющий обеды, печеньки, снеки и напитки без ограничений, то всё, — привет, лишний вес. Конечно, среди нас есть фанаты бега, кроссов, марафонов, спортзалов и Iron Man, но их по-прежнему мало.

На Хабре нередко пишут про физические нагрузки, стоячие столы и прочие приспособления, но мы сегодня поговорим… о еде. Давайте отвлечёмся от работы, подумаем о своём здоровье и о пищевых привычках, а заодно выясним, не сгущаем ли мы краски. Тем, кто ест за компьютером — приятного аппетита!


Беговая дорожка, не поспоришь
Читать дальше →
Total votes 86: ↑74 and ↓12+62
Comments358

Разработка доступных интерфейсов

Reading time16 min
Views9.2K
По данным Росстата 1 млн. человек имеют проблемы со зрением, начиная от астигматизма и заканчивая слепотой и с трудом могут пользоваться обычными сайтами. Попробуйте протестировать ваш ресурс на доступность: зажмурьте глаза, чтобы экран размылся и кликайте, вводите текст, переходите по страницам. Если привычные действия неудобно выполнять, то можно задуматься над доступностью.

Хорошие примеры доступных сайтов у Пенсионного Фонда и Госуслуг. Чтобы ваш ресурс стал доступным, такой масштабной работы, как для ПФР, не требуется. Достаточно применить три принципа, добавить в закладки два сайта с подробной документацией по разработке доступных сайтов и немного адаптировать рабочий процесс под новую парадигму. В результате ваши ресурсы перейдут на новую ступень: будут доступными и удобными для людей с ограниченными возможностями.

О том, как быстро и эффективно разрабатывать доступные ресурсы сегодняшняя расшифровка доклада Сергея Кригера на Frontend Conf.

Total votes 30: ↑30 and ↓0+30
Comments4

Костыли, Нарния, прокрустов ниндзя: три боли тимлида в стартапе

Reading time5 min
Views13K
Тимлид в стартапе — разом и Илон Маск, и Франкенштейн. Утром конструирует космические корабли, а к вечеру обращает к проекту крик: «Живи! Тебе нельзя умирать!» — и нездорово смеется. И все это в компании трех джуниоров.

Александр Поломодов руководит разработкой в управлении привлечением в Tinkoff.ru; ранее он был руководителем разработки / CTO в небольших компаниях. Мы попросили Александра вспомнить прошлое и рассказать, какие подводные камни могут ожидать тимлида, приходящего в стартап.

image

Под катом — ответы на важные вопросы:

  • как выжить в условиях, когда процессы взаимодействия не налажены (или не существуют вовсе);
  • как собрать крутую команду, когда ФОТ ограничен;
  • как понять, что из проекта нужно бежать.
Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments10

Как генерировать осмысленные коммиты. Применяем стандарт Conventional Commits

Reading time8 min
Views123K


Привычный хаос в названиях коммитов. Знакомая картина?

Наверняка вы знаете git-flow. Это отличный набор соглашений по упорядочиванию работы с ветками в Git. Он хорошо документирован и широко распространен. Обычно мы знакомы с правильным ветвлением и много говорим об этом, но, к сожалению, уделяем слишком мало внимания вопросу наименования коммитов, поэтому часто сообщения в Git пишутся бессистемно.

Меня зовут Ержан Ташбенбетов, я работаю в одной из команд Яндекс.Маркета. И сегодня я расскажу читателям Хабра, какие инструменты для создания осмысленных коммитов мы используем в команде. Приглашаю присоединиться к обсуждению этой темы.

Читать дальше →
Total votes 72: ↑71 and ↓1+70
Comments84

Разбор вопросов на стенде hh.ru на #HolyJS18

Reading time12 min
Views8.7K

Мы старались сделать для вас что-то интересное и необычное. Очень надеюсь что у нас получилось. Нам не хотелось оставлять вас без ответов и объяснений почему именно так. Давайте разбираться.


Для начала хочу напомнить как проходил конкурс, было 4 тура по 15 вопросов про JS, 1 внеконкурсный тур на 15 вопросов про React и финал на 10 вопросов.


image


Под катом — разбор задач первых 4 туров.

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

Оптимизация обработки событий в Angular

Reading time8 min
Views15K

Введение


Angular предоставляет удобный декларативный способ подписки на события в шаблоне, с помощью синтаксиса (eventName)="onEventName($event)". Вместе с политикой проверки изменений ChangeDetectionStrategy.OnPush подобный подход автоматически запускает цикл проверки изменений только по интересующему нас пользовательскому вводу. Иными словами, если мы слушаем (input) событие на <input> элементе, то проверка изменений не будет запускаться, если пользователь просто кликает по полю ввода. Это значительно улучшает
производительность, по сравнению с политикой по умолчанию (ChangeDetectionStrategy.Default). В директивах мы также можем подписаться на события на хост-элементе через декоратор @HostListener('eventName').


В моей практике нередко встречаются случаи, когда обработка конкретного события требуется только при выполнении какого-либо условия. т.е. обработчик выглядит примерно так:

Читать дальше →
Total votes 37: ↑36 and ↓1+35
Comments6

Принцип экономии мыслетоплива

Reading time15 min
Views81K


Представления, на наш взгляд, излишни. Под катом доклад гуру прокрастинатологии Максима Дорофеева, в котором он расскажет, как сделать больше, а устать меньше. Узнаем немного про обезьяну, эффективность и многое другое. Возможно даже, что после прочтения половина всего, что вы слышали ранее о мышлении, обесценится.
Total votes 40: ↑40 and ↓0+40
Comments30

Структуры данных. Неформальный гайд

Reading time6 min
Views168K


Конечно, можно быть успешным программистом и без сакрального знания структур данных, однако они совершенно незаменимы в некоторых приложениях. Например, когда нужно вычислить кратчайший путь между двумя точками на карте, или найти имя в телефонной книжке, содержащей, скажем, миллион записей. Не говоря уже о том, что структуры данных постоянно используются в спортивном программировании. Рассмотрим некоторые из них более подробно.
Читать дальше →
Total votes 91: ↑83 and ↓8+75
Comments31

Многозадачность или марихуана?

Reading time6 min
Views67K


Взгляните на эту картинку. Персонаж справа — медведь. Так случилось, что он курит марихуану (не спрашивайте, где он её взял. Знать не хочу). Женщину слева я назвал Салли. За исключением того, что у неё пять рук, Салли совершенно обыкновенная, непримечательная деловая женщина. Салли, как и многие другие обыкновенные деловые женщины, ещё и завзятая многозадачница. На картинке она держит свой ноутбук, готовит какой-то десерт, да ещё и балансирует миской с какой-то обжигающе горячей похлёбкой, наверное, из морепродуктов. А теперь главный вопрос. Допустим, у Салли и медведя одинаковый уровень интеллекта (это очень умный медведь), тогда кто из них покажет лучший результат при тестировании когнитивной деятельности? Иными словами, если бы меня интересовала умственная деятельность, что для меня хуже: быть многозадачным или забивать косяк?
Total votes 81: ↑72 and ↓9+63
Comments124

CSS Grid — швейцарский армейский нож для макетов сайтов и приложений

Reading time9 min
Views52K
В течение последних двух месяцев я углубился в изучение CSS Grid. В этой заметке я хочу поделиться своими основными соображениями. Чтобы было более понятно, я объясню все с помощью диаграмм.

Вероятно, вы уже знакомы с блоковой моделью CSS для обычных элементов. Давайте начнем с аналогичного «общего обзора» для CSS Grid:


В основе структуры CSS Grid находится основной контейнер, представляющий собой обычный div, имеющий margin, border и padding. Для создания CSS grid контейнера добавим свойство display: grid. Элементы сетки — это потомки, размещенные внутри родительского контейнера. Они обычно определяются как список, описывающий header, sidebar, footer или другие аналогичные элементы макета сайта, зависящие от его дизайна.
Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments21

Как наконец-то начать писать тесты и не пожалеть об этом

Reading time19 min
Views39K


Приходя на новый проект, я регулярно сталкиваюсь с одной из следующих ситуаций:

  1. Тестов нет совсем.
  2. Тестов мало, их редко пишут и не запускают на постоянной основе.
  3. Тесты присутствуют и включены в CI (Continuous Integration), но приносят больше вреда, чем пользы.

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

Что можно сделать, чтобы изменить сложившуюся ситуацию? Идея использования тестов не нова. При этом большинство туториалов напоминают знаменитую картинку про то, как нарисовать сову: подключаем JUnit, пишем первый тест, используем первый мок — и вперед! Такие статьи не отвечают на вопросы о том, какие тесты нужно писать, на что стоит обращать внимание и как со всем этим жить. Отсюда и родилась идея данной статьи. Я постарался кратко обобщить свой опыт внедрения тестов в разных проектах, чтобы облегчить этот путь для всех желающих.
Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments43

Подводные камни Service Workers

Reading time5 min
Views35K
В этом коротеньком очерке я опишу те вещи о service workers, о которых я бы хотел прочесть год или хотя бы полгода назад и тем самым избежать очень долгого и мучительного периода отладки приложения.

Если вы попали сюда по запросу типа «какого черта мой сервис воркер не работает на продакшене?», добро пожаловать под кат.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments7

Локальный NPM репозиторий за 5 минут со своими пакетами и кэширование

Reading time2 min
Views55K
Доброго времени суток!

Рано или поздно в организациях возникают проблемы с распространением js модулей между проектами, настало то время когда в нашей компании встал этот вопрос.

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

Поиск бесплатных, частных npm репозиториев завел в тупик, а использование частных репозиториев на npm требует платы (а это не наш менталитет).

Поскольку в офисе есть сервер, который работает всегда(почти), было решено развернуть локальный npm.

image
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments11

Современная веб-разработка: выбери себе приключение

Reading time7 min
Views28K

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


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


upd — немного дополнил текст до ката.


Читать дальше →
Total votes 54: ↑47 and ↓7+40
Comments36

Information

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