Category : javascript

javascript
Заброшенные репозитории на GitHub. Какие языки теряют разработчиков и когда код перестают обновлять

Автор: Иван Богданов, Технический писатель ВведениеВ прошлой статье на основе данных GitHub мы провели анализ популярности языков программирования по числу новых репозиториев поквартально. Получилось любопытно. JavaScript впереди, TypeScript растет втрое, Ruby проседает. Тот рейтинг отвечал на вопрос, где сейчас создают новое. За кадром осталось всё остальное, а именно что происходит со старыми проектами, живут они или тихо превращаются в цифровую археологию. Инструменты разработчика на вашем с…

  • суббота, 30 мая 2026 г. в 00:00:12
javascript
Редактор, в котором главный — терминал: как я делал лёгкую IDE под эпоху ИИ-агентов

Последний год я почти перестал печатать код руками. Чаще просто диктую задачу агенту в терминале - Claude Code, Codex, Qwen, что под рукой. И в какой-то момент посмотрел на свой здоровенный IDE и понял: он превратился в дорогую рамку вокруг одного-единственного окна - терминала. Все эти панели, индексаторы, плагины придумывались под сценарий “человек сам пишет проект”. А я уже не пишу. Я направляю и проверяю.Голый терминал, даже в tmux, тоже не спасает, когда проектов несколько. Не видно, какой…

  • суббота, 30 мая 2026 г. в 00:00:11
javascript
Три мажора, две ошибки: проектирование API приостановки для интерпретатора машины Тьюринга

За последние две недели я выкатил подряд четыре ломающих мажорных релиза @turing-machine-js/machine — v3, v4, v5, v6 — и самое интересное здесь было не в какой-то одной фиче. Интересно было смотреть, как один и тот же участок API (хук приостановки/брейкпоинта в управляющем цикле) переделывался дважды за три версии, и каждый раз потому, что в прошлый раз там выпирало то, что выпирать не должно.Этот пост — разбор полётов. Если вы проектируете API приостановки/шага/брейкпоинта для интерпретатора н…

  • суббота, 30 мая 2026 г. в 00:00:10
javascript
Диванный инвестор #3. +88% годовых на бектесте

Если вы, как и я, пробовали инвестировать - покупали и продавали ценные бумаги по наитию или рандому, то вам сюда. Тут мы начнем выстраивать наши хаотические метания в систему для генерирования денег.Я ни разу не профессиональный инвестор и экономического образования не получал, но стараюсь выстроить стратегию битвы с биржевым рынком для получения прибыли.Всем привет. Цикл статей был переименован, вы могли меня раньше читать под названием “Инвестиционные боты (почти) с нуля”. Статьи были скучно…

  • суббота, 30 мая 2026 г. в 00:00:08
javascript
Я перевёл 200K строк JS на TS с Claude Code. Что прошло, что сломалось

За 6 недель Claude Code преобразовал 200K строк JS в strict TypeScript. Не переименование файлов, а настоящая типизация: интерфейсы, строгие null-чеки, перехваченные баги в проде. Тут разбор реального кейса с цифрами, ошибками агента и главным вопросом: стоит ли вам это повторять?1. Зачем мигрировалиКодовой базе было 6 лет. Node.js-монолит на 200K строк, который обслуживал 50K DAU. Восемь разработчиков за эти годы оставили след: файлы с JSDoc, файлы без него, 200+ комментариев // @ts-ignore от …

  • пятница, 29 мая 2026 г. в 00:00:17
javascript
Линии влияния в многопролётных шарнирных балках: бесплатный веб-инструмент для проверки расчётов

О чём эта статьяЯ занимаюсь разработкой ПО для строительной механики. В процессе работы над одним из проектов возникла потребность в простом инструменте для построения линий влияния в многопролётных шарнирных балках. Готового решения под рукой не оказалось, и я написал свой веб-модуль.Результатом захотелось поделиться с сообществом — вдруг кому-то тоже пригодится. Под катом — описание того, что получилось, как это работает, и где может быть полезно.Что такое линии влияния и зачем они нужныДля т…

  • пятница, 29 мая 2026 г. в 00:00:15
javascript
Как я 8 дней ловил утечку памяти в Nuxt 3 SSR, и несколько раз думал, что починил

Всем привет. Я занимаюсь фронтендом в небольшой команде сервиса бронирования отелей. Расскажу, как 8 дней ловил утечку памяти на проде, несколько раз думал, что починил, и каждый раз ошибался. Последний фикс был не в нашем коде, а в патче Vue, который через неделю апстрим откатил как регрессионный. В результате мы остались на одной патч-версии без утечки; обычный minor/patch update теперь для нас не безопасен без проверки heap-снапшотами.Наш стек: Nuxt 3.18 + Vue 3.5.x + TypeScript, SSR, Pinia,…

  • пятница, 29 мая 2026 г. в 00:00:13
javascript
Современный Angular: Заменяем жизненные циклы на сигналы

Если вы пишете на Angular, то наверняка часто используете хуки жизненного цикла вроде ngOnChanges, ngOnInit и ngOnDestroy. С появлением сигналов и концепции Zoneless (когда Zone.js уже не обязателен) у нас появились более элегантные и читаемые альтернативы.Давайте разберем, как современный подход позволяет упростить код и избавиться от "шумных" методов жизненного цикла.1. Вместо ngOnChanges — computed()Было: классический подход с ngOnChanges @Component({...}) export class PricingCompon…

  • пятница, 29 мая 2026 г. в 00:00:11
javascript
Структурированное логирование и трейсинг в Node.js: @cleverbrush/log и @cleverbrush/otel

Статья о том, как получить наблюдаемость (observability) в приложении с минимальным кодом, а бонусом получить структурированные логи с типизированными шаблонами, автоматическую корреляцию со спанами OpenTelemetry, всё это с помощью набора библиотек, которые я называю CleverBrush Framework.Все примеры ниже взяты из xpenser — open-source приложения для учёта личных доходов и расходов. С одной стороны, это демонстратор возможностей Cleverbrush Framework, который я сделал для проверки на практике …

  • пятница, 29 мая 2026 г. в 00:00:09