ch
Feedback
C++ Academy

C++ Academy

前往频道在 Telegram

По всем вопросам- @workakkk РКН: clck.ru/3FmxJF #VRHSZ

显示更多

📈 Telegram 频道 C++ Academy 的分析概览

频道 C++ Academy (@cpluspluc) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 15 492 名订阅者,在 技术与应用 类别中位列第 8 087,并在 俄罗斯 地区排名第 41 904 位。

📊 受众指标与增长动态

自 невідомо 创建以来,项目保持高速增长,吸引了 15 492 名订阅者。

根据 05 十月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -49,过去 24 小时变化为 7,整体触达仍然可观。

  • 认证状态: 未认证
  • 互动率 (ER): 平均受众互动率为 15.13%。内容发布后 24 小时内通常能获得 7.64% 的反应,占订阅者总量。
  • 帖子覆盖: 每篇帖子平均可获得 2 344 次浏览,首日通常累积 1 183 次浏览。
  • 互动与反馈: 受众积极参与,单帖平均反应数为 20。
  • 主题关注点: 内容集中在 c++, github, linux, api, архитектура 等核心主题上。

📝 描述与内容策略

作者将该频道定位为表达主观观点的平台:
“По всем вопросам- @workakkk РКН: clck.ru/3FmxJF #VRHSZ”

