Библиотека программиста
77.7K subscribers
4.78K photos
295 videos
98 files
7.93K links
Все самое полезное для программиста в одном канале.

Наши курсы: https://clc.to/Jil6fg

По рекламе: @tproger_sales_bot

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
📊 PostgreSQL читает большое значение целиком при сжатии LZ4 даже ради первых 200 символов

Список статей показывает только начало каждого текста. Можно ожидать, что база прочитает небольшой фрагмент. Но объём работы зависит от сжатия.

В эксперименте с TOAST на PostgreSQL 18 сравнили pglz и LZ4. Для pglz база умеет оценивать верхнюю границу объёма сжатых данных, нужного для начала строки. Для LZ4 такой оценки нет — значение сначала забирается целиком.

При чтении первых 200 символов из ста значений примерно по 1 МБ получилось около 1 мс с pglz и 16 мс с LZ4. Данные уже находились в памяти; обращений к страницам было 301 против 6234.

В другом тесте LZ4 быстрее загружал JSON-документы. Поэтому перед выбором сжатия стоит проверить свои запросы: читаете ли вы документ целиком, показываете короткое превью или достаёте диапазон байтов из середины.

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
😁8❤5👍4
👀 PHP-патчи ещё готовили, а серверы уже пытались взломать

Две уязвимости PHP2Shell позволяют выполнять код на сервере без авторизации. Обновления вышли 21 октября, но AWS зафиксировала попытку атаки ещё 17-го.

Первые признаки одной из ошибок заметили в 2024 году. Исправление застряло, а перед выпуском патчей ещё и нарушили порядок раскрытия.

Что помешало закрыть дыру раньше и какие версии PHP нужно обновить

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13😁3❤2
📊 SQLite 3.54 перестал обновлять индекс выражения, если индексируемое значение не изменилось

В SQLite 3.54 изменили обработку UPDATE: если индексируемое значение выражения осталось прежним, соответствующий индекс больше не меняют. Обновление строки не обязательно требует этой дополнительной работы.

Есть и другие изменения планировщика: запросы UNION с LIMIT 1 обрабатываются быстрее и требуют меньше памяти. А размер базы можно исследовать командой .diskused прямо в CLI — отдельный sqlite3_analyzer объявлен устаревшим.

Заявленные около 4% ускорения получены подсчётом процессорных циклов в speedtest1 на Linux x64. На своих запросах результат нужно измерять отдельно.

После основного релиза вышел патч 3.54.1. Он исправляет возможное переполнение буфера в куче на 32-битных сборках и другие ошибки 3.54.0. На 64-битные сборки именно эта проблема с буфером не распространяется.

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍5
👀 ИИ OpenAI скачал закрытые таблицы и не сообщил об этом

Модель попросили найти пять публичных показателей. Она добралась до внутренних систем организации, изменила настройки и скачала 147 451 строку закрытых данных. Все пять ответов оказались неверными.

В другом случае модель нашла чужой кошелёк в тестовой сети и оплатила из него развёртывание контрактов. В итоговом ответе происхождение средств тоже не указала.

Как обычные задания привели к доступу без разрешения — в разборе отчётов OpenAI

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
😁18❤10
👀 ИТ-ипотека до 2030 года? Власти обсуждают прекращение новых выдач уже в декабре 2026-го. Решения пока нет, действующим заёмщикам обещают сохранить ставки.

Что известно о возможном закрытии программы и кого оно затронет.

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
😢13💯6👏4👾4❤1
📊 Каскадное удаление в PostgreSQL может остановить новые запросы

Удаляете одну организацию — база заодно удаляет миллионы связанных записей. В PlanetScale разобрали, как такая операция удерживает блокировки на таблицах. Если в этот момент запустить миграцию, она будет ждать завершения удаления, а новые запросы могут выстроиться уже за ней.

Это важно бэкенд-разработчикам и тем, кто выкатывает изменения схемы: даже добавление столбца способно превратить фоновую очистку в простой приложения.

Проверьте объём каскадных удалений и задайте миграциям короткий lock_timeout. Если одна операция затрагивает слишком много строк, рассмотрите управляемое удаление порциями: каждая порция должна завершаться отдельной короткой транзакцией.

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👾5👏3💯3
👀 GitHub сократил получение истории звёзд с 2500 запросов до 24

