Pull to refresh
6
0
Александр @AlexSND

Frontend developer

Send message

Angular: Лучшие практики на 2023 год

Reading time5 min
Views5.8K

Лучшие практики при разработке в Angular обеспечивают согласованность, читабельность кода, производительность, удобство обслуживания и масштабируемость.

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

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

Читать далее
Total votes 10: ↑7 and ↓3+5
Comments5

ContentChild, ViewChild, template reference variables

Level of difficultyEasy
Reading time4 min
Views12K

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

Давайте!
Total votes 15: ↑15 and ↓0+15
Comments2

Представляем popover API

Level of difficultyMedium
Reading time6 min
Views8.2K

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

Чтобы решить эту проблему, в браузеры приходит новый набор декларативных HTML API для создания всплывающих окон, начиная с popover API в Chromium 114.

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

Учимся писать сложные Typescript типы на примере роутинга в React

Level of difficultyMedium
Reading time12 min
Views18K

Вы используете TypeScript, но впадаете в ступор перед, когда видите типы в сторонних библиотеках? Generics, generic constraint, infer, rest infer, conditional и recursive types, satisfies вызывают головную боль? Мы постараемся снизить градус сложности и напишем типы для роутинга в React приложении. Данный материал будет полезен как фронтендерам, так и бекендерам.

Хочу писать типы как профессионал
Total votes 15: ↑15 and ↓0+15
Comments0

Как сделать декларативный роутинг диалогов в Angular на примере Taiga UI

Level of difficultyMedium
Reading time6 min
Views4.7K

Привет! Я Дима, разработчик онлайн-бухгалтерии. Предлагаю на примере простой задачи разобрать два подхода к созданию модальных окон, связанных с url: императивный и декларативный.

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

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

ChatGPT — лучший помощник программиста. Примеры реальных задач. Плагины и инструменты

Level of difficultyEasy
Reading time9 min
Views63K

Языковая модель ChatGPT никогда не заменит программиста, потому что непосредственно редактирование кода — это крохотная часть разработки (5% по времени). Зато ChatGPT великолепно помогает. И чем выше ваш скилл — тем больше пользы от «подмастерья», выполняющего мелкие задания и черновой кодинг. Он пишет простые функции, генерирует документацию, находит и объясняет ошибки, выполняет кучу других задач (полный список под катом).

Сегодня не использовать ChatGPT просто глупо… Это действительно универсальный помощник, который сильно облегчает жизнь и выводит программирование на принципиально новый уровень. Одно из величайших изобретений в IT за десятилетия, после GUI и интернета.

Пожалуй, никогда программирование не было настолько приятным и эффективным, как сейчас.
Читать дальше →
Total votes 72: ↑57 and ↓15+60
Comments88

Ускоряем разработку в VSCode

Reading time4 min
Views20K

Привет, Хабр! Это моя первая публикация и хотелось бы начать с чего-то полезного для сообщества. С места в карьер… Я запилил расширение для VSCode, которое поможет автоматизировать создание файловой структуры компонентов.

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

Читать далее
Total votes 18: ↑14 and ↓4+12
Comments21

6 новых возможностей CSS, которые должен знать каждый front-end разработчик в 2023 году

Level of difficultyEasy
Reading time2 min
Views26K

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

Я считаю, что каждый front-end разработчик должен знать, как использовать container query, создавать привязку к прокрутке, избегать position: absolute с помощью grid, быстро создавать круг, использовать каскадные слои и достигать большего с помощью логических свойств. Эта статья — описание каждой из 6 новых возможностей CSS.

Читать далее
Total votes 17: ↑10 and ↓7+5
Comments6

Как создать монорепозиторий с несколькими сервисами, используя Lerna и Yarn?

Level of difficultyMedium
Reading time6 min
Views5.6K

Для разработчиков построение масштабируемых и поддерживаемых приложений может быть значительным вызовом, особенно при работе с большими кодовыми базами и несколькими сервисами. К счастью, использование подхода монорепозитория в сочетании с мощными инструментами, такими как NX, Lerna и Yarn, может обеспечить упрощенный процесс разработки, который повышает общность кода и возможность повторного использования.

Это подробное руководство нацелено на помощь разработчикам в настройке монорепозитория с использованием NX, Lerna и Yarn. Руководство включает подробную информацию о начальной настройке, структуре каталогов, управлении зависимостями, тестировании и развёртывании.

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

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

Простой Telegram-бот на JavaScript за 10 минут

Reading time4 min
Views43K

Привет, Хабр! Эту статью написал Тарас Голомозый, fullstack web-разработчик и преподаватель в школе программирования Эльбрус Буткемп. Хотя про ботов рассказано уже немало, эта тема по-прежнему интересует начинающих разработчиков, — и опыт наших студентов это подтверждает. Позволим себе написать еще одну инструкцию по созданию простого бота на JavaScript с возможностью расширения функционала. В базовом варианте его задача — показывать текущую погоду по геолокации пользователя.

Читать далее
Total votes 10: ↑5 and ↓5+1
Comments4

