C++ and other lectures
前往频道在 Telegram
Учебный канал в Телеграм: тут будут анонсы и ссылки на лекции и стримы. Написать автору: @Tilir Boosty автора: https://boosty.to/cpp_lects_rus
显示更多📈 Telegram 频道 C++ and other lectures 的分析概览
频道 C++ and other lectures (@cpp_lects_rus) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 10 015 名订阅者,在 技术与应用 类别中位列第 12 157,并在 俄罗斯 地区排名第 63 447 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 10 015 名订阅者。
根据 28 十月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 50,过去 24 小时变化为 0,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 83.27%。内容发布后 24 小时内通常能获得 33.73% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 8 339 次浏览,首日通常累积 3 378 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 134。
- 主题关注点: 内容集中在 компилятор, c++, llvm, struct, compilers 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“Учебный канал в Телеграм: тут будут анонсы и ссылки на лекции и стримы.
Написать автору: @Tilir
Boosty автора: https://boosty.to/cpp_lects_rus”
凭借高频更新(最新数据采集于 29 十月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
10 015
订阅者
无数据24 小时
+87 天
+5030 天
帖子存档
10 015
Выложил очередную лекцию магистерского курса, посвящённую многопоточным очередям. Это своего рода новация, в прошлом курсе этот материал читался иначе и не в полном объёме. Этой лекцией я искренне горжусь так как в ней есть и драматургия и композиционная согласованность: одно следует из другого, а концовка возвращает к началу.
https://youtu.be/CMnRgnoWzmA
Мы начнём с разговора о ментальной модели мьютекса. Далее мы попробуем собрать из имеющегося инструментария очередь, убедимся что у нас остались проблемы, решим их и соберём ещё одну. Далее мы сделаем важнейший шаг перейдя от очереди данных к очереди упакованных задач. Для этого нам придётся наладить каналы коммуникации с потоками, познакомиться с маршалингом исключений и рассмотреть несколько новых концепций по дороге. Но в итоге мы придём к цели. Или почти придём, следите за руками.
10 015
Выложил вторую часть многопоточности.
В ней мы должны познакомиться со всем находящимся в наших руках классическим инструментарием (пока не залезая внутрь него). В первую очередь мы рассмотрим одноразовую инициализацию и разберём известный антипаттерн double-checked lock. Далее мы перейдём к идее условных переменных и введём понятия uniuque_lock, нотификаций и внезапных пробуждений. Потом нас ждёт много попыток понять что же происходит в нашем многопоточном приложении. Ну и под конец мы зароемся глубже в разделяемые и прочие виды блокировок.
https://youtu.be/vVRNJjf1MCE
10 015
Выложил первую часть многопоточности.
На этой лекции мы выходим на коду нашего курса: многопоточность во всех её проявлениях. Начнём мы с грунтования фундамента и разбора простых и фундаментальных вещей. Что такое область памяти? Что такое поток? Что такое гонка? Зачем нужен volatile? Что такое безопасность относительно многопоточности? Мы ответим на все эти вопросы. Также мы разберём основные проблемы проектирования для многопоточной безопасности: API races и deadlocks.
Сейчас идёт премьера а после её окончания будет доступно видео с разметкой по эпизодам.
https://youtu.be/xTpAJWe7ZD4
10 015
Всем привет. Потёр немного оффтопика про fixed-width типы (int8_t, int16_t и т.д.) из другой ветки, но я вижу у людей накипело и предлагаю для on-topic обсуждения эту ветку.
Пока что моё нынешнее личное отношение такое: fixed-width типы это зло и любое их применение это ошибка. Но у меня действительно тут объективно слабовато с аргументацией.
По пунктам из того что есть:
(1)
Если у вас есть 32-битная архитектура (например 32-битный ARM или RISCV) и вы использовали в программе int64_t, как компилятору и библиотеке это трактовать? Вы ждёте ошибку компиляции или вы ждёте int_least64_t и обработку по кускам с хранением в двух регистрах и т.д.? Если да то почему собственно и кто вам это обещал?
(2)
Что вы вообще хотите сказать используя такие типы? Что ваша программа не будет работать если тут не 64 бита? Что вы хотели бы чтобы тут было 64 бита? Что вам всё равно сколько тут бит но вы считаете себя умнее компилятора и вот соптимизировали для x86?
В первом случае это static assert.
(3)
Люди недооценивают опасность (даже в случае если точные 64 бита есть) при переносе с платформы на платформу типов которые меняют статус в зависимости от дефайна. Рассмотрим две платформы на одной из которых int64_t определён в int, а на другой в long long. Допустим вы заводите битфилд такого типа. Вы понимаете последствия?
С удовольствием послушаю что вы думаете на эту тему и может быть скорректирую своё мнение. Только пожалуйста вежливо.
10 015
Выложил лекцию по динамическому полиморфизму.
https://youtu.be/_Jn7MAZYL2M
Я долго ходил вокруг неё кругами и думал включать или нет в магистерский курс. В прошлом году попробовал прочитать не под запись, но тогда она скорее провалилась. Последний толчок был дан благодаря моему подписчику Нику Келбону, показавшему мне библитотеку AnyAny своего авторства: https://github.com/kelbon/AnyAny
Я посмотрел и я понял что теперь я могу что-то рассказывать.
10 015
Технический опрос. Давайте проголосуем какой звук вам больше нравится?
10 015
Выложил лекцию по умным указателям. Я очень старался не растягивать её в этом году на две части т. к. для магистрантов там не слишком много новизны. Поэтому некоторые вещи я пробежал очень быстро. Но при этом я также постарался её реорганизовать во-первых в явном виде рассмотрев и описав альтернативы владения, и вот тут я времени не жалел так как это очень важно. А во-вторых я связал её с аллокаторами и добавил систематический разбор "Санкелевских" кейсов.
https://www.youtube.com/watch?v=OzqFXMDrrgk
10 015
Выложил лекцию по полиморфным аллокаторам. Отмотаем плёнку и попробуем выйти из тупика и изобрести аллокаторы ещё раз. Что то в процессе получится, что-то нет...
https://youtu.be/QwuHX-VjhXI
10 015
Возвращаемся после перерыва к магистерскому курсу и первая лекция это лекция по аллокаторам. Она довольно странная так как в конце мы заходим в тупик, но в процессе там будет много интересного.
https://youtu.be/5xN9bcdHggw
10 015
Repost from C++ user group moscow
Приглашаем вас выступить на конференции C++ Russia 2023!
В этом году конференция будет идти четыре дня: 11–12 мая в онлайне и 23–24 мая в офлайне в Москве. И вы можете выступить на ней.
Что даст выступление на C++ Russia?
— Развитие личного бренда и улучшение навыка публичных выступлений.
— Возможность обсудить рабочие задачи в неформальной обстановке.
— Билет на все конференции весны от JUG Ru Group.
— Общение с комьюнити и экспертами Программного комитета.
Можно выбрать любой формат — классический доклад, воркшоп, дискуссию или предложить что-нибудь свое. Вам помогут подготовиться, проведут репетиции, а после конференции вы получите запись в 4K на YouTube, чтобы поделиться ей с друзьями и коллегами.
Выбирайте тему на сайте или предлагайте свои идеи и подавайте заявку на выступление до 20 февраля.
Билеты на C++ Russia 2023 уже в продаже.
10 015
Мой доклад там уже утвердили. Составьте мне компанию. Я уверен вам есть что рассказать. Если что спрашивайте в комментарии или можете кидать туда же идеи для своих выступлений, обсудим. Я конечно не в программном комитете, но я думаю я понимаю их логику ))
10 015
Выложил видео про twin trees.
https://youtu.be/JoaNcwBVDGE
Он продолжает традицию пересказов лекций Дональда Кнута. Я объясняю всё что нужно знать предварительно и показываю что-то связанное с реализацией. Получается в ту же тему но другой рассказ, более доступный для аудитории если это студенты.
В данном случае я очень горжусь тем что сохранил и даже усилил драматургию: лекция выстроена в виде расследования и в конце всех ждёт внезапный срыв покровов.
Оригинал лекции от проф. Кнута можно найти здесь: https://www.youtube.com/watch?v=zg6YRqT4Duo
10 015
Итогов года пост.
Несмотря на некоторые всем известные обстоятельства, мне кажется удалось много.
1. Я записал вторую часть бакалаврского курса: https://www.youtube.com/playlist?list=PL3BR09unfgciJ1_K_E914nohpiOiHnpsK
Громадное спасибо Дмитрию Рябцеву и Владиславу Белову, без них это было бы невозможно.
2. Я записал первую часть нового магистерского курса: https://www.youtube.com/playlist?list=PL3BR09unfgcgf7R88ZQRQqWOdLy4pRW2h
Громадное спасибо Юлию Тарасову, без него это было бы невозможно.
Также спасибо компании Синтакор и группе компаний Yadro которые не просто взяли мою команду на работу, но и разрешили мне продолжать выделять время на преподавание, выделили аудиторию в офисе, помогли с кафедрой в МФТИ и даже набрали несколько новых студентов этого года в интерны.
Кроме того в этом году я впервые выступил на C++Russia: https://www.youtube.com/watch?v=YJd6Ig4ihJ0&t=75s
И записал допглавы к этому выступлению: https://www.youtube.com/watch?v=-aE1hD9OWRk
Также я заснял ряд дополнительных видео. Особенно удачным, как мне кажется, получился допсеминар про SIMD: https://youtu.be/DHai10xqySU
В новом году хочется всем пожелать быстрого появления 23-го стандарта в компиляторах и много новых интересных задач. Пусть программирование и математика сплачивают нас даже там, где политика разделяет.
В комментариях можно и нужно поздравлять с Новым Годом меня и друг друга и вспоминать чем он вам запомнился в профессиональном плане, но пожалуйста давайте не трогать политику и религию )))
10 015
Итак, последняя в этом семестре лекция магистерского курса.
Мне кажется что наконец-то я рассказал диапазоны правильно. Поговорим о кешировании, pull model и её проблемах, константной итерируемости и многом другом. Также заглянем внутрь некоторых нетривиальных отображений.
https://youtu.be/CVMDB3c3too
10 015
Я и не заметил, что у меня тысяча подписчиков в телеграме. Всем спасибо, это важная веха для моего телеграм-канала. Расскажите, а вы хотите приуроченный к этому числу специальный выпуск и если да то о чём? Можете писать в комментарии темы или лайкать написанные. До НГ не обещаю, но всё возможно ))
10 015
Ещё один вопрос по диапазонам. Надеюсь после моей лекции все устыдились и ответы будут обстоятельными и интересными.
Есть код:
struct S { int x, y; };
std::vector<S> v{{1, 0}, {2, 0}, {4, 0}};
auto it = ranges::find(v | views::transform(std::mem_fn(&S::x)), 4).base();
Что тут происходит: я проецирую вектор на инты, ищу там 4 и прошу итератор (base) на исходный вектор.
https://godbolt.org/z/hhWaPsjsj
Он не работает, но GCC и ToT Clang говорят разные вещи.
У clang там просто ranges::dangling (хотя как может провиснуть итератор на существующий вектор?)
У gcc там нечто более интересное.
Опять таки исходный библиотечный код один и тот же. Как бы вы это исследовали? Кто тут прав?
10 015
Первая часть лекци и про диапазоны.
https://youtu.be/sfweY8osTEs
Первые минут сорок не отличаются да, наверное, и не могут отличаться от того что я обычно рассказываю про диапазоны. Но дальше становится интересно. Я сознательно ограничил себя в этом году в первой части очень простыми диапазонами: чем-то что не сложнее пары из итератора и ограничителя. Зато они у меня получились, как мне кажется, обстоятельно.
Ну и да в конце первой части я сорву покров мрака с расхождения между компиляторами в трактовке старшинства семантических процессов.
10 015
Готовлюсь к лекции по ranges. Есть такой вопрос (а скорее даже опрос) для уважаемых подписчиков этого канала.
Вот есть пример в котором GCC и clang не согласны.
https://godbolt.org/z/1ro9x3nh1
Кто-то, ясное дело, прав, кто-то нет. Мне интересно как бы вы аргументировали кто прав в C++20 и почему.
Также задал вопрос на stackoverflow: https://stackoverflow.com/questions/74668972/c20-move-only-ranges-gcc-vs-clang-on-istream-view-copy
Большая просьба именно проиллюстрировать ход мысли. Куда пойдёте в стандарте, что будете смотреть.
10 015
Выложил лямбды. Я в этом году, как мне кажется, смог наконец-то придти к правильной структуре этой лекции, мотивировав через лямбды массу захватывающих вещей.
У меня там к сожалению получились несколько минут (!) непрерывного сообщения откровенной неправды, которую я только после лекции слазил проверить в стандарт. Но я не стал вырезать: я довольно честно так заблуждался много лет (насчет того есть ли в кложуре круглые скобки), позаблуждайтесь со мной в последний раз.
Но многое другое получилось хорошо.
https://youtu.be/j-UyAKux590
10 015
Выложил лекцию по вариабельным шаблонам. Отличия от прошлых лет существенные: даже в базовой части шаблонов и свёрток я теперь копаю куда глубже, беззастенчиво пользуясь тем, что курс магистерский и можно отрываться. Кроме того, у меня появилась возможность рассказать о вариабельных концептах и о раскрытии свёрток в концептах и я этим тоже воспользовался.
https://youtu.be/op7z7R6aBvk