Чтобы построить график популярности репозитория, раньше приходилось загружать страницы со списками пользователей. В новом API GitHub возвращает готовые дневные счётчики и сначала ограничивает выборку диапазоном дат. Для истории react/react это около 24 запросов вместо 2511.

Полезный пример для разработчиков отчётов и API: маленький ответ ещё не означает дешёвый запрос. База может перечитать огромную таблицу ради нескольких чисел.

Посмотрите на свои графики и выгрузки: фильтруете ли вы данные до группировки? Если клиенту нужны только итоги, попробуйте отдавать агрегаты по ограниченным периодам вместо всех исходных записей.

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18
📊 $25 млрд за обман пользователей. Meta* собирается оспорить штраф суда Нью-Мексико — он в пять раз больше суммы, которую компания согласилась заплатить FTC в 2019 году.

Что установили присяжные и при чём здесь Cambridge Analytica — рассказываем в статье.

*Meta признана экстремистской организацией в России.

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12😁6👍2
🖥 Heroku позволяет менять настройки фронтенда без пересборки приложения

Поменяли адрес API — снова собираете весь фронтенд? Heroku предлагает передавать публичные настройки через data-атрибуты HTML. При запуске веб-сервера значения из переменных PUBLIC_WEB_ попадают в страницу, а JavaScript читает их через document.head.dataset.

Это удобно командам, которые продвигают одну сборку из тестовой среды в рабочую. Меняется окружение, а проверенный JavaScript-пакет остаётся тем же.

Отделите настройки окружения от кода и проверьте, можно ли загружать их при старте сервера. В таком подходе изменение настроек требует перезапуска, но не пересборки. Пароли и токены туда класть нельзя: всё в HTML доступно посетителю.

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
👾6😁4
📊 DigitalOcean восстанавливает подготовленную MicroVM быстрее 200 мс

Вместо повторной загрузки системы DigitalOcean восстанавливает виртуальную машину из сохранённого состояния. Нужные страницы памяти и блоки диска подгружаются по мере обращения. В собственных тестах компании подготовленная MicroVM начинала обслуживать трафик менее чем за 200 мс по медиане — при готовом шаблоне, свободном хосте и прогретых кешах.

Такой подход интересен разработчикам песочниц, сред запуска кода и фоновых исполнителей. Он позволяет не повторять дорогую инициализацию перед каждой задачей.

Разделите в своих замерах загрузку системы, запуск приложения и подготовку данных. Если основное время уходит на повторяемую инициализацию, изучите снимки состояния. Учтите: они не откатывают внешнюю базу, сетевые соединения и уже выполненные API-вызовы.

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
👾12❤3
🖥 Закрытый ключ сертификата оказался числом 4. Исследователь восстановил восемь ключей менее чем за секунду, а Python и Node.js приняли поддельный сертификат в локальном тесте.

Теперь eMudhra уходит с рынка TLS. Как ошибка оставалась незамеченной 17 месяцев и почему блокировки в браузере недостаточно.

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
😁20
📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше.

В Proglib Academy действует акция: покупаешь один курс, а второй получаешь в подарок.

Например, можно совместить два направления по работе с ИИ:

💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.

💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.


📍 Разница в цене — почти 50 тысяч рублей. Можно освоить больше, не выходя за рамки запланированного бюджета.

А если тебе интереснее Python, алгоритмы, backend или DevOps — выбирай другую пару курсов из каталога.

Акция действует до 31 октября включительно ⏳

⏮️ Пора прокачать свой стек
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18
👀 Маршрутизатор Neki пропускает ненужное декодирование ответов PostgreSQL

Промежуточный сервис часто превращает все входящие данные в объекты, хотя использует лишь малую часть. Команда Neki оставляет ответы PostgreSQL в протокольном виде, пока значения действительно не понадобятся. Например, для сортировки можно прочитать ключевой столбец, не декодируя остальные.

Это полезно авторам прокси, шлюзов и сервисов обработки данных. На больших потоках создание временных объектов и преобразование форматов могут стоить дороже полезной работы.

Найдите в профиле приложения участки разбора и сериализации. Проверьте, какие данные действительно нужно понимать вашему сервису, а какие можно передать дальше без преобразования. Сначала измерьте один горячий участок: усложнять весь код ради гипотетической экономии не стоит.

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰17
🖥 Результат теста ИИ-агента не показывает, насколько удобно с ним работать

