GRT Calculator — подбираем размер шрифта на основе золотого сечения
Да, подход не самый обычный. Однако, он позволяет выбрать шрифт, который будет лёгок для чтения и идеально вписываться в дизайн вашего сайта. Достаточно выбрать шрифт, указать его размер и ширину содержимого, а калькулятор покажет, как она будет выглядеть на сайте и подскажет, что стоит поменять, чтобы достичь идеального результата.
Подробнее:
https://grtcalculator.com/
#фронтенд #инструменты
Да, подход не самый обычный. Однако, он позволяет выбрать шрифт, который будет лёгок для чтения и идеально вписываться в дизайн вашего сайта. Достаточно выбрать шрифт, указать его размер и ширину содержимого, а калькулятор покажет, как она будет выглядеть на сайте и подскажет, что стоит поменять, чтобы достичь идеального результата.
Подробнее:
https://grtcalculator.com/
#фронтенд #инструменты
👍6❤2😁2🤔2
Сервисы для тестирования безопасности веб-приложений
Постоянно собирать DevSecOps из опенсорса и разбирать сотни алертов — дорого и долго. Эта статья разбирает несколько готовых сервисов, которые берут большую часть боли на себя и закрывают разные уровни безопасности веб‑приложений:
https://tproger.ru/articles/servisy-dlya-testirovaniya-bezopasnosti-veb-prilozhenij
Постоянно собирать DevSecOps из опенсорса и разбирать сотни алертов — дорого и долго. Эта статья разбирает несколько готовых сервисов, которые берут большую часть боли на себя и закрывают разные уровни безопасности веб‑приложений:
https://tproger.ru/articles/servisy-dlya-testirovaniya-bezopasnosti-veb-prilozhenij
❤2
Forwarded from Точка входа в программирование
Ещё один совет вообще для всех разработчиков
👍13😁6❤2🤔2🔥1🫡1
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
👍27😁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 появилась точечная эмуляция медленного интернета
Для удобства отладки сайта в инструменты разработчика добавили возможность эмулировать медленное сетевое соединение не для всего сайта, а только для нужных вам запросов. Так ещё проще найти узкие места посмотреть, как сайт обрабатывает проблемные запросы и сколько тратит ресурсов.
#советы
Для удобства отладки сайта в инструменты разработчика добавили возможность эмулировать медленное сетевое соединение не для всего сайта, а только для нужных вам запросов. Так ещё проще найти узкие места посмотреть, как сайт обрабатывает проблемные запросы и сколько тратит ресурсов.
#советы
❤21