Замутить первую транзакцию в Ethereum на TypeScript — это 20 строк кода и 10 минут твоего времени. Автор по традиции наступил на три классические грабли, в которые сам же и вляпался, и которые стабильно собирают его менти. Если разобрать их заранее — сэкономишь себе час жизни в отладчике.
Вся движуха происходит в тестовой сети Sepolia: эфир там не стоит ни гроша, ошибки — не больно, а механика один в один как на проде. Но есть нюанс: тестовый эфир раздают «краники»-фосеты, которые имеют привычку дохнуть в самый неподходящий момент. Поэтому живые собраны в шпаргалке в репозитории учебного dApp «Копилка», который автор ведёт в открытую в рамках цикла «Web3 для JS-разработчиков».
Это пятая часть серии. Дальше по плану — Solidity. Читать далее
👉 Node.JS [ru]
Вся движуха происходит в тестовой сети Sepolia: эфир там не стоит ни гроша, ошибки — не больно, а механика один в один как на проде. Но есть нюанс: тестовый эфир раздают «краники»-фосеты, которые имеют привычку дохнуть в самый неподходящий момент. Поэтому живые собраны в шпаргалке в репозитории учебного dApp «Копилка», который автор ведёт в открытую в рамках цикла «Web3 для JS-разработчиков».
Это пятая часть серии. Дальше по плану — Solidity. Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Как Omit {T, K} растворил типы, или что такое дистрибутивность типов в TypeScript
Представьте: выкатываете фичу, а бэкендер спрашивает, почему вместо событий — пустой объект. TypeScript всё типизирует, но спойлер: такое могло случиться. Денис Платонов, старший разработчик интерфейсов в Телемосте, объясняет, как безобидный Omit превратил аккуратный тип событий в пустой объект, разбирает дистрибутивность типов и делится, чему научил этот кейс.
Читать далее
👉 Node.JS [ru]
Представьте: выкатываете фичу, а бэкендер спрашивает, почему вместо событий — пустой объект. TypeScript всё типизирует, но спойлер: такое могло случиться. Денис Платонов, старший разработчик интерфейсов в Телемосте, объясняет, как безобидный Omit превратил аккуратный тип событий в пустой объект, разбирает дистрибутивность типов и делится, чему научил этот кейс.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Сначала думал: Android пишет моторы хуже iOS. Потом передумал. А в итоге выяснилось — я был прав, только не в том смысле.
С телефонов собрали полторы тысячи записей работы моторов. И вот сюрприз: ни бренд, ни ценник не виноваты. Решает исключительно то, чей DSP обрабатывает браузерный запрос. Та же правка на iOS вывернулась наоборот.
Источник
👉 Node.JS [ru]
С телефонов собрали полторы тысячи записей работы моторов. И вот сюрприз: ни бренд, ни ценник не виноваты. Решает исключительно то, чей DSP обрабатывает браузерный запрос. Та же правка на iOS вывернулась наоборот.
Источник
Please open Telegram to view this post
VIEW IN TELEGRAM
React Native в 2026 году: New Architecture, нативный код и AI в реальном проекте
Формула «один код для iOS и Android» больше не работает. Современное приложение на React Native — это общий продуктовый слой на TypeScript, нативный интерфейс, Hermes, Fabric, JSI, фоновые процессы, platform-specific код и решения о том, где выполнять каждую задачу.
Авторы делятся опытом Synchra.24 — приложения для линейных и распределённых команд. В проекте больше 1000 TS/TSX-файлов и свыше 100 экранов, а рядом живут Kotlin и Swift: геопозиция, push-уведомления, биометрия, системные виджеты и работа с медиа.
Это разбор того, чем на практике стала разработка на React Native к 2026 году и какую часть этой работы можно поручить нейросетям. Читать далее
👉 Node.JS [ru]
Формула «один код для iOS и Android» больше не работает. Современное приложение на React Native — это общий продуктовый слой на TypeScript, нативный интерфейс, Hermes, Fabric, JSI, фоновые процессы, platform-specific код и решения о том, где выполнять каждую задачу.
Авторы делятся опытом Synchra.24 — приложения для линейных и распределённых команд. В проекте больше 1000 TS/TSX-файлов и свыше 100 экранов, а рядом живут Kotlin и Swift: геопозиция, push-уведомления, биометрия, системные виджеты и работа с медиа.
Это разбор того, чем на практике стала разработка на React Native к 2026 году и какую часть этой работы можно поручить нейросетям. Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Shadow AI — почему инженеры скрывают, что пользуются ИИ
Слушал подкаст Code of Leadership про AI-assisted engineering — полтора часа о том, как правильно встроить ИИ в разработку: копайлоты, MCP, метрики, место ИИ в SDLC. Разговор по делу, но зацепил термин
Автор ходит с этим термином уже неделю. Подробнее — статья на Хабре.
👉 Node.JS [ru]
Слушал подкаст Code of Leadership про AI-assisted engineering — полтора часа о том, как правильно встроить ИИ в разработку: копайлоты, MCP, метрики, место ИИ в SDLC. Разговор по делу, но зацепил термин
shadow AI, который проскочил сноской в ряду ИБ-рисков между утечками и комплаенсом.Автор ходит с этим термином уже неделю. Подробнее — статья на Хабре.
Please open Telegram to view this post
VIEW IN TELEGRAM
Пагинация. Засады в тестировании списков и курсоров
Беда с пагинацией не в одном запросе к базе. Тут вся цепочка хрупкая: бэкенд задает порядок и границы страниц, фронт таскает курсор и собирает ответы в кучу, а юзер тем временем меняет фильтры, долбит повторные запросы и возвращается на экран. Дальше — шесть ситуаций, где локально всё зелёное, а список в бою работает криво.
Проверить пагинацию
👉 Node.JS [ru]
Беда с пагинацией не в одном запросе к базе. Тут вся цепочка хрупкая: бэкенд задает порядок и границы страниц, фронт таскает курсор и собирает ответы в кучу, а юзер тем временем меняет фильтры, долбит повторные запросы и возвращается на экран. Дальше — шесть ситуаций, где локально всё зелёное, а список в бою работает криво.
Проверить пагинацию
Please open Telegram to view this post
VIEW IN TELEGRAM
5ⁿ → 4n+1: сколько на самом деле дают редукции в explicit-state model checking
Проверка модели полным перебором упирается в комбинаторный взрыв, и практически вся инженерия в этой области — не про сам поиск, а про то, как его избежать. Две классические техники — редукция по симметрии и редукция частичных порядков — описаны в литературе десятилетиями, но их эффект обычно приводится либо асимптотически, либо на одном показательном примере.
В статье — измерение на работающей реализации: во сколько раз каждая редукция сокращает пространство состояний, сколько она стоит в пересчёте на состояние, на каких спецификациях она не даёт ничего, и — главное — экспериментальная проверка того, что четыре условия ample‑множества действительно необходимы, а не унаследованы из статьи без разбора.
Три результата, ради которых стоит читать дальше: Читать далее
👉 Node.JS [ru]
Проверка модели полным перебором упирается в комбинаторный взрыв, и практически вся инженерия в этой области — не про сам поиск, а про то, как его избежать. Две классические техники — редукция по симметрии и редукция частичных порядков — описаны в литературе десятилетиями, но их эффект обычно приводится либо асимптотически, либо на одном показательном примере.
В статье — измерение на работающей реализации: во сколько раз каждая редукция сокращает пространство состояний, сколько она стоит в пересчёте на состояние, на каких спецификациях она не даёт ничего, и — главное — экспериментальная проверка того, что четыре условия ample‑множества действительно необходимы, а не унаследованы из статьи без разбора.
Три результата, ради которых стоит читать дальше: Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
В прошлой статье автор разбирал образец вредоносного ПО ChainVeil из источника, не зафиксированного в публичных исследованиях. Теперь первым сигналом стал собственный supply chain‑мониторинг, сообщивший о новом npm‑пакете
Дальше автор пошёл от метаданных и кода к инфраструктуре. Расследование ушло далеко за пределы одного package.json: от подозрительной зависимости — ко второму этапу размером около 30 тысяч строк, а затем к нескольким месяцам активности, связанным пакетам, нескольким npm‑аккаунтам и уже известному кластеру.
Как именно строился этот путь — в статье: Погрузиться в расследование
👉 Node.JS [ru]
plugin-react-vite — на первый взгляд похожем на очередной тайпсквоттинг.Дальше автор пошёл от метаданных и кода к инфраструктуре. Расследование ушло далеко за пределы одного package.json: от подозрительной зависимости — ко второму этапу размером около 30 тысяч строк, а затем к нескольким месяцам активности, связанным пакетам, нескольким npm‑аккаунтам и уже известному кластеру.
Как именно строился этот путь — в статье: Погрузиться в расследование
Please open Telegram to view this post
VIEW IN TELEGRAM
Как мы переводили страницу объявления на Beduin в мобильной версии Авито
Егор Савincев, Frontend Platform Engineer в Авито, рассказывает о переводе страницы объявления на Beduin — Backend-Driven UI. В Beduin бэкенд присылает не только данные, но и сами компоненты в специальном виде, а на клиенте рендерер принимает JSON и отрисовывает.
В статье — зачем переписывать работающую страницу, как эволюционировала архитектура и с какими компромиссами пришлось столкнуться. Спойлер: всё.
Читать далее
👉 Node.JS [ru]
Егор Савincев, Frontend Platform Engineer в Авито, рассказывает о переводе страницы объявления на Beduin — Backend-Driven UI. В Beduin бэкенд присылает не только данные, но и сами компоненты в специальном виде, а на клиенте рендерер принимает JSON и отрисовывает.
В статье — зачем переписывать работающую страницу, как эволюционировала архитектура и с какими компромиссами пришлось столкнуться. Спойлер: всё.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Денис Смирнов из iSpring уже шесть лет в этой конторе и теперь рассказывает, как в их платформе для онлайн-обучения выкручиваются с датами и временем. Фишка в том, что всё настраивается гибко: часовые пояса задаются на уровне аккаунта, а в некоторых модулях можно переопределить их для конкретного юзера.
Читать далее
👉 Node.JS [ru]
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Как неожиданно получился кроссплатформенный облачный сервис для Excel
Автор обитает в офисе, а его главный рабочий инструмент — Excel. Эту софтину он считает лучшим софтом Microsoft. Таблицы для него — гениальная штуковина, хотя он признает: многие готовы называть их злом. Поэтому он и предлагает разобраться по фактам.
Читать далее
👉 Node.JS [ru]
Автор обитает в офисе, а его главный рабочий инструмент — Excel. Эту софтину он считает лучшим софтом Microsoft. Таблицы для него — гениальная штуковина, хотя он признает: многие готовы называть их злом. Поэтому он и предлагает разобраться по фактам.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Все пять safety-свойств Raft прошли. Две реплики разошлись
Реализация Raft на TypeScript под сидированной симуляцией: каждый тик, каждая задержка сообщения и каждое падение узла берутся из сида. На двадцать пятом прогоне две реплики применили разные значения — при том, что правила алгоритма выполнялись все до одного.
Интересен не сам баг, а то, какая проверка его поймала. И вопрос: откуда я знаю, что остальные проверки вообще на что-то смотрят?
Читать далее
👉 Node.JS [ru]
Реализация Raft на TypeScript под сидированной симуляцией: каждый тик, каждая задержка сообщения и каждое падение узла берутся из сида. На двадцать пятом прогоне две реплики применили разные значения — при том, что правила алгоритма выполнялись все до одного.
Интересен не сам баг, а то, какая проверка его поймала. И вопрос: откуда я знаю, что остальные проверки вообще на что-то смотрят?
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Для Bun 2026-й — год, который перевернул всё. Переписать код на Rust с помощью Claude Fable 5 умудрились за 11 дней. Что ж, это мощнейший аргумент в пользу того, что AI-ускоренная разработка — уже не просто страшилка для сеньоров.
20 августа 2026 выкатили Bun v1.4 — первый продакшн-релиз, где рантайм целиком и полностью работает на Rust. До этого Rust был лишь внутренним инструментом, например, в Claude Code.
Версия 1.3.14 подтянула Bun.Image, HTTP/3 и Global Virtual Store. А вот v1.4 принесла резкий скачок совместимости с Node.js и десятки новых встроенных API.
В декабре 2025 Bun стал частью Anthropic.
Читать далее
👉 Node.JS [ru]
20 августа 2026 выкатили Bun v1.4 — первый продакшн-релиз, где рантайм целиком и полностью работает на Rust. До этого Rust был лишь внутренним инструментом, например, в Claude Code.
Версия 1.3.14 подтянула Bun.Image, HTTP/3 и Global Virtual Store. А вот v1.4 принесла резкий скачок совместимости с Node.js и десятки новых встроенных API.
В декабре 2025 Bun стал частью Anthropic.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Модель не влезает на стол: почему плоскость — плохой нож
Браузерный генератор вывесок: вбиваешь надпись — с тебя STL-модель корпуса под светодиодную ленту. Считается всё прямо у тебя в браузере, наружу файл не улетает. И вот однажды прилетает вопрос: надпись 500 мм, а стол принтера 256×256. И чё делать?
Стандартный ответ — «порежь в слайсере». Только слайсер пилит плоскостью: две половинки со стеклянными срезами теперь фиг совместишь. Клей по гладкому PLA работает на честном слове, при склейке части едут, а на видном месте остаётся тупая ступенька. Так что автор замутил рез прямо внутри генератора — чтобы половинки сразу выходили с замками и собирались без клея. Переделывал три раза, собрал шесть граблей, каждый вечер — в топку.
Читать далее
👉 Node.JS [ru]
Браузерный генератор вывесок: вбиваешь надпись — с тебя STL-модель корпуса под светодиодную ленту. Считается всё прямо у тебя в браузере, наружу файл не улетает. И вот однажды прилетает вопрос: надпись 500 мм, а стол принтера 256×256. И чё делать?
Стандартный ответ — «порежь в слайсере». Только слайсер пилит плоскостью: две половинки со стеклянными срезами теперь фиг совместишь. Клей по гладкому PLA работает на честном слове, при склейке части едут, а на видном месте остаётся тупая ступенька. Так что автор замутил рез прямо внутри генератора — чтобы половинки сразу выходили с замками и собирались без клея. Переделывал три раза, собрал шесть граблей, каждый вечер — в топку.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Playwright для компонентных CAT-тестов в проекте на Angular
Когда говорят «у нас есть тесты на Playwright», обычно представляют классический e2e-сценарий: тест открывает приложение, проходит авторизацию, переходит по нескольким страницам и работает с настоящим или почти настоящим backend. Авторы статьи используют Playwright иначе.
Основной пласт UI-автоматизации в их Angular-проекте — CAT-тесты (component autotest). Они поднимают отдельный компонент или целую бизнес-форму в Storybook, открывают её в настоящем Chromium, выполняют пользовательские действия, управляют HTTP-ответами и сравнивают интерфейс с эталонными снимками. Получается тест, который находится между unit и e2e.
Читать далее
👉 Node.JS [ru]
Когда говорят «у нас есть тесты на Playwright», обычно представляют классический e2e-сценарий: тест открывает приложение, проходит авторизацию, переходит по нескольким страницам и работает с настоящим или почти настоящим backend. Авторы статьи используют Playwright иначе.
Основной пласт UI-автоматизации в их Angular-проекте — CAT-тесты (component autotest). Они поднимают отдельный компонент или целую бизнес-форму в Storybook, открывают её в настоящем Chromium, выполняют пользовательские действия, управляют HTTP-ответами и сравнивают интерфейс с эталонными снимками. Получается тест, который находится между unit и e2e.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Полгода назад автор поддерживал TypeScript SDK для панели администрирования. Рутинные вопросы к панели решались одинаково: написать скрипт на SDK, запустить, прочитать, удалить. Тогда он решил, что модель может вызывать типизированный SDK сама — так появился marzban-mcp.
Но «обернуть SDK в MCP» — лишь 10% работы. Остальные 90% — ответ на вопрос: что можно доверить модели делать с боевой инфраструктурой, и как эту границу выразить в коде.
Читать далее
👉 Node.JS [ru]
Но «обернуть SDK в MCP» — лишь 10% работы. Остальные 90% — ответ на вопрос: что можно доверить модели делать с боевой инфраструктурой, и как эту границу выразить в коде.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
[Перевод] Разбираемся в React Fiber без розовых очков
Когда ты рендеришь React-приложение, хоть раз задумывался, что там реально происходит под капотом? React лепит DOM-дерево и выводит интерфейс на экран. Но как именно он собирает эту конструкцию и шустро обновляет её после изменения состояния?
Статья раскапывает React Fiber — движок согласования (reconciliation), на котором всё держится. Рассказывается, как React собирал DOM до v15, почему ранняя стековая модель тормозила, и каким образом асинхронная архитектура Fiber решила эти боли, начиная с React v16 и вплоть до v19.
Читать далее
👉 Node.JS [ru]
Когда ты рендеришь React-приложение, хоть раз задумывался, что там реально происходит под капотом? React лепит DOM-дерево и выводит интерфейс на экран. Но как именно он собирает эту конструкцию и шустро обновляет её после изменения состояния?
Статья раскапывает React Fiber — движок согласования (reconciliation), на котором всё держится. Рассказывается, как React собирал DOM до v15, почему ранняя стековая модель тормозила, и каким образом асинхронная архитектура Fiber решила эти боли, начиная с React v16 и вплоть до v19.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Дело в том, что он назвал файл «resume_final_FINAL_final2.pdf»
«К сожалению, мы решили продолжить сотрудничество с тем, кто разбирается в системе контроля версий.», - ответили бедняге.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁15🐳1
Мошенники действовали по простой и давно обкатанной схеме. Соискателям просто кидают тестовое, в котором надо найти баги, а доверчивые и отчаявшиеся от рынка труда работяги без страха скачивают репозиторий, запускают код, а с ним вместе и вирус, который уводит данные счетов и криптокошельков.
Please open Telegram to view this post
VIEW IN TELEGRAM