Теория звука. Что нужно знать о звуке, чтобы с ним работать. Опыт Яндекс.Музыки

Reading time14 min
Views213K
Звук, как и цвет, люди воспринимают по-разному. Например, то, что кажется слишком громким или некачественным одним, может быть нормальным для других.

Для работы над Яндекс.Музыкой нам всегда важно помнить о разных тонкостях, которые таит в себе звук. Что такое громкость, как она меняется и от чего зависит? Как работают звуковые фильтры? Какие бывают шумы? Как меняется звук? Как люди его воспринимают.



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

Поводом для этого поста можете считать то, что мы добавили в приложения Яндекс.Музыки возможность слушать треки в высоком качестве (320kbps). А можете не считать. Итак.
Читать дальше →
Total votes 83: ↑78 and ↓5+73
Comments52

TypeScript: паттерны проектирования. Часть 2

Reading time10 min
Views12K


Привет, друзья!


Представляю вашему вниманию перевод второй части серии статей, посвященных паттернам проектирования в TypeScript.


Спасибо Денису Улесову за помощь в переводе материала.


Паттерны (или шаблоны) проектирования (design patterns) описывают типичные способы решения часто встречающихся проблем при проектировании программ.


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

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

Ошибки, RxJS & Angular

Reading time3 min
Views3.6K

Что привлекает в Ангуляре экспертов и удручает начинающих? Одно и тоже, RxJS.

   Почему же это так сложно для начинающих? Возможно потому, что есть очень большое количество операторов, которые нужно просто знать, и без поиска понимать в чем разница между concatMap, switchMap и mergeMap. Почему же это так нравится тем, кто это уже выучил? Возможно, потому что вы начинаете понимать все могуществао RxJS, когда одним оператором вы можете сделать то, что в императивном коде писали бы полдня на двух страницах. Ведь это так приятно, ощущать себя богом, когда код просто отскакивает от ваших пальцев, а вы радостно рассказываете коллегам как вы классно и главное просто решили задачу.

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

Effector — убийца Redux? Туториал с нуля. Часть 1

Reading time5 min
Views29K

Redux и MobX больше не нужны ?

Туториал для новичков по EffectorJS - современному и удобному стейт-менджеру. Рассмотрим основные возможности, работу ядра, и какие проблемы решает. На примерах.

Читать далее
Total votes 6: ↑5 and ↓1+6
Comments79

Игровой real-time сервер простыми словами: теория, архитектура на Python, оптимизация, автомасштабирование в AWS

Reading time20 min
Views23K

Разработка сервера для real-time онлайн игры - дело неочевидное, но очень интересное. В данной статье я постараюсь провести вас от банальной теории и базовых вещей до динамического автомасштабирования игрового сервера в облаке.

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

Перейти к материалу
Total votes 19: ↑17 and ↓2+19
Comments33

Node.js: работа с файловой системой

Reading time17 min
Views20K


Привет, друзья!


Представляю вашему вниманию перевод этой замечательной статьи.


Данная статья включает в себя:



Если вам это интересно, прошу под кат.

Читать дальше →
Total votes 7: ↑6 and ↓1+6
Comments1

[В закладки] Как работает браузер

Reading time17 min
Views31K

К старту курса по Fullstack-разработке на Python делимся лонгридом от ведущего программиста компании THG. Специалистам материал будет полезен в подготовке к собеседованиям, а новичкам поможет получить целостное представление о том, что происходит у браузера под капотом.

Читать далее
Total votes 16: ↑12 and ↓4+9
Comments1

Как использовать Docker в приложениях Node.js и React

Reading time4 min
Views42K

В этой статье поговорим о том, как разработать и запустить бэкэнд на Node.js-Express и фронтенд на React в контейнере Docker.

Читать далее
Total votes 12: ↑7 and ↓5+3
Comments17

Разрабатываем чат с помощью Nest, React и Postgres

Reading time17 min
Views18K


Привет, друзья!


В данном туториале мы разработаем чат с использованием следующих технологий:


  • TypeScript — статический типизатор;
  • NestJS — сервер;
  • Socket.IO — библиотека для работы в веб-сокетами;
  • React — клиент;
  • TailwindCSS — библиотека для стилизации;
  • PostgreSQL — база данных (далее — БД);
  • PrismaORM;
  • Docker — платформа для разработки, доставки и запуска приложений в изолированной среде — контейнере.

Функционал чата будет таким:


  • фейковая регистрация пользователей:
    • хранение имен пользователей в памяти (объекте) на сервере;
    • хранение имен и идентификаторов пользователей в localStorage на клиенте;
  • регистрация подключений и отключений пользователей на сервере и передача этой информации подключенным клиентам;
  • запись, обновление и удаление сообщений из БД в реальном времени на сервере и передача этой информации клиентам.

Репозиторий с кодом проекта.


Если вам это интересно, прошу под кат.

Читать дальше →
Total votes 8: ↑6 and ↓2+5
Comments11

Information

Rating
Does not participate
Location
Россия
Works in
Registered
Activity