Привет, Хабр!Хочу рассказать вам про свою библиотеку solidjs-hook-form,которую я сделал для упрощения работы с множеством форм в SolidJS.Изначально я столкнулся с такой проблемой: валидация, управление состоянием, много инпутов, boilerplate... Капец, можно запутаться. Особенно когда форма не из двух полей, а с кучей логики. Вот и пришлось мне написать свою либу.Почему именно своя? Потому что готовых решений, заточенных под реактивность SolidJS, нормальных не было. Хотелось чего-то легкого, быст…
Привет, Хабр! (И тебе, случайный читатель, который зашёл сюда просто просто потому, что заскучал в корпоративном чате.)Сегодня я расскажу вам историю о том, какая задача посетила меня на этот раз и как я сделал «корпоративного бота с возможностью оценки сотрудников» — казалось бы, простая задача, но… Нас ждёт много удивительных вещей :-)Изначально мой план был такой:Сделать бота в Телеграме.Дать боту ролевую модель и базовый функционал для дальнейшего простого расширения возможностей (по сути, …
Кейс из жизни: мини-приложения, анимированные обложки, внешние команды — и одна на вид «валидная» анимация, которая кладет все приложение. Рассказываем, как мы научились воспринимать Lottie-файлы не как медиа, а как исполняемый код — и почему это улучшило стабильность всей системы.Проект: мини-приложения внутри большой экосистемыМы работаем над платформой для размещения, управления и общего менеджмента мини-приложениями — небольших встроенных приложений, создаваемых внешними разработчиками-энту…
Эти навыки не бесполезны в принципе — но для стажеров и джунов, и уж тем более не для тех, кто еще не работает, эти навыки избыточны и не помогут ни устроиться, ни повысить ценность. Оцениваем по двум критериям: польза на работе и спрос на собеседованиях.1. Unit-тестыПольза на работе: ⭐☆☆☆☆ (1/5)В большинстве проектов unit-тесты либо отсутствуют, либо пишутся «для галочки».Для реально полезных тестов нужно знать тонны теории (граничные случаи, mock-объекты), но джунам это почти не пригодится.ИИ…
Наши кодовые базы растут, и вынос кода в npm-пакеты — один из самых простых и рабочих способов держать этот рост под контролем. Фронтендеры уже освоились со сборкой приложений — мы минифицируем и бандлим код для ускорения загрузки, подключаем полифиллы и транспилируем для поддержки старых браузеров. Есть соблазн для библиотек просто делать все то же самое — но это ошибка, потому что у библиотек совсем другие ограничения. Вот мой топ (нефункциональных) ценностей библиотеки:Работает на всех целев…
Привет, Хабаровчане! Во второй статье, хочу поделиться наблюдениями из документации V8 и немного нудной информацией для многих :)Что есть Объект? Казалось бы, объект в JS — это просто набор ключ-значений. Но для движка V8 это структура с жёсткой схемой: каждый объект имеет Hidden Class ( или Map), который описывает:Какие свойства есть у объекта;Их порядок;Смещения в памяти для быстрого доступа.Если структура стабильна, JIT компилятор может сделать доступ к свойствам быстрее, чем если бы структ…
Signals против RxJS? Нет, вместе — они сила. Теория, практика и готовый state-manager для Angular 17 и вышеВведениеAngular долгое время ассоциировался с RxJS. Даже слишком: многие разработчики ощущали, что без Observable ничего не работает. Но вот в Angular 17 появляются Signals — синхронная реактивность прямо из коробки. В 17+ — они становятся мейнстримом. Возникает вопрос: а что делать с RxJS? Выбрасывать?Signals и RxJS — не конкуренты, а два мощных инструмента для решения разных задач. И есл…
После пяти лет работы JavaScript-разработчиком, занимаясь как фронтендом, так и бэкендом, я провел последний год, осваивая Go для серверной разработки. За это время мне пришлось переосмыслить многие вещи. Различия в синтаксисе, базовых принципах, подходах к организации кода и, конечно, в средах выполнения — все это довольно сильно влияет не только на производительность приложения, но и на эффективность разработчика.Интерес к Go в JavaScript-сообществе тоже заметно вырос. Особенно после новости …
Я потратил 6 часов на этот эксперимент и спешу обрадовать, новая модель от chatgpt не готова заменить программистов.результаты теста Я попросил ChatGPT создать 100 различных версий игры Battle City но на html + css + Js. Даже с платной подпиской весь эксперимент занял у меня почти 6 часов — на генерацию одной игры уходило примерно 3 минуты. В результате хотя бы один полноценный уровень (без появления бонусов) нейросеть осилила меньше чем в половине случаев. А простейший звук появлялся в менее ч…