Category : javascript

javascript
Schema-driven ORM для TypeScript: @cleverbrush/knex-schema и @cleverbrush/orm

Статья о том, как превратить TypeScript-схему в единый источник истины для работы с базой данных: из одного определения получить типы строк, имена таблиц и колонок, типизированные запросы, связи, миграции и unit-of-work поверх Knex.Все примеры ниже взяты из xpenser — open-source приложения для учёта личных доходов и расходов. Это одновременно полезное приложение, которым я сам пользуюсь, и референсная реализация Cleverbrush Framework: контракты, сервер, клиент, формы, auth, observability, Postg…

  • пятница, 12 июня 2026 г. в 00:00:15
javascript
Делаем базу знаний и Телеграм бота психотерапевта, с использованием LLM Wiki и CF Workers вот такой…

В предыдущей статье разбирали, как собрать структурированную wiki из markdown-файлов на Astro/Starlight — на примере личного карьерного менеджера. В комментариях появились закономерные вопросы: «почему именно так?», «что за странный выбор стека?», «а для чего ещё это можно использовать, кроме как для себя?».Хороший вопрос. Эта статья отвечает на него делом.Та же механика — wiki из markdown — но теперь с Telegram-ботом поверх. Бот умеет искать по базе знаний и отвечать с цитатами и ссылками на и…

  • пятница, 12 июня 2026 г. в 00:00:13
javascript
Назад в будущее UI-kit: как мы перевели живую библиотеку на дизайн-токены и ничего не сломали

UI-kit, которым пользуются несколько продуктовых команд, нельзя просто отправить в будущее и переписать под новый дизайн. За ним тянется прошлое: старые CSS-переменные, публичный API, кастомизации у потребителей и независимые релизные циклы. При этом бренд уже меняется, дизайнеры приносят новую палитру, типографику, motion, скругления и тёмную тему, и всё это нужно аккуратно посадить на компоненты, которые продолжают работать в продакшене.Привет, Хабр! Меня зовут Амир, я Senior Vue.js Frontend …

  • пятница, 12 июня 2026 г. в 00:00:12
javascript
TypeScript vs JavaScript в 2026: почему TS обогнал JS и что это значит для разработчиков

В августе 2025 года TypeScript впервые возглавил рейтинг GitHub по числу активных контрибьюторов, обойдя Python и JavaScript. Изменился подход к написанию кода: типы стали машиночитаемыми контрактами, фреймворки сделали TS вариантом по умолчанию, а ИИ-инструменты используют типы как ограничения. Разбираемся, какие цифры подтверждают тренд, где он создаёт издержки и как выбирать стек в 2026 году с учётом изменений рынка.Дмитрий БронскихТимлид в ООО «Ярус». Помог с подготовкой статьи.Смена паради…

  • четверг, 11 июня 2026 г. в 00:00:16
javascript
Использование Blob API для обработки файлов, их загрузки и создания клиентских приложений без утече…

Современные фронтенд-приложения постоянно взаимодействуют с файлами.Пользователи загружают аватары, перетаскивают видео в дашборды, экспортируют CSV-отчеты, просматривают PDF-файлы, скачивают сгенерированные конфигурационные файлы и работают с медиаконтентом прямо в браузере. На первый взгляд все это выглядит довольно просто: поле загрузки файла, элемент предпросмотра, возможно, кнопка скачивания — и задача решена.Но именно здесь начинаются настоящие проблемы.Большие файлы “замораживают” вкладк…

  • четверг, 11 июня 2026 г. в 00:00:14
javascript
Шпаргалка BA: как не потеряться на встрече со стейкхолдером и командой

Когда я первый раз пришёл на встречу со стейкхолдером в роли аналитика, я честно не знал с чего начать. Вопросы в голове были — но не в том порядке. Половину забыл по ходу. Вышел с ощущением что поговорили хорошо, но непонятно о чём.Я поискал готовые шаблоны. Нашёл Excel-таблицы, PDF-чеклисты и десятки статей с советами. Ни одно из этого не открывалось быстро прямо на встрече и не помогало думать в реальном времени.Поэтому я сделал BA Toolkit — набор интерактивных инструментов для структурирова…

  • четверг, 11 июня 2026 г. в 00:00:12
javascript
Mini Bucket 3.6.4: теперь с плагинами — двери для разработки открыты

Данное изображение продукт генерации ии и моих скринов.Как мы превратили панель управления NAS в платформу для расширений, зачем туда Log Manager и для чего Plugin Template.Сегодня на Хабре уже была похожая статья, но модератор её снял. Поэтому те, кто её уже видел, могут не тратить время на чтение этой версии. Вместо введенияВ прошлой статье (Mini Bucket 3.6.2: от беты к релизу) я показал, как панель доросла до стабильного состояния: закрыли дыры, разнесли базы, добавили HTTPS.Но панель как па…

  • четверг, 11 июня 2026 г. в 00:00:11
javascript
Медицинское обучение через игру: симулятор лечения сифилиса и ВИЧ

В мире — миллионы заражений сифилисом и ВИЧ, и цифра растёт. Но мой пост не об этом.Я решил техническую задачу: как сделать медицинский образовательный инструмент, который работает офлайн, не требует бэкенда и не собирает данные пользователей, используя веб‑технологии JS. Ведь в медицине приватность — это требование.Код открыт, лендинг и игры доступны по ссылке.При разработке я ориентировался на:1. Анонимность — без сервера, без регистрации и сбора данных.2. Мультиязычность. Без перезагрузки ст…

  • четверг, 11 июня 2026 г. в 00:00:10
javascript
Я устал от Electron, Tauri и Neutralino — и случайно сделал… лучше?

Всё началось с, казалось бы, простого желанияМне хотелось написать небольшое приложение. Я работаю fullstack‑разработчиком, поэтому для разработки я решил использовать web‑технологии. Мне хотелось, чтобы я мог написать код один раз, и чтобы он запускался на всех моих устройствах (windows, linux, android).Самое главное: написать приложение быстроМне хотелось использовать готовые инструменты. Я был уверен, что их мне будет достаточно. Посмотрел на существующие решения: electron, neutralinojs, apa…

  • четверг, 11 июня 2026 г. в 00:00:07