Большой JSON-ответ может задержать не только один запрос, но и остальные запросы к Node.js.
JSON.stringify выполняется синхронно. Пока большой объект превращается в строку, event loop занят, а async/await не даёт возможности переключиться на другую задачу.
Разбираемся, почему размер JSON влияет на latency и что делать с тяжёлой сериализацией.
#NodeJS #JavaScript #js #JSON #JSONstringify #Backend #EventLoop #Performance #WebDev #Программирование
Как GPT-6 Astra справляется с сотнями тысяч токенов контекста?
В задачах на поиск информации Astra в отличие от Sol почти не теряет качество с ростом контекста: на 256–512 тысячах токенов деградации практически нет, а при увеличении контекста от 512 тысяч до миллиона снижение составляет около 4%. У Sol эта деградация значительно больше.
Но когда GPT Astra нужно не просто найти информацию, а связать несколько фактов и сделать вывод, деградация контекста становится заметнее, при этом независимо от reasoning effort.
Но в любом случае Astra позволяет эффективнее работать с большим контекстом, чем более старые модели.
А полный обзор GPT-6 Astra смотри по ссылке под шортсом!
#gpt #chatgpt #gptastra #gpt6 #gptsol #aimodels #llm #openai #aiagents #ContextWindow #aicontext
useMemo не делает компонент быстрее автоматически. React всё равно проверяет зависимости, а при их изменении пересчитывает значение.
Если само вычисление дешёвое, мемоизация может добавить больше работы, чем сэкономить. Разбираемся, когда useMemo действительно полезен, а когда от него только лишний код.
#React #useMemo #JavaScript #js #Frontend #WebDev #reactjs
GPT-6 Astra заметно лучше справляется с дизайном и визуальными задачами, чем GPT Sol, хотя до Claude Fable ей пока немного не хватает.
В наших тестах Astra иногда отходила от исходного визуального стиля проекта, тогда как Fable точнее его сохраняла. Зато у Astra есть отдельное преимущество — возможность генерировать изображения через GPT Image и сразу использовать их в работе над интерфейсом.
В целом модели постепенно становятся лучше в визуальных задачах, а характерного «нейрослопа» в интерфейсах становится всё меньше.
Полный обзор GPT-6 Astra — по ссылке под шортсом!
#gpt #chatgpt #gptastra #gpt6 #claudefable #claude #aimodels #llm #openai #aiagents #aidesign
Как одна зависшая транзакция может в итоге затормозить весь сервис?
Если транзакция удерживает блокировку, другие запросы к тем же данным начинают ждать. При этом каждый из них продолжает занимать соединение из пула. Когда свободных подключений не остаётся, ждать приходится даже запросам, которые вообще не связаны с исходной блокировкой.
Разбираемся, как блокировки приводят к исчерпанию connection pool и почему важно контролировать длительность транзакций и время ожидания.
#Database #PostgreSQL #postgres #ConnectionPool #SQL #Backend #Performance #SystemDesign #database
Подход к скиллам для продвинутых моделей вроде GPT-6 Astra и Claude Fable меняется: чем сильнее модель, тем меньше деталей ей нужно прописывать заранее.
Необязательно объяснять структуру проекта, правила реэкспорта через index.ts и другие вещи, которые модель может сама определить по существующему коду и стилю проекта.
То же касается жёстких циклов и инструкций вроде обязательного запуска тестов после каждого шага. Astra умеет сама возвращаться к необходимым действиям, а лишние указания могут только ограничивать её работу и приводить к дополнительному расходу токенов.
Полный обзор GPT-6 Astra — по ссылке под шортсом!
#gpt #chatgpt #gptastra #gpt6 #claudefable #claude #aimodels #llm #openai #aiagents #aiskills
Почему после git rebase у коммитов меняются хэши, даже если сами изменения остались прежними?
Разбираемся, как Git заново применяет изменения поверх новой базы, почему при этом создаются новые коммиты и откуда появляются конфликты.
А также — почему rebase удобно использовать в локальной ветке, но опасно без необходимости переписывать уже опубликованную историю.
#Git #GitRebase #Rebase #VersionControl #Programming #Development #gitcommit #commit
В GPT-6 Astra работу можно делегировать субагентам — достаточно прямо попросить модель использовать их для задачи.
Параллельная работа может заметно ускорить выполнение сложных задач, но её важно правильно организовать: разделять зоны ответственности, не отдавать двум агентам один и тот же файл и в конце сводить результаты их работы вместе.
Важно учитывать и стоимость: параллельные задачи будет выполнять та же GPT-6 Astra, только в роли субагентов. Поэтому токены здесь не экономятся — наоборот, использование нескольких субагентов увеличивает расход и может сделать задачу заметно дороже.
Полный обзор GPT-6 Astra — по ссылке под шортсом!
#gpt #chatgpt #gptastra #gpt6 #subagents #aimodels #llm #openai #aiagents
Remix 3 заметно отличается от предыдущих версий фреймворка. Теперь он строится вокруг стандартных Web APIs, поставляется одной зависимостью remix и получил собственный UI runtime вместо React.
Но зачем нужен ещё один full-stack JavaScript-фреймворк, когда уже есть Next.js? И что Remix 3 предлагает такого, ради чего разработчику вообще стоит обратить на него внимание?
Разбираемся в подходе Remix 3 и сравниваем его с привычной экосистемой Next.js.
Больше релизов — в полном выпуске по ссылке под шортсом!
#Remix #Remix #NextJS #JavaScript #TypeScript #FullStack #react #reactrouter #js #ts
Какой reasoning effort стоит выбирать в GPT-6 Astra?
Тесты Artificial Analysis показывают, что увеличение reasoning effort повышает не только возможности модели, но и стоимость задачи — причём прирост Intelligence Index на максимальных уровнях уже не такой заметный.
Разбираемся, чем отличаются уровни от low до max и почему максимальное усилие не всегда оказывается оптимальным выбором.
Полный обзор GPT-6 Astra — по ссылке под шортсом!
#gpt #chatgpt #gptastra #gpt6 #effort #ReasoningEffort #ArtificialAnalysis #aimodels #llm #openai
Solid 2.0 добрался до стадии Release Candidate — и это большое обновление реактивной модели фреймворка.
В новой версии переработали работу с асинхронными данными: async теперь становится частью самого реактивного графа. В core появились actions и optimistic state, изменился подход к stores и работе со списками, а реактивное ядро было существенно переработано.
Также Solid 2.0 получил новый компилятор на Rust/OXC, а SolidStart постепенно уступает место новому подходу start mode.
Больше релизов — в полном выпуске по ссылке под шортсом!
#SolidJS #Solid #JavaScript #TypeScript #Reactivity #Frontend #oxc #vite #rust #js #ts #framework
async def в FastAPI не делает код автоматически быстрее и не отправляет его в отдельный поток.
Разбираемся, когда await действительно освобождает event loop, почему обычный requests внутри async-эндпоинта может заблокировать другие задачи и когда в FastAPI лучше использовать обычный def.
А заодно — почему async def не решает проблему CPU-bound вычислений.
#FastAPI #Python #AsyncIO #AsyncAwait #asyncdef #Backend #PythonDevelopment #WebDev
Formisch 1.0 вышел в стабильный релиз и теперь официально готов к использованию в продакшене.
Formisch — schema-first библиотека для работы с формами. Схема Valibot используется одновременно для типизации и валидации, а общая логика не привязана к конкретному UI-фреймворку.
Библиотека поддерживает сразу восемь фреймворков: React, Vue, Angular, Svelte, Solid, Qwik, Preact и React Native. В первой стабильной версии также появились инструменты, которые упрощают работу с документацией Formisch через AI-агентов.
Больше релизов — в полном выпуске по ссылке под шортсом!
#devnews #Formisch #Valibot #React #Vue #Angular #Svelte #frontend #webforms
Почему Docker-контейнер может получить Out of memory, хотя на хосте ещё достаточно свободной RAM?
Разбираемся, как memory limit контейнера работает через cgroup и почему доступная память хоста не спасает процесс после достижения этого ограничения.
А в Docker Desktop и WSL появляется ещё один уровень — лимит памяти виртуальной машины. Показываем, где искать ограничение и что проверить через docker inspect и docker stats.
#Docker #oom #oomkilled #OutOfMemory #Linux #WSL #DockerDesktop #DevOps #Backend #ram
GPUIX позволяет создавать нативные приложения на React и TypeScript без Electron и WebView.
Проект связывает React с GPUI — GPU-фреймворком, который используется в редакторе Zed. Можно продолжать работать с привычными JSX, useState и React-компонентами, а интерфейс при этом рендерится через GPUI с использованием Metal, DirectX или Vulkan.
GPUIX поддерживает macOS, Windows и Linux, а готовое приложение можно собрать в самостоятельный бинарник, которому не нужны установленные Bun или Node.js.
Больше релизов — в полном выпуске по ссылке под шортсом!
#react #reactjs #gpu #gpui #gpuix #ts #typescript #nodejs #zed #desktop #desktopdev #nativeapps
Почему в React новая задача может открыть ту же форму со старым локальным state?
Разбираемся, как React связывает state с позицией компонента в дереве и почему смена пропсов сама по себе не создаёт новый компонент.
Показываем, как key меняет идентичность компонента, когда это удобно для сброса формы или черновика и почему случайный key может привести к постоянным пересозданиям.
#React #JavaScript #js #Frontend #reactState #ReactKey #WebDev #reactjs
Вышел Go 1.27 с обновлениями языка, runtime, инструментов и стандартной библиотеки.
Одно из главных изменений — поддержка generic methods: теперь методы могут объявлять собственные параметры типов. В стандартной библиотеке появился новый encoding/json/v2 с более строгими настройками и ускоренным декодированием JSON, а также пакет uuid.
В runtime добавили профиль goroutineleak для поиска заблокированных goroutine, которые уже не смогут продолжить выполнение. Поработали и над производительностью: небольшие аллокации памяти могут выполняться до 30% быстрее.
Больше релизов — в полном выпуске по ссылке под шортсом!
#devnews #go #golang #backend #generics #goroutines #json #backenddev
Почему запрос на двадцать строк может становиться всё медленнее с каждой следующей страницей?
При OFFSET 100000 PostgreSQL не перепрыгивает сразу к нужным записям. Предыдущие строки всё равно приходится пройти и отбросить, поэтому стоимость запроса растёт вместе с глубиной пагинации.
Разбираемся, как работает OFFSET и почему для длинных списков и лент keyset pagination часто подходит лучше.
#PostgreSQL #SQL #postgres #Database #Pagination #KeysetPagination #Backend #Performance
Вышла Sugar High 2.0 — новая версия легковесной библиотеки для подсветки синтаксиса кода.
Sugar High позволяет добавлять syntax highlighting без тяжёлых решений и теперь поддерживает 25 встроенных языков. В версии 2.0 библиотека превратилась в более гибкий набор инструментов: появился composable core API, отдельные компоненты для React, интеграция с Remark и больше возможностей для настройки отображения токенов и строк.
При этом библиотека остаётся компактной: полный пакет занимает около 8,6 КБ в gzip, а core — около 1,7 КБ.
Больше релизов — в полном выпуске по ссылке под шортсом!
#sugarhigh #frontend #SyntaxHighlighting #codeeditor #js #javascript #jsx #react #vue #webdev
Promise.all запускает несколько задач параллельно, но сам по себе не ограничивает их количество.
Если передать ему большой список запросов к базе, можно мгновенно создать сотни или тысячи промисов. Часть запросов встанет в очередь пула, а база получит лишнюю конкуренцию за соединения и ресурсы.
Разбираемся, почему Promise.all не является лимитером параллелизма и как контролировать нагрузку с помощью чанков или p-limit.
#PromiseAll #JavaScript #NodeJS #Database #Concurrency #Backend #Performance #Async