凭借高频更新(最新数据采集于 06 十月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。

15 492
订阅者
+724 小时
-147 天
-4930 天
吸引订阅者
10月 '26
十月 '26
+18
在0个频道中
九月 '26
+112
在31个频道中
Get PRO
八月 '26
+118
在39个频道中
Get PRO
七月 '26
+82
在42个频道中
Get PRO
六月 '26
+56
在1个频道中
Get PRO
五月 '26
+130
在3个频道中
Get PRO
四月 '26
+49
在0个频道中
Get PRO
三月 '26
+92
在21个频道中
Get PRO
二月 '26
+93
在44个频道中
Get PRO
一月 '26
+437
在110个频道中
Get PRO
十二月 '25
+66
在2个频道中
Get PRO
十一月 '25
+217
在44个频道中
Get PRO
十月 '25
+81
在15个频道中
Get PRO
九月 '25
+116
在38个频道中
Get PRO
八月 '25
+291
在9个频道中
Get PRO
七月 '25
+518
在77个频道中
Get PRO
六月 '25
+347
在73个频道中
Get PRO
五月 '25
+82
在5个频道中
Get PRO
四月 '25
+105
在27个频道中
Get PRO
三月 '25
+120
在1个频道中
Get PRO
二月 '25
+175
在40个频道中
Get PRO
一月 '25
+175
在47个频道中
Get PRO
十二月 '24
+585
在58个频道中
Get PRO
十一月 '24
+1 337
在186个频道中
Get PRO
十月 '24
+2 234
在75个频道中
Get PRO
九月 '24
+848
在203个频道中
Get PRO
八月 '24
+580
在42个频道中
Get PRO
七月 '24
+837
在52个频道中
Get PRO
六月 '24
+2 266
在64个频道中
Get PRO
五月 '24
+498
在39个频道中
Get PRO
四月 '24
+571
在47个频道中
Get PRO
三月 '24
+653
在20个频道中
Get PRO
二月 '24
+907
在5个频道中
Get PRO
一月 '24
+705
在42个频道中
Get PRO
十二月 '23
+447
在39个频道中
Get PRO
十一月 '23
+162
在31个频道中
Get PRO
十月 '23
+224
在0个频道中
Get PRO
九月 '23
+385
在0个频道中
Get PRO
八月 '23
+2 329
在0个频道中
Get PRO
七月 '23
+498
在1个频道中
Get PRO
六月 '23
+565
在0个频道中
Get PRO
五月 '23
+5 320
在0个频道中
Get PRO
四月 '23
+126
在0个频道中
Get PRO
三月 '23
+422
在0个频道中
Get PRO
二月 '23
+707
在0个频道中
日期
订阅者增长
提及
频道
06 十月+6
05 十月+8
04 十月+3
03 十月0
02 十月0
01 十月+1
频道帖子
Яндекс выложил в опенсорс YTsaurus Flow YTsaurus Flow - фреймворк потоковой обработки данных с сохранением состояния между со
Яндекс выложил в опенсорс YTsaurus Flow YTsaurus Flow - фреймворк потоковой обработки данных с сохранением состояния между событиями, альтернатива зарубежным Spark Structured Streaming и Kafka Streams. Технологию совместно разработали команды Yandex Infrastructure и Яндекс Рекламы для работы с большими потоками данных. Flow изначально создавался для высоконагруженных real-time систем, прежде всего рекомендательных. Позволяет обрабатывать большие потоки событий с сохранением состояния, гарантией exactly-once и автоматическим распределением нагрузки. Это важно для сервисов, где задержка или потеря данных напрямую влияют на качество рекомендаций, антифрода и других ML-систем: свежие события быстрее доходят до моделей, а инфраструктура продолжает работать при сбоях и изменении нагрузки. https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow

2
🎮 Строка из Quake III, которая выглядит как колдовство i = 0x5f3759df - (i >> 1); // what the fuck? Комментарий настоящий. Э
🎮 Строка из Quake III, которая выглядит как колдовство i = 0x5f3759df - (i >> 1); // what the fuck? Комментарий настоящий. Эта строка помогает вычислить 1/√x, не извлекая квадратный корень. В графике такая операция нужна для нормализации векторов: привести их длину к единице, сохранив направление. Как работает трюк? У float внутри есть показатель степени и дробная часть. Если прочитать биты положительного нормализованного числа как целое, получится величина, которая примерно соответствует его логарифму с масштабом и смещением. А дальше используется свойство: log₂(1/√x) = −½ × log₂(x) Сдвиг >> 1 делит целое число на два. Вычитание из подобранной константы меняет знак и компенсирует смещение. Полученные биты снова читаются как float: это уже приближение к ответу. Один шаг метода Ньютона доводит относительную погрешность примерно до 0,18%. В историческом тесте Криса Ломонта функция работала примерно в четыре раза быстрее прямого вычисления 1.0 / sqrt(x). А закомментированная строка на картинке? Это второй шаг Ньютона: ещё больше точности за дополнительные вычисления. 💡 Красота алгоритма в том, что само представление числа в памяти становится частью вычисления. https://github.com/id-Software/Quake-III-Arena/blob/master/code/game/q_math.c
1 087
3
Бьярн Страуструп о своём же C++: «на C легко выстрелить себе в ногу» Создатель C++ однажды описал свой язык так: «На C легко
Бьярн Страуструп о своём же C++: «на C легко выстрелить себе в ногу» Создатель C++ однажды описал свой язык так: «На C легко выстрелить себе в ногу. На C++ это сделать сложнее, но если уж получится, оторвёт всю ногу целиком». В своём FAQ он объясняет: это верно для любого мощного языка. Чем лучше язык защищает от простых ошибок, тем менее очевидными становятся те, что остаются. C++ действительно закрыл многие дыры C: RAII, умные указатели, строгая типизация, а на слайде за его спиной видно, что код на C++20/23 бывает проще и безопаснее старого. Но шаблоны, неопределённое поведение и сложная модель памяти по-прежнему позволяют выстрелить так, что потом неделями ищешь, куда попало.
1 775
4
Полноценный Lisp можно уместить всего в 99 строк C. Внутри при этом: - 21 примитив - REPL - сборщик мусора Cheney GC - числа+1
Полноценный Lisp можно уместить всего в 99 строк C. Внутри при этом: - 21 примитив - REPL - сборщик мусора Cheney GC - числа с плавающей точкой - указатели - типы значений И всё это без `struct`-тегов, без внешних библиотек и без обычных динамических аллокаций для представления объектов. Главный трюк - NaN boxing. IEEE 754 оставляет много битов внутри специальных NaN-значений. Их можно использовать как скрытое хранилище: - часть битов кодирует тип - до 48 бит можно использовать под указатель - обычные double при этом остаются обычными числами В итоге одно 64-битное значение может представлять и число, и указатель, и другие типы данных. Очень красивый пример того, как устройство IEEE 754 можно использовать для построения компактного рантайма языка.
1 961
5
✔️ В C/C++ есть любопытный трюк с AVX-512: `_mm512_maskz_loadu_epi8`. Инструкция может выборочно загрузить до 64 байт по маск
✔️ В C/C++ есть любопытный трюк с AVX-512: `_mm512_maskz_loadu_epi8`. Инструкция может выборочно загрузить до 64 байт по маске. Каждый бит маски отвечает за один байт: - 1 - байт загружается - 0 - вместо него ставится ноль Самое интересное начинается, когда маска полностью нулевая: #include <x86intrin.h> void f(const char *p) { _mm512_maskz_loadu_epi8(0, p); } При нулевой маске память фактически не читается, а результатом становится 512-битный вектор из нулей. То есть значение p в таком случае не влияет на результат, а компилятор при оптимизации вообще может удалить весь вызов. Хороший пример того, насколько необычно работают masked-load инструкции в AVX-512.
2 249
6
C23 сделал enum в C заметно удобнее для низкоуровневого кода. Раньше базовый тип перечисления обычно выбирал компилятор, и en
C23 сделал enum в C заметно удобнее для низкоуровневого кода. Раньше базовый тип перечисления обычно выбирал компилятор, и enum часто занимал размер обычного int: enum status { OK = 0, ERROR = -1 }; На многих системах это 4 байта. В C23 можно явно указать базовый тип: enum status8 : int8_t { OK8 = 0, ERR8 = -1 }; Теперь такой enum занимает 1 байт. Можно и наоборот использовать большой тип: enum status64 : uint64_t { OK64 = 0, ERR64 = UINT64_C(0xFFFFFFFFFFFFFFFF) }; Это особенно полезно там, где важен точный layout структуры, ABI, сетевые протоколы, embedded и работа с бинарными форматами. В C23 размер enum теперь можно контролировать явно, а не полагаться на выбор компилятора.
2 779
7
Minimum-Cost Maximum-Flow всего в ~110 строках C++ Хороший компактный пример одного из самых полезных алгоритмов на графах. З+1
Minimum-Cost Maximum-Flow всего в ~110 строках C++ Хороший компактный пример одного из самых полезных алгоритмов на графах. Задача MCMF: провести через сеть максимально возможный поток и одновременно сделать его стоимость минимальной. В этой реализации: - residual graph хранит оставшиеся возможности для потока - SPFA каждый раз ищет самый дешёвый увеличивающий путь - после поиска определяется bottleneck - сколько потока реально можно протолкнуть по найденному пути - поток отправляется по пути - процесс повторяется, пока путь из источника в сток больше найти нельзя Особенно красивый трюк - обратные рёбра. Прямое и обратное ребро добавляются подряд, поэтому получить индекс пары можно через: id ^ 1 Если id чётный, id ^ 1 даст следующее нечётное ребро. Если нечётный - вернёт предыдущее чётное. MCMF пригодится там, где мало просто найти максимальный поток и у каждого решения есть цена: • назначение сотрудников на задачи • логистика • маршрутизация • matching с разной стоимостью • распределение ресурсов • расписания Компактный пример того, как residual network, shortest path и greedy augmentation собираются в один мощный алгоритм.
2 155
8
🐧 Linux Cheat Sheet - шпаргалка по командам Linux Самая удобная шпаргалка по Linux и Bash на русском: теория простым языком
🐧 Linux Cheat Sheet - шпаргалка по командам Linux Самая удобная шпаргалка по Linux и Bash на русском: теория простым языком (как устроены файлы, процессы, права, память, загрузка и сеть), команды терминала, права доступа, процессы, сеть, SSH, systemd, grep/sed/awk, Vim и готовые однострочники - с примерами. А для тех, кто идёт дальше, - продвинутый уровень: Bash для профи, LVM и RAID, трассировка и производительность, ядро, безопасность, контейнеры, восстановление системы и вопросы с собеседований. https://github.com/justxor/Linux-/
2 513
9
没有文字...
2 226
10
`🤖 В SourceCraft появилась команда цифровых разработчиков Агентам можно назначать задачи прямо в GitLab. Они работают под собственными учётными записями, выполняют поручения и возвращают результат разработчику. Если по ходу работы чего-то не хватает, агент сам запрашивает данные или согласование у команды — то есть не останавливается на первом незаполненном месте. Ещё можно подключить собственного агента, в том числе созданного в Yandex AI Studio.
2 271
11
😂 Собеседование на C++ прошло успешно HR: у вас есть опыт с C++? Я: конечно, отлично знаю оператор `goes to`. int x = 10; wh
😂 Собеседование на C++ прошло успешно HR: у вас есть опыт с C++? Я: конечно, отлично знаю оператор `goes to`. int x = 10; while (x --> 0) { std::cout << x << '\n'; } Никакого специального --> оператора в C++ тут нет. Это просто: x-- > 0 Сначала берётся текущее значение x и сравнивается с 0, а затем x уменьшается на единицу. Поэтому код выведет: 9 8 7 6 5 4 3 2 1 0 Один из тех C++-трюков, который выглядит как отдельный оператор, хотя на самом деле это просто удачно поставленные -- и >.
2 344
12
Физически корректный ray tracer всего в 99 строках C++ smallpt от Kevin Beason - один из самых известных примеров того, наско+1
Физически корректный ray tracer всего в 99 строках C++ smallpt от Kevin Beason - один из самых известных примеров того, насколько компактным может быть настоящий path tracer. В этих 99 строках есть: * отражения * преломления * мягкие тени * color bleeding * зеркальные и стеклянные поверхности Основа при этом минимальная: векторы, лучи, сферы и одна рекурсивная функция radiance(). Если дать рендеру тысячи samples per pixel, он собирает полноценный Cornell Box с зеркальной и стеклянной сферами. Проект появился ещё в 2008 году и до сих пор отлично показывает базовую механику path tracing.
2 358
13
⚡️ Как спроектировать ИИ-агента над корпоративными данными 6 октября в 17:00 мск пройдёт новая встреча Архитектурного клуба Яндекс 360 — открытого сообщества для архитекторов и инженеров высоконагруженных систем. Даниил Смирнов, руководитель службы бэкенд-разработки Антиспама Яндекс 360 , разберёт архитектуру корпоративного агента: оркестратор, инструменты, память, EVAL и наблюдаемость. На эфире обсудят: - как сочетать полнотекстовый и векторный поиск, метаданные, фильтры и переранжирование; - как наследовать права исходных систем и изолировать данные разных пользователей и организаций; - как не выдавать из индекса и кеша данные тем, у кого нет доступа; - как ограничивать автономность агента; - как отдельно оценивать качество поиска, выбора инструментов и итогового ответа. 📅 6 октября, 17:00 мск 💻 Онлайн, участие бесплатное → Зарегистрироваться на встречу https://events.yandex.ru/events/yandex360/architechture_club?utm_source=telegram&utm_medium=social&utm_campaign=archclub&utm_content=cpluspluc
1 947
14
Лицо C++-разработчика, когда он написал 6000 строк кода, чтобы обогнать твои 4 строки на Python на 0,000438 секунды.
Лицо C++-разработчика, когда он написал 6000 строк кода, чтобы обогнать твои 4 строки на Python на 0,000438 секунды.
4 214
15
Как посчитать миллиарды уникальных значений, используя всего несколько килобайт памяти Для этого существует HyperLogLog - вер
Как посчитать миллиарды уникальных значений, используя всего несколько килобайт памяти Для этого существует HyperLogLog - вероятностный алгоритм оценки количества уникальных элементов. Вместо хранения каждого значения он: — хеширует элементы — распределяет их по buckets — отслеживает необычно длинные последовательности нулей в хэшах — по этой статистике оценивает cardinality Например, с 16384 регистрами можно оценивать даже огромные множества, занимая порядка десятков килобайт памяти. При этом ошибка может оставаться около 1%. Именно поэтому HyperLogLog любят в аналитике и больших данных: посчитать COUNT(DISTINCT ...) для миллиардов объектов можно без хранения миллиардов ID. Магия тут не в точности до последнего элемента, а в очень хорошем компромиссе между памятью и результатом.
2 920
16
Разработчики 3D-графики, все сюда Если вы пишете рендер на C++ с отдельным RenderThread, то знаете эту боль: данные грузятся
Разработчики 3D-графики, все сюда Если вы пишете рендер на C++ с отдельным RenderThread, то знаете эту боль: данные грузятся в фоне, а GPU-ресурсы всё равно создаются в потоке отрисовки. И пока RenderThread в длинном цикле создаёт буферы и текстуры, он не рисует — он стоит, пока не обработает список загруженных ресурсов. Мы это исправили! В новой статье на Хабре рассказываем, как пришли к новому подходу: 1. как вынесли создание буферов и текстур на потоки загрузки, 2. что сделали для Metal, а что для Vulkan, 3. и какие ограничения графических API пришлось учесть. Другие инженерные инсайты от 2ГИС → в Telegram-канале RnD
1 193
17
⚙️ useful_abstractions - вычисления на этапе компиляции в C++23 Библиотека упрощает работу с constexpr и consteval. Один заголовочный файл, без зависимостей за пределами стандартной библиотеки. Что можно делать при компиляции: * Передавать строки в параметры шаблонов и собирать их из частей. * Вычислять хеши. * Получать имена типов без RTTI. * Экранировать строки для JSON, URL и HTML. * Проверять UTF-8 и преобразовывать его в UTF-16/UTF-32. * Останавливать сборку с понятным сообщением при ошибке в данных. Например, некорректный строковый литерал или недопустимое значение можно обнаружить ещё до запуска программы. Требуется C++23: GCC 14+, Clang 19+ или свежий AppleClang. Документация — https://constexprcore.github.io/useful_abstractions/
2 701
18
Разница между C++ и Python
Разница между C++ и Python
2 036
19
«Я про бэкенд»: как устроены AI-системы под капотом бигтеха 🗓 3 октября, Москва и онлайн О чём: как разработчики высоконагруженных рекомендательных и генеративных систем справляются с нетривиальными вызовами. Доклады в 6 направлениях — от архитектуры систем с AI/ML до MLOps и работы на стыке бэкенда с железом. Часть спикеров: 🎤 Михаил Цветков (Алиса AI и Умные устройства) — как устроен инференс генеративных ответов Алисы в Поиске 🎤 Алина Шестакова (Positive Technologies, Cloud SIEM) — вердикт за минуту: ML-фильтр и LLM на потоке более 40 тысяч событий в секунду 🎤 Андрей Аксёнов (Авито) — база векторных баз 🎤 Егор Хайруллин (Рекламные технологии Яндекса) — как распределённо обрабатывать более 100 ГБ/с в реальном времени без потерь и дублей с помощью YTsaurus Flow 🎤 Владислав Тюльбашев (Яндекс) — как надежно раздавать конфиги на 200к хостов при отказе [n-1] ДЦ 🎤 Алексей Логинов (Алиса AI и Умные устройства) — как сделать агентную платформу надёжной Кроме того, зрителей ждет традиционный лайв, где бэкенд-инженеры Яндекса спроектируют архитектуру сложного сервиса в реальном времени. В этот раз задачу для эфира можете задать вы: участвуйте в проекте «2718», отправляйте свои кейсы, а организаторы выберут среди них самый сложный для открытого разбора. Полная программа и регистрация
3 112
20
💡 Алгоритм Флойда находит цикл в связном списке всего с двумя указателями и `O(1)` дополнительной памяти. Идея простая: slow
💡 Алгоритм Флойда находит цикл в связном списке всего с двумя указателями и `O(1)` дополнительной памяти. Идея простая: slow двигается на 1 узел fast — на 2 Если цикл есть, они обязательно встретятся. После встречи один указатель возвращаем в head, а дальше оба двигаем по одному узлу. Следующая точка встречи — точное начало цикла. Node *detect_cycle(Node *head) { Node *slow = head, *fast = head; while (fast && fast->next) { slow = slow->next; fast = fast->next->next; if (slow == fast) { slow = head; while (slow != fast) { slow = slow->next; fast = fast->next; } return slow; } } return NULL; } Сложность: O(n) по времени O(1) по памяти Один из самых красивых примеров того, как простая математика по модулю превращается в очень практичный алгоритм.
2 142