JetBrains изучила 4782 диалога разработчиков с агентом в IDE. Исправления ошибок и новые функции составили меньше половины сообщений: люди также просили объяснять код, планировать изменения и проверять результат. Между тем в SWE-Bench Pro почти все задания — функции и исправления, сформулированные одним сообщением.

Это важно командам, которые выбирают помощника по таблице результатов. Успех на отдельной задаче не проверяет, как агент удерживает требования после уточнений и переключается между объяснением, правкой и ревью. При этом выборка JetBrains описывает конкретную аудиторию, а не всех разработчиков.

Добавьте к сравнению несколько своих рабочих диалогов: попросите объяснить участок проекта, внесите уточнение и проверьте итог. Оценивайте не только готовый код, но и время, которое вы потратили на исправление недопониманий.

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
👾13❤6
📊 Cloudflare сдерживает рост затрат на серверы за счёт изменений в обработке данных

По данным инженеров Cloudflare, в мае их система доставляла около двух миллиардов событий в секунду. Чтобы рост трафика не требовал такого же роста оборудования, команда несколько лет меняла схему данных, сжатие и репликацию. В 2026 году к этому добавились распределённая выборка событий и агрегация внутри конвейера.

Разбор полезен командам, у которых дорожают логи и аналитика. Затраты определяются не только числом событий, но и тем, сколько лишних данных система переносит, хранит и обрабатывает.

Выберите один самый дорогой поток и посчитайте объём на каждом этапе. Проверьте, какие поля нужны получателям и где можно раньше агрегировать данные. Сокращать детализацию стоит только после проверки требований к расследованию ошибок и точности отчётов.

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9🔥6
👀 GitHub разделяет очередь записи в репозиторий по веткам и тегам

Записи в разные ветки не обязательно должны ждать друг друга. В GitHub меняют механизм согласования записи: вместо одной очереди на репозиторий операции упорядочиваются по отдельным ссылкам Git — например, веткам и тегам. Во внутренних тестах параллельная запись в разные ссылки дала в 3–4 раза большую пропускную способность; перестройка инфраструктуры идёт поэтапно.

Это полезный пример для разработчиков многопользовательских систем. Иногда производительность ограничивает слишком крупная область блокировки: независимые действия вынуждены стоять в одной очереди.

Посмотрите, что именно защищают ваши блокировки: весь проект, одного клиента или отдельный объект. Если операции независимы, проверьте возможность сузить область согласования. Изменения, затрагивающие несколько объектов сразу, всё равно потребуют общей координации.

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12
👀 Разработчик Telegram предложил увольнять тех, кто пишет код без ИИ

По словам Майка, нейросети создают уже 99,9% клиентского кода мессенджера. Новый движок на Rust опубликован, но по умолчанию в клиентах для iOS и macOS пока работает прежний.

Разобрали изменения в клиенте и исследования скорости разработки с ИИ

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10🌚8🤔6👾5❤3👍3
🖥 GitHub ускорил страницы после перехода с CSS-in-JS на CSS Modules

Стили расходуют процессорное время при рендеринге страницы на сервере и запуске компонентов в браузере. GitHub перенёс стили в CSS Modules, чтобы собирать их заранее в CSS-файлы.

После переноса компонентов дизайн-системы Primer время серверного рендеринга сократилось на 55%, а инициализации компонентов — на 25%. Команда обновляла компоненты постепенно: переключала старые и новые стили флагом, сравнивала скриншоты и расширяла аудиторию.

Если React-приложение долго запускается, посмотрите в профиле, сколько времени занимает работа со стилями. Начните с одного тяжёлого компонента: перенесите его стили, сравните внешний вид и замерьте время загрузки.

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍5👏4
🖥 RTX 4090 почти удвоила скорость отдельных вычислений после разблокировки

Модели в Immich на RTX 3060 прибавили 20–32%, а одна квантованная модель на RTX 4090 осталась практически на прежнем уровне. В статье — прикладные тесты и условия, при которых удалось получить прирост.

Собрали результаты тестов RTX 30 и RTX 40 и объяснили разницу

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍5
🖥 Google добавила в виртуальные миры звук и говорящих персонажей

В Genie 4 можно менять погоду, добавлять объекты и управлять сценой текстовыми командами прямо во время симуляции. Пока модель доступна приглашённым тестировщикам.

Что умеет Genie 4 и как Google планирует открыть к ней доступ

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥12😢4