Forwarded from Сохранёнки программиста
OpenAI рассказала, как обслуживает 800 миллионов пользователей ChatGPT на обычном PostgreSQL — больше миллиона запросов в секунду, без кастомных модификаций.
Архитектура: 1 primary инстанс + ~50 read реплик на Azure-инфраструктуре. Latency на p99 — двузначные миллисекунды. Правда, есть нюанс — write-heavy workloads OpenAI вывела в Azure CosmosDB, а в PostgreSQL оставила read-heavy операции.
Что интересно — они не стали городить сложную систему. Вместо этого взяли стандартный PostgreSQL и выжали из него максимум через базовые практики: connection pooling (PgBouncer) для переиспользования соединений вместо создания новых, query optimization для профилирования и переписывания тяжёлых запросов, strategic indexing — индексы ровно там, где нужны.
Для AI-функций используют расширение
База обслуживает данные пользователей, истории разговоров и API-взаимодействия.
➡️ Главный вывод: PostgreSQL действительно масштабируется до экстремальных нагрузок, если правильно настроить. Не нужно сразу бежать за NewSQL или распределёнными системами — сначала стоит выжать всё из проверенных решений.
Инженеры OpenAI подчёркивают: успех в том, что они фокусировались на best practices, а не на переизобретении колеса. Connection pool, индексы, read реплики — это всё есть в документации PostgreSQL. Просто нужно применить грамотно.
Годный пример того, что правильное разделение нагрузки важнее выбора модной БД. PostgreSQL для чтения + CosmosDB для записи — и никакого шардинга одной базы. Простая архитектура побеждает.
📎 OpenAI Blog, Hacker News
@prog_stuff
Архитектура: 1 primary инстанс + ~50 read реплик на Azure-инфраструктуре. Latency на p99 — двузначные миллисекунды. Правда, есть нюанс — write-heavy workloads OpenAI вывела в Azure CosmosDB, а в PostgreSQL оставила read-heavy операции.
Что интересно — они не стали городить сложную систему. Вместо этого взяли стандартный PostgreSQL и выжали из него максимум через базовые практики: connection pooling (PgBouncer) для переиспользования соединений вместо создания новых, query optimization для профилирования и переписывания тяжёлых запросов, strategic indexing — индексы ровно там, где нужны.
Для AI-функций используют расширение
pgvector — хранят и ищут высокоразмерные векторы (embeddings) для семантического поиска в данных ChatGPT.База обслуживает данные пользователей, истории разговоров и API-взаимодействия.
Инженеры OpenAI подчёркивают: успех в том, что они фокусировались на best practices, а не на переизобретении колеса. Connection pool, индексы, read реплики — это всё есть в документации PostgreSQL. Просто нужно применить грамотно.
Годный пример того, что правильное разделение нагрузки важнее выбора модной БД. PostgreSQL для чтения + CosmosDB для записи — и никакого шардинга одной базы. Простая архитектура побеждает.
@prog_stuff
Please open Telegram to view this post
VIEW IN TELEGRAM
❤21👍5
🤖 Краулер Meta накрутил счёт за хостинг в 60 раз
Разработчик обнаружил, что бот Meta (
Все запросы шли на страницы с серверным рендерингом. Кэширование не помогло: краулеры заходят на уникальные URL один раз и уходят. Счёт Vercel вырос с $30 до $1 933.
Фикс — пара строк в robots.txt:
Вопрос к Vercel: почему защита от агрессивного краулинга не включена по умолчанию?
И к Meta: зачем 11 млн запросов — ради превью ссылок?
Вряд ли они мне тут ответят, конечно.
Разработчик обнаружил, что бот Meta (
meta-externalagent) отправил на его сайт 11 млн запросов за месяц, почти половину от трафика реальных пользователей. Googlebot за то же время сделал лишь 1,1 млн.Все запросы шли на страницы с серверным рендерингом. Кэширование не помогло: краулеры заходят на уникальные URL один раз и уходят. Счёт Vercel вырос с $30 до $1 933.
Фикс — пара строк в robots.txt:
User-agent: meta-externalagent
Disallow: /Вопрос к Vercel: почему защита от агрессивного краулинга не включена по умолчанию?
И к Meta: зачем 11 млн запросов — ради превью ссылок?
Вряд ли они мне тут ответят, конечно.
😁9🤯6❤2
Forwarded from Представляешь,
Зачем это всё начал, непонятно...
Прощай, вайб-кодинг: разработчик вернулся к ручному коду после 2 лет с ИИ
Разработчик под ником atmoio два года писал код в основном через нейросети, но в итоге почти полностью отказался от «вайб-кодинга». Оказалось, что на длинной дистанции ИИ-генерация создает больше проблем, чем решает.
Три главных поинта, которые он понял:
1. Писать подробные спецификации для ИИ иногда дольше, чем кодить самому. При этом нейросети плохо адаптируются к изменениям архитектуры в моменте.
2. ИИ пишет код, который логичен локально, но рушит целостность всей системы. В итоге проект превращается в набор разрозненных кусков с дублирующейся логикой.
3. Со временем даже сам ИИ начинает путаться в сгенерированной им кодовой базе. Исправление ошибок съедает всё время, сэкономленное на старте.
Автор оставил ИИ только для мелких вспомогательных задач. Теперь он работает быстрее и увереннее, потому что полностью контролирует архитектуру и логику своего продукта.
Подробности на сайте.
@your_tech
Прощай, вайб-кодинг: разработчик вернулся к ручному коду после 2 лет с ИИ
Разработчик под ником atmoio два года писал код в основном через нейросети, но в итоге почти полностью отказался от «вайб-кодинга». Оказалось, что на длинной дистанции ИИ-генерация создает больше проблем, чем решает.
Три главных поинта, которые он понял:
1. Писать подробные спецификации для ИИ иногда дольше, чем кодить самому. При этом нейросети плохо адаптируются к изменениям архитектуры в моменте.
2. ИИ пишет код, который логичен локально, но рушит целостность всей системы. В итоге проект превращается в набор разрозненных кусков с дублирующейся логикой.
3. Со временем даже сам ИИ начинает путаться в сгенерированной им кодовой базе. Исправление ошибок съедает всё время, сэкономленное на старте.
Автор оставил ИИ только для мелких вспомогательных задач. Теперь он работает быстрее и увереннее, потому что полностью контролирует архитектуру и логику своего продукта.
Подробности на сайте.
@your_tech
👍26😁15
Веб-страница
CSS counters в подходе Atomic CSS CSS Counters — отличный инструмент для работы с кастомными счётчиками. Но применение его не ограничивается только рукописным CSS — его легко и эффективно можноиспользовать в рамках Atomic CSS подхода. Давайте посмотрим,…
CSS Counters в Atomic CSS: вложенность и наследование
Вторая часть цикла про CSS‑счётчики. Здесь мы углубимся в кастомные счётчики по спекам и MDN, узнаем как работает наследование значений, области видимости и посмотрим примеры многоуровневых списков.
Вторая часть цикла про CSS‑счётчики. Здесь мы углубимся в кастомные счётчики по спекам и MDN, узнаем как работает наследование значений, области видимости и посмотрим примеры многоуровневых списков.
👍3❤1
Lodash получил первый security-релиз за несколько лет. Версия 4.17.23 закрывает CVE-2025-13465 — prototype pollution в функциях `_.unset` и `_.omit`
Благодаря этой уязвимости атакующий может удалять методы из
Обновление обратно совместимо — никаких breaking changes. Можно обновляться без опасений.
Проверьте свой проект:
Если версия <= 4.17.22 — обновляйтесь:
Lodash годами был без мейнтейнеров. Тесты не запускались, security-отчёты копились, инфраструктура деградировала. OpenJS Foundation и Sovereign Tech Agency профинансировали реанимацию проекта. Создали Technical Steering Committee, восстановили CI/CD, формализовали процессы. Теперь Lodash может отвечать на уязвимости и выпускать релизы.
В планах Lodash 5.0 — агрессивное удаление API с нативными заменами, меньший размер, отказ от legacy runtime.
Благодаря этой уязвимости атакующий может удалять методы из
Object.prototype, но не перезаписывать их. Затронуты версии 4.0.0–4.17.22 всех пакетов: lodash, lodash-es, lodash-amd. Отдельный пакет lodash.unset патча не получил.Обновление обратно совместимо — никаких breaking changes. Можно обновляться без опасений.
Проверьте свой проект:
npm ls lodash lodash-es lodash-amd
Если версия <= 4.17.22 — обновляйтесь:
npm update lodash
Lodash годами был без мейнтейнеров. Тесты не запускались, security-отчёты копились, инфраструктура деградировала. OpenJS Foundation и Sovereign Tech Agency профинансировали реанимацию проекта. Создали Technical Steering Committee, восстановили CI/CD, формализовали процессы. Теперь Lodash может отвечать на уязвимости и выпускать релизы.
В планах Lodash 5.0 — агрессивное удаление API с нативными заменами, меньший размер, отказ от legacy runtime.
OpenJS Foundation
Sovereign Tech Agency Invests in Lodash’s Next Chapter in Open Source | OpenJS Foundation
With OpenJS support, Lodash is becoming more secure, more modern, and guided by a broader community of contributors
🔥11
Когда отладил все баги в коде, избавился от ворнингов и заливаешь сайт на прод, но получаешь ошибки HTTP:
This media is not supported in your browser
VIEW IN TELEGRAM
🔥4🗿3
Open Props: рецепты @custom-media для медиа‑запросов
С появлением
Как это работает:
В Open Props задаём
Почитать подробнее можно в статье.
#css #фронтенд
С появлением
@custom-media (уже есть в Firefox Nightly) у нас появился новый способ работать с медиа-запросами. В связке с Open Props — библиотекой CSS‑переменных для дизайн‑токенов мы можем именовать медиа‑запросы как переменные, чтобы переиспользовать брейкпоинты по‑умному и избежать дублирования.Как это работает:
В Open Props задаём
@custom-media --narrow-window (min-width: 420px);. Потом используем @media (--narrow-window) { ... }. Комбинируем с логическими операторами (not, or), контейнер‑квери (@container, @media (--container: --article > 300px)), поддержкой prefers-reduced-motion. В PostCSS‑плагине Open Props — JIT‑деревошэйкинг для токенов. Это делает дизайн‑системы гибче, брейкпоинты — переиспользуемыми, а код чище.Почитать подробнее можно в статье.
#css #фронтенд
❤1
Forwarded from Инструменты программиста
Deno представили Sandbox — изолированную среду для безопасного выполнения JavaScript и TypeScript кода. Позволяет запускать пользовательские скрипты без угрозы для системы.
Зачем нужен
Классическая проблема: нужно дать пользователям запускать код в вашем приложении — ИИ-агенты, плагины, динамические конфиги. Но любой
Deno Sandbox запускает код в лёгких Linux-микровиртуалках в облаке Deno Deploy. Старт меньше секунды, 2 vCPU, до 4 ГБ памяти. Можно ограничить доступ к сети через
Примеры использования
🔘 Запуск пользовательских плагинов
🔘 Тестирование фрагментов кода без риска
🔘 Выполнение AI-генерируемых скриптов
🔘 Обработка webhook-логики от клиентов
📎 Подробнее в этом видео или в офф. релизе
@prog_tools
Зачем нужен
Классическая проблема: нужно дать пользователям запускать код в вашем приложении — ИИ-агенты, плагины, динамические конфиги. Но любой
eval() — потенциальная дыра в безопасности.Deno Sandbox запускает код в лёгких Linux-микровиртуалках в облаке Deno Deploy. Старт меньше секунды, 2 vCPU, до 4 ГБ памяти. Можно ограничить доступ к сети через
allowNet и безопасно передавать секреты.Примеры использования
@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Forwarded from Инструменты программиста
Deno представили Sandbox — изолированную среду для безопасного выполнения JavaScript и TypeScript кода. Позволяет запускать пользовательские скрипты без угрозы для системы.
Зачем нужен
Классическая проблема: нужно дать пользователям запускать код в вашем приложении — ИИ-агенты, плагины, динамические конфиги. Но любой
Deno Sandbox запускает код в лёгких Linux-микровиртуалках в облаке Deno Deploy. Старт меньше секунды, 2 vCPU, до 4 ГБ памяти. Можно ограничить доступ к сети через
Примеры использования
🔘 Запуск пользовательских плагинов
🔘 Тестирование фрагментов кода без риска
🔘 Выполнение AI-генерируемых скриптов
🔘 Обработка webhook-логики от клиентов
📎 Подробнее в этом видео или в офф. релизе
@prog_tools
Зачем нужен
Классическая проблема: нужно дать пользователям запускать код в вашем приложении — ИИ-агенты, плагины, динамические конфиги. Но любой
eval() — потенциальная дыра в безопасности.Deno Sandbox запускает код в лёгких Linux-микровиртуалках в облаке Deno Deploy. Старт меньше секунды, 2 vCPU, до 4 ГБ памяти. Можно ограничить доступ к сети через
allowNet и безопасно передавать секреты.Примеры использования
@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
В VS Code нашли дыру, дающую бесплатный доступ к платным AI‑агентам без списания
Баг в интеграции AI‑расширений обходит лимиты — запросы к платным моделям идут, но токены/подписка не тратятся. Открыли недавно, детали эксплойта не раскрыты. Microsoft уже фиксят.
Для разработчиков — рай, а вот для вендоров — дыра в монетизации. Параллельно всплыли вредоносные AI‑эксты (1.5M установок крадут код). Проверяйте расширения!
Подробности на сайте.
Баг в интеграции AI‑расширений обходит лимиты — запросы к платным моделям идут, но токены/подписка не тратятся. Открыли недавно, детали эксплойта не раскрыты. Microsoft уже фиксят.
Для разработчиков — рай, а вот для вендоров — дыра в монетизации. Параллельно всплыли вредоносные AI‑эксты (1.5M установок крадут код). Проверяйте расширения!
Подробности на сайте.
❤2
Ошибки в архитектуре, которые совершали Netflix, Slack, Trello, Airbnb и другие компании
Даже у самого многообещающего стартапа и крупной компании могут встречаться типичные ошибки в архитектуре, которые могут всё разрушить.
Давайте раз и навсегда разберемся, как лучше не делать, и как избегать факапов. В статье собрали 10 самых распространенных: с примерами и способами решения.
Мастхэв к прочтению: https://tprg.ru/0lof
Даже у самого многообещающего стартапа и крупной компании могут встречаться типичные ошибки в архитектуре, которые могут всё разрушить.
Давайте раз и навсегда разберемся, как лучше не делать, и как избегать факапов. В статье собрали 10 самых распространенных: с примерами и способами решения.
Мастхэв к прочтению: https://tprg.ru/0lof
❤9👎2
State of JS 2025: тренды фронтенда за год
Ежегодный опрос State of JavaScript 2025 вышел. Разбор трендов, обзор популярности фреймворков, библиотек, инструментов и языков.
Ключевые инсайты: фокус на том, что выжило/выросло, что забылось. React/Vue/Svelte/Astro, Next/Nuxt, Tailwind/Vite — кто лидирует?
Ежегодный опрос State of JavaScript 2025 вышел. Разбор трендов, обзор популярности фреймворков, библиотек, инструментов и языков.
Ключевые инсайты: фокус на том, что выжило/выросло, что забылось. React/Vue/Svelte/Astro, Next/Nuxt, Tailwind/Vite — кто лидирует?
Stateofjs
State of JavaScript 2025
The 2025 edition of the annual survey about the latest trends in the JavaScript ecosystem.
❤4
Forwarded from Точка входа в программирование
This media is not supported in your browser
VIEW IN TELEGRAM
Как выбрать наилучшую стратегию рендеринга для вашего приложения
Веб-рендеринг эволюционировал от простых HTML-страниц до высокоинтерактивных и динамичных приложений. В итоге и способов представить приложение пользователям стало больше, чем когда-либо.
Сегодня существует множество технологий таких, как генерация статических сайтов (SSG), рендеринг на стороне сервера (SSR), рендеринг на стороне клиента (CSR), инкрементальная статическая регенерация (ISR) и экспериментальный частичный предварительный рендеринг (PPR). Каждая хороша для своих задач. Какую выбрать для вашего проекта, рассказали в этой статье.
#фронтенд
Веб-рендеринг эволюционировал от простых HTML-страниц до высокоинтерактивных и динамичных приложений. В итоге и способов представить приложение пользователям стало больше, чем когда-либо.
Сегодня существует множество технологий таких, как генерация статических сайтов (SSG), рендеринг на стороне сервера (SSR), рендеринг на стороне клиента (CSR), инкрементальная статическая регенерация (ISR) и экспериментальный частичный предварительный рендеринг (PPR). Каждая хороша для своих задач. Какую выбрать для вашего проекта, рассказали в этой статье.
#фронтенд
❤7
This media is not supported in your browser
VIEW IN TELEGRAM
В Chrome DevTools появилась точечная эмуляция медленного интернета
Для удобства отладки сайта в инструменты разработчика добавили возможность эмулировать медленное сетевое соединение не для всего сайта, а только для нужных вам запросов. Так ещё проще найти узкие места посмотреть, как сайт обрабатывает проблемные запросы и сколько тратит ресурсов.
#советы
Для удобства отладки сайта в инструменты разработчика добавили возможность эмулировать медленное сетевое соединение не для всего сайта, а только для нужных вам запросов. Так ещё проще найти узкие места посмотреть, как сайт обрабатывает проблемные запросы и сколько тратит ресурсов.
#советы
❤19
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Алгоритмы на JavaScript
Подборка видеоразборов работы алгоритмов на JavaScript. Полезна всем, кто хочет лучше в них шарить. Здесь разбирается 7 наиболее популярных:
1️⃣ Бинарный поиск
2️⃣ Рекурсия
3️⃣ Хеш-таблицы
4️⃣ Обход дерева
5️⃣ Связные списки на примере LRU Cache
6️⃣ Графы и их обход
7️⃣ Рекурсия с мемоизацией для вычисления diff'a текста
Специально для вас скачали их, но если хотите лайкнуть автора, то вот ссылка на плейлист на YouTube.
#видео #алгоритмы #javascript
Подборка видеоразборов работы алгоритмов на JavaScript. Полезна всем, кто хочет лучше в них шарить. Здесь разбирается 7 наиболее популярных:
Специально для вас скачали их, но если хотите лайкнуть автора, то вот ссылка на плейлист на YouTube.
#видео #алгоритмы #javascript
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3