Типичный программист
Всё самое интересное по программированию Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site VK: vk.com/tproger Регистрация в перечне РКН: https://tprg.ru/mJwo
显示更多📈 Telegram 频道 Типичный программист 的分析概览
频道 Типичный программист (@tproger) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 78 068 名订阅者,在 技术与应用 类别中位列第 1 608,并在 俄罗斯 地区排名第 7 335 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 78 068 名订阅者。
根据 06 十月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -520,过去 24 小时变化为 -11,整体触达仍然可观。
- 认证状态: 已认证(Telegram 官方确认)
- 互动率 (ER): 平均受众互动率为 9.96%。内容发布后 24 小时内通常能获得 5.88% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 7 774 次浏览,首日通常累积 4 593 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 38。
- 主题关注点: 内容集中在 sql, архитектура, api, docker, github 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“Всё самое интересное по программированию
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site
VK: vk.com/tproger
Регистрация в перечне РКН: https://tprg.ru/mJw...”
凭借高频更新(最新数据采集于 07 十月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
数据加载中...
| 日期 | 订阅者增长 | 提及 | 频道 | |
| 08 十月 | 0 | |||
| 07 十月 | +12 | |||
| 06 十月 | +11 | |||
| 05 十月 | +9 | |||
| 04 十月 | +7 | |||
| 03 十月 | +5 | |||
| 02 十月 | +8 | |||
| 01 十月 | +5 |
| 2 | 没有文字... | 3 407 |
| 3 | Приходится ли вам копипастить данные и какие именно, когда переходите из одной нейросети в другую? | 4 207 |
| 4 | Общая папка для работы Claude Code и Codex
Луи-Франсуа Бушар собрал заметки, инструкции-скиллы, скрипты и итоги встреч в Obsidian. Его связка устроена так:
Папка хранит исходные материалы и решения
↓
Индекс указывает, где искать данные для задачи
↓
Claude Code планирует работу
↓
Codex выполняет задачи по его вызову
В описании этого рабочего процесса Бушар объясняет, зачем даёт агенту сведения для конкретной задачи. Начать предлагает с общей папки, короткого индекса и одного повторно используемого скилла.
#ии #инструменты | 3 953 |
| 5 | Как Canva научила обработчики очередей замедляться при сбоях
За четыре часа сбоев облачного провайдера в очередь окончательно неудачных сообщений у Canva попало всего одно сообщение. Обработчик сам снижал нагрузку на сбоящие сервисы и набирал скорость после их восстановления.
Механизм встроили в библиотеку очередей: обработчик фиксирует успехи и ошибки, а контроллер по этим результатам сокращает число сообщений, которые можно обрабатывать одновременно. Остальная работа ждёт в очереди. Решение принимается локально, без дополнительных сетевых запросов.
В разборе Worker Backpressure команда сравнивает подход с фиксированными лимитами, полной остановкой запросов при сбоях и задержками повторных попыток. Там же разбирает два рабочих инцидента: короткие всплески ошибок и перегрузку на 32,5 часа.
#облака | 4 385 |
| 6 | Как собрать фаззер для поиска ошибок в регулярных выражениях на Rust
В старой версии библиотеки regex выражение .abb|b находило в строке zabb только b, хотя совпадала вся строка. Автор собрал фаззер, тест, который генерирует случайные входные данные, и нашёл ещё одну ошибку, прежде чем воспроизвести искомую.
В разборе с кодом автор сравнивает результаты regex и regex_lite на одинаковых выражениях и строках. Вместо огромных входных данных генерирует короткие строки, меняет набор букв и частоту операторов. Так проверяет сочетания нескольких возможностей, на которых могут возникать ошибки.
В последней версии ошибок не нашлось. Автор заранее знал искомый баг, поэтому эксперимент не доказывает превосходство случайных тестов над модульными. Зато показывает приёмы проверки алгоритмов через сравнение реализаций.
#инструменты | 4 575 |
| 7 | Как в Rustrak ускорили обработку ошибок и снизили пиковую память
В трекере ошибок Rustrak задачи съедали память ещё до начала работы: каждая ждала своей очереди с состоянием на 5,5 КБ. Авторы нашли это при профилировании всплеска из 20 тысяч ошибок.
Теперь полное состояние задачи создаётся только после допуска к обработке. Заодно девять переходов между потоками на сохранение события заменили одним: запись файла и синхронизацию с диском выполняют вместе.
В тесте с SQLite пиковая память упала со 195 до 53 МБ, а скорость обработки выросла примерно с 510 до 1000 событий в секунду. Генератор нагрузки работал на той же четырёхъядерной машине. В разборе профилирования и правок есть и проверка аварийного восстановления: после перезапуска каждое подтверждённое событие обработалось ровно один раз.
#инструменты | 4 999 |
| 8 | Как Canva разгрузила MySQL с помощью S3
При запуске сотни шлюзов Canva загружали из MySQL более миллиона записей об отозванных сессиях. Деплой превращался в одновременный набег на базу, а добавление реплик лишь временно смягчало проблему.
В разборе новой схемы загрузки кеша инженеры делят данные на 30-минутные сегменты в S3. Каждая запись занимает 16 байт, а сортировка позволяет искать её прямо в скачанном массиве, без преобразования в Java-объекты.
Несколько фоновых процессов дописывают сегменты через условные PUT-запросы: S3 принимает запись, только если объект не изменился после чтения. Выбор лидера уменьшает число конфликтов, но не гарантирует корректность: прежний лидер может приостановиться и вернуться после смены. В итоге кеш занял на 87,5% меньше памяти, а MySQL оставили две реплики для резервирования. | 5 343 |
| 9 | OpenAI показала GPT-6.1 Sol и новые инструменты на DevDay
Новая модель стоит $2 за миллион входных токенов и $10 за миллион выходных — в пять раз меньше, чем GPT-6 Astra. Это сравнение с Astra: у GPT-6 Sol те же ставки, а кэшированный ввод в GPT-6.1 Sol подешевел с $0,20 до $0,10. По тестам самой OpenAI, новая Sol приближается к Astra в программировании и работе с компьютером; независимого подтверждения результатов пока нет.
Для разработчиков на DevDay представили облачные окружения Codex, голосовые команды в Codex CLI и управление компьютером в Agents API. MCP Events позволяет плагинам запускать действия по событиям внешних сервисов. GPT-6.1 Sol уже доступна в API, ChatGPT Work и Codex на тарифах Plus, Pro, Business, Enterprise и Edu, а в обычном чате её пока нет.
В обзоре DevDay собраны результаты бенчмарков, условия доступа, Pro 500 с Ultrafast и другие анонсы. | 1 |
| 10 | Дрон научили ориентироваться механическими усами
В темноте, дыму и пыли камеры и лидар могут подвести. Исследователи Делфтского технического университета оснастили дрон легче 100 г двумя усами, чтобы он находил путь на ощупь.
Каждый ус соединили с тремя миниатюрными датчиками давления. По изменению их показаний дрон оценивает положение поверхности, обходит препятствия, движется вдоль неё и может составлять карту.
Винты создают поток воздуха, поэтому бортовая программа отделяет турбулентность от касания. Ей хватает 34 КБ памяти, а точность остаётся миллиметровой. Такой сенсор может пригодиться маленьким поисково-спасательным дронам для обследования завалов без риска для людей и животных. | 6 195 |
| 11 | Как быстрые хеш-функции ломаются на специально подобранных данных
Обычный бенчмарк показывает скорость на удобных данных. Атакующий подбирает другие: разные ключи получают одинаковый хеш и попадают в одну ячейку таблицы. Вместо быстрых операций начинается перебор множества значений, вплоть до отказа в обслуживании.
Автор с помощью Claude Fable разобрал популярные функции из набора тестов SMHasher. У большинства нашлись входы с устойчивостью к коллизиям минимум на 20 бит хуже ожидаемой. Для CityHash64, FarmHash64 и MurmurHash3 удалось построить сколько угодно входов, которые сталкиваются при любом секретном ключе.
Интерактивное сравнение скорости и гарантий отделяет доказанные оценки от найденных контрпримеров. Практический вывод: если сервис принимает чужие данные, одной пропускной способности хеша недостаточно. Нужны доказанные гарантии, а ещё лучше проверенные в Lean. | 6 006 |
| 12 | Почему max_connections не ускоряет PostgreSQL
Пять тысяч разрешённых соединений выглядят как запас мощности, но пропускную способность PostgreSQL определяют ядра и хранилище. max_connections решает другое: сколько серверных процессов база допустит до отказа и сколько общей памяти заранее выделит под их структуры.
На PostgreSQL 18.6 рост лимита со 100 до 5000 увеличил общую память со 150 до 389 МБ. При этом 17-е активное соединение на машине с 16 ядрами уже добавляет переключения контекста и очередь. А 400 активных запросов с тремя хеш-объединениями каждый могут одновременно запросить 1200 порций work_mem.
Поэтому лимит стоит считать как бюджет, а приложения подключать через PgBouncer в режиме пула транзакций. Для большинства производственных систем расчёт с учётом репликации, мониторинга и ручных подключений даёт 100–300 соединений. | 5 830 |
| 13 | Kubernetes 1.37 перевёл rootless kubelet в beta
В релизе Kubernetes 1.37 kubelet разрешили запускать на хосте без прав root, внутри пространства пользователей Linux. Флаг KubeletInUserNamespace включён по умолчанию.
У kubelet становится меньше прав на хосте. Разработчики рассчитывают, что это сократит ущерб при побеге контейнера из изоляции.
Режим пока находится в beta: возможность уже доступна по умолчанию, но ещё не объявлена стабильной. Для эксперимента стоит отдельно проверить работу kubelet без root на своих узлах и не принимать beta за готовность к любой инфраструктуре. | 5 999 |
| 14 | Исследователи заставили современную электронику выдавать данные по радио
Метод InjectEave превращает случайные внутренние антенны устройства в канал утечки. На устройство направляют радиосигнал подходящей частоты. Нелинейные компоненты смешивают его с рабочими сигналами схемы, после чего наружу уходит излучение с данными. Без такого воздействия заметной утечки в опытах не обнаружили.
В экспериментах исследователи восстановили звук из проводных и беспроводных наушников и определили состояние умной лампы и вентилятора. Сигнал проходил даже сквозь стены на небольшой дистанции, а усилитель увеличил дальность до 30 метров.
В демонстрации с интернет-телефоном они перехватили речь, клонировали голос и внедрили новую фразу в звонок в реальном времени. Для атаки нужно активно облучать цель и принимать ответное излучение: результаты пока относятся к исследовательской установке. | 5 897 |
| 15 | 18 тысяч тестов нашли то, что пропустили 185 обычных
При переносе robfig/cron с Go на Rust код компилировался, а все 185 модульных тестов проходили. Затем одинаковые расписания прогнали через обе реализации и сравнили результаты в 18 тысячах точек. Так вскрылась разница при переводе часов: несуществующее 02:30 Go переносил на 03:30, а библиотека chrono-tz сообщала, что такого локального времени нет.
В Rust пропущенный час стали сдвигать вперёд, после чего сравнительные тесты не нашли ни одного расхождения. Код проверки и история переноса показывают полезный подход: совместимость порта стоит доказывать одинаковым поведением на сложных входных данных, а не успешной сборкой. | 6 120 |
| 16 | Переход на ветку в присланном проекте запустил бы вредоносный Git-hook
Разработчику Фрэнку Уайлсу написали под видом заказчиков приложения и предложили обсудить проект. Перед созвоном его попросили изучить спецификацию в папке на Dropbox и подписать соглашение о неразглашении (NDA), уточнив, что сам документ лежит в отдельной ветке репозитория.
Ловушка строилась на передаче каталога .git внутри обычной папки. Стандартная команда git clone не копирует клиентские хуки с удалённого сервера из соображений безопасности, но в присланной директории уже лежал исполняемый файл .git/hooks/post-checkout. При вызове git checkout этот скрипт обращался к Vercel, скачивал бинарник под текущую операционную систему, делал его исполняемым, запускал и удалял себя.
Фрэнк вовремя проверил каталог хуков, поэтому на его ноутбуке скрипт не сработал. В блоге разработчик описал инцидент и предположил, что злоумышленники планировали получить доступ к аккаунтам и клиентским проектам. Открытие чужих репозиториев напрямую несёт личный риск: даже без сборки и запуска проекта привычные команды Git могут исполнить сторонний бинарник.
@tproger | 6 118 |
| 17 | Как поручить ИИ миграцию сайта и не потерять 400 страниц
Сайт с сотнями маршрутов, формами, редиректами и старым кодом автор перенёс на Astro за две недели. Он запускал не больше двух агентов параллельно, чтобы проверять результат до размножения ошибок.
Требование сохранить возможности превратили в контракт: какие адреса, метаданные, изображения и формы должны работать. Рискованный перенос контента сначала проверили на прототипе. Затем конвертер переводил известные конструкции в MDX по правилам, а на незнакомых останавливался.
В разборе миграции полезен сам метод: дробить работу на задачи с критериями приёмки и оставлять продуктовые решения человеку. | 6 157 |
| 18 | Как HLS запускает видео до полной загрузки
В HLS ролик разбит на независимые сегменты, обычно по 2–10 секунд. Плеер запрашивает их по HTTP и может начать воспроизведение, получив первые части и не дожидаясь всего файла.
В разборе Devyansh о механике HLS показано, как файл m3u8 задаёт последовательность сегментов, а главный плейлист перечисляет варианты качества. Во время просмотра плеер оценивает пропускную способность сети, состояние буфера и стабильность воспроизведения, затем переключается между вариантами.
Разбор пригодится, когда нужно понять поведение веб-плеера: время старта зависит от доставки первых сегментов, а качество может меняться уже по ходу просмотра. Для зрителя это разные стороны опыта: когда начинается воспроизведение и как меняется изображение после старта. | 6 197 |
| 19 | Открываете видео. В одном варианте оно начинается сразу, а изображение постепенно становится чётче. В другом — нужно подождать три секунды, зато картинка будет чёткой с первого кадра.
Как вам удобнее? | 6 116 |
| 20 | Как поймать утечку целевой переменной до того, как поверить R² 0,998
Модель получила пять колонок из публичного набора CDC и почти идеально предсказала шестую: коэффициент R² достиг 0,998. Результат выглядел как успех, пока не выяснилось, что CDC вычислял целевую колонку из тех самых пяти. Модель не нашла закономерность в реальном мире, а восстановила готовую формулу.
Так работает утечка целевой переменной: признаки уже содержат ответ. Автор описал происхождение колонок в YAML-манифесте, где для каждой вычисляемой величины указаны исходные данные. Затем написал Python-линтер, который обходит этот граф зависимостей и отклоняет признаки на пути к целевой колонке или от неё.
В практическом разборе утечки есть воспроизводимый эксперимент на данных CDC, код проверки, обработка битых входных файлов и запуск линтера при каждом пуше через GitHub Actions. | 6 064 |
