Всем привет! Меня зовут Кулаев Сергей, я — Angular-разработчик в ПСБ. В этой статье я поделюсь с вами внутренним устройством примитива signal (сигнал). В Angular уже достаточно давно появилась возможность обрабатывать изменения данных через этот примитив, и большинству людей он уже знаком, но мало кто понимает, как он устроен под капотом. В ходе статьи мы разберём, что из себя представляет сигнал, в каких библиотеках он встречается, а также напишем свою собственную наивную реализацию сигнала и …
Мир программирования огромен и разнообразен. Для новичка выбор первого языка может показаться сложной задачей: сколько их существует, какие лучше выбрать, с чего начинать? В этой статье мы разберем основные шаги и советы, которые помогут вам определиться с языком программирования и уверенно сделать первые шаги в мире кодинга. Какие языки проще, а какие сложнее?Трудно объективно определить, какой язык проще, а какой сложнее, потому что это зависит не только от его особенностей, но и от вашего б…
Прежде, чем мы двинемся вперёд, давайте закончим тему использования миксинов как функций, поднятую во второй части. Без этого будут непонятны некоторые синтаксические моменты.❯ Функциональный подход❯ Возвращаем найденное, цена договорнаяКак я рассказывал ранее, миксины могут выступать не только в роли базовых CSS-классов, но и в роли функций, которые что-то рассчитывают и возвращают. При этом, никакого ключевого слова для возврата значений (типа return) в LESS нет — вместо этого автоматически в…
Недавно я перенёс Intlayer (решение для i18n) — монорепозиторий, состоящий из нескольких приложений (Next.js, Vite, React, design-system и т. д.) — с pnpm на Bun.Кратко (TL;DR): если бы я знал заранее, я бы, вероятно, не делал этого. Я думал, что это займёт пару часов. В итоге ушло около 20 часов.Меня привлекло обещание «всё в одном» и впечатляющие показатели производительности. Я попробовал, я собрал — всё билдилось молниеносно, круто. Затем я сделал коммит… и столкнулся с первой проблемой.Hus…
Каждый разработчик знает эту ситуацию. Вы сделали небольшую правку, создали Pull Request и... ждёте. Иногда ревью затягивается, потому что коллеги заняты, а иногда оно превращается в рутинный пинг-понг из-за пропущенной точки с запятой или несоответствия стайлгайду. Рутинные проверки отнимают драгоценное время и концентрацию, которые можно было бы потратить на обсуждение архитектуры и бизнес-логики.А что, если делегировать эту первую, самую механическую линию обороны машине? Что, если бы у нас …
В прошлом примере я рассказал о том, как можно использовать YDB в качестве векторной базы знаний. Сегодня расскажу про то, как использовать Yandex Embedder.Но сначала несколько слов о том, почему Embedder - это очень важно.Итак, у нас есть задача: есть некоторая внутренняя система (у моем случае - YouTrack), есть ИИ (не важно какой). Я хочу получать ответы от ИИ с использованием данных из внутренней системы. Классическое решение - это выгрузка данных из внутренней системы в RAG и использование …
Эта статья — продолжение цикла статей о платформе Bricks в Авито, поэтому для полного понимания происходящего перед прочтением данной статьи настоятельно рекомендую ознакомиться с работами моих коллег: Bricks: новый подход к управлению интерфейсами, Современные подходы к управлению UI: low-сode & Backend-Driven UI, Backend-driven UI: от идеи к проду.Дмитрий ГусевСтарший разработчик интерфейсов в AvitoЯ — Дмитрий Гусев, Frontend-разработчик в команде Bricks в кластере Core Services в Авито, …
Система DevelSCADA, как и любая SCADA система, в первую очередь предназначена для взаимодействия с каким либо физическим оборудованием. Для этого система поддерживает набор популярных протоколов связи с различными устройствами автоматики. В DevelSCADA, для удобства работы, реализован механизм «Устройств», который позволяет без необходимости обращаться к низкоуровневым данным протокола, посредством графического интерфейса, настраивать связь с устройством и формировать список переменных, обмен зн…
Интеграция простой формы с AmoCRM на «бумаге» выглядит просто. Кажется, что можно просто отправить контакт, создать лид, прикрепить товары к сделке — и готово. На практике всё наоборот.Честно говоря, документация AmoCRM сначала меня запутала. Я полез гуглить по моей ситуации (связка формы с CRM), но не нашел почти ничего. Посмотрел ролик на YouTube про библиотеку. Понял основы, но всё равно оставалось куча вопросов.Дело в том, что AmoCRM в упор не видит дубликаты контактов и товаров. При очис…