C++ and other lectures – Telegram
C++ and other lectures
9.39K subscribers
40 photos
3 files
241 links
Учебный канал в Телеграм: тут будут анонсы и ссылки на лекции и стримы.

Написать автору: @Tilir

Boosty автора: https://boosty.to/cpp_lects_rus
Download Telegram
Выложил тринадцатую лекцию магистерского курса на английском

https://youtu.be/8C2u9QrGygY

На этой лекции мы начнём разговор о диапазонах -- фундаментальном улучшении стандартной библиотеки. Мы покажем как даже классические алгоритмы были улучшены концептами в пространстве имён ranges. Далее мы введём понятие диапазона -- между итератором и ограничителем. Нас ждёт увлекательная встреча с механизмом безопасности итераторов -- borrowed ranges. Во второй части лекции мы рассмотрим views -- легковесные отображения и увидим по настоящему странные ограничители, позволяющие даже бесконечные диапазоны. Закончим мы на общем обзоре стандартных отображений.

Timeline
00:00 Intro: When the Standard Library Was Young
05:00 Sentinels
09:58 Hierarchical Range Concepts
16:35 Dangling Iterators and Borrowed Ranges
22:22 Views: Lightweight Ranges
26:01 CRTP and view_interface
30:15 Why string_view Is a Poor View
35:27 Curious Uses of Sentinels
46:50 Infinite Views and Their Finite Parts
49:41 Constness Propagation -- End of Part I

#cpp_postgraduate
👍3721🔥10❤‍🔥2🤯2👀1
Опубликовали наше с Юлием Тарасовым выступление по корутинным оптимизациям в LLVM. Всегда интересно заглянуть как это там под капотом. Прекрасный способ провести пятничный вечер, я считаю ))

https://youtu.be/UH2Y1I2HuBE

Timeline:
01:00 Intro: Routine, Subroutine
05:36 Thread Routines and Coroutines
10:20 Stackfull and Stackless Coroutines
14:11 C++ Coroutines Flexibility And Thread Independence
17:10 What Compiler Shall Do?
20:50 Yuly Appears: Clang/LLVM Coroutines
25:40 How C++ Coroutines Transformed in LLVM
31:25 How To Help Compiler With Elide?
36:13 Wrap-up and Q&A

#conference
🔥53👍138❤‍🔥3
Выложил последнюю лекцию первой части англоязычного магистерского курса.

https://youtu.be/ME1PJmOSMYg

Эта лекция продолжает разговор о диапазонах. Мы посмотрим как устроены изнутри стандартные отображения и на какие компромиссы приходится идти при работе с ними. Также мы углубимся в pull model и разберём некоторые её неочевидные последствия. Далее нас ждёт главное преимущество диапазонов -- возможность их бесшовной адаптации и склеивания с помощью специальных функцие-подобных объектов -- Ниблоидов. И в самом конце я покажу какие ошибки могут возникать при работе с диапазонами и как выглядит борьба с этими ошибками.

00:00 Intro: Views as Projections
05:52 Inside transform_view and More Dangling
12:27 Hesitant Behavior
16:41 Inside filter_view and Caching
22:48 Quirks of the Pull Model
30:25 Range Adaptation and Niebloids
37:20 Case Study: Trimming a String
46:55 CRTP Base for Adaptors
52:42 Bug Hunt: Dealing with Ranges in Practice
01:04:45 Lessons Learned and Bibliography

#cpp_graduate
🔥5416👍9
Из докладов System Level Meetup могу также порекомендовать доклад Насти Черниковой (вы её уже видели на этом канале) про чекеры в clang-tidy.

https://www.youtube.com/watch?v=UCc2xtyMhuo

00:00 Intro: что делать с UB?
06:50 Статический анализ.
11:48 Как выглядит AST и что такое матчеры.
18:10 Пишем собственный чекер.
25:38 Ограничения статического анализа и выводы
30:05 Ответы на вопросы.

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

P. S. Хотя бы полистайте по таймстемпам посмотрите разных драконов. Мне кажется получилось гениально (дракон официальный маскот clang).

#conference
🔥44👍147🍌3💅2🦄2
Пост итогов 2025-го года.

Новый год уже стучится в двери. В этом посте я подведу свои итоги. Призываю всех в комментариях делиться своими ощущениями от года и нашего канала. Или просто поздравлять меня и друг друга. Особенно круто поздравлять непосредственно в новогоднюю ночь. В эту новогоднюю ночь я буду далеко от цивилизации (в лесу) и присоединюсь к вашим поздравлениям в лучшем случае утром. И, поскольку у всех жителей нашей страны от Владивостока до Калининграда новогодняя ночь наступает по разному, я выложил этот пост чуточку заранее.

К слову о нашей необъятной стране -- за этот год я основательно её объездил (благодаря вышедшей книге). Встречи с читателями были мной проведены в Санкт-Петербурге, Москве, Новосибирске, Минске, Нижнем Новгороде, Ростове на Дону, Йошкар Оле, Великом Новгороде, Екатеринбурге, Казани, и в конце года ещё разок в Москве. Суммарно на встречах со мной и на гостевых лекциях побывало человек 350-400. Для меня это был важный опыт и я наконец-то посмотрел Россию. Россия замечательная страна, если вы не знали. У меня немного не сложилось с Владивостоком, с Магасом и с Нижним Тагилом, во все три меня в общем звали но я не доехал по разным причинам. Может быть ещё сложится.

Среди докладов этого года самые важные это доклад про модули на C++ Russia и доклад на SnowOne про ограничения статических компиляторов. Также много позитивных отзывов собрали моя лекция про коэволюцию языков, компиляторов и инструментов разработки в iSpring и про распределение регистров в ИТМО.

Как обычно, я продолжаю выводить в свет своих учеников и коллег. Среди тех, кого хочется отметить, конечно, Настя Черникова (со мной и без меня и ещё разок без меня), Илья Андреев, Владислав Белов, Никита Руденко, Илья Гаврилин и Юлий Тарасов.

Гигантским достижением этого года я считаю курс на Stepik по RISC-V, сделанный совместно с Марком Гончаровым и Настей Черниковой. Он взят на вооружение в пяти университетах, и на него уже более тысячи регистраций.

Своим чередом развивался мой любимый проект генератора llvm-snippy. Я прочитал пару докладов (например этот), мы выпустили опен-сорс релиз и сделали документацию на github pages. Генератор был принят в симулятор spike (он же riscv-isa-sim) для тестирования модели случайными тестами.

Главной авантюрой этого года я считаю начало выкладки англоязычного курса. Я не был уверен, что из этого вообще получится что-то хорошее. Отмечу, что влияние этой выкладки на мой Linkedin было колоссальным: моя профессиональная сеть выросла до 2.4к (+1.5к) за счёт добавляющихся в друзья разработчиков из дружественных стран. Теперь, если что, я точно найду себе работу. По крайней мере -- в Индии. По просмотрам пока не так радужно, но лиха беда начало. Громадная благодарность Владиславу Белову, Насте Черниковой и Даниилу Авдееву за постоянную поддержку. Без них я бы не справился.

В целом, мой телеграм-канал вырос до более чем 9к человек (+2.5к), а мой youtube-канал до более чем 29к (+5к). Хочется выразить огромную благодарность Владиславу Белову и Максиму Москальцу за неусыпную модерацию нашего сообщества.

Планы на следующий год пока не ясны -- у меня с ними традиционно сложно. Но, возможно, в начале года что-то расскажу насчёт книги по C++, которую от меня все так долго ждали. Концепция у меня уже есть, кое-что уже готово. Может быть, я даже попрошу вашей помощи.

Я хотел бы пожелать всем моим уважаемым друзьям на этом канале (всем более чем девяти тысячам), чтобы в наступающем году у вас было много амбициозных планов, много мотивации и сил для их претворения и чтобы не было проблем с внешними обстоятельствами.

Всех с наступающим Новым Годом!

P. S. Бонусом -- мнение микроволновки о моих итогах года. В комментариях можете пошарить мнение вашего пылесоса о вас.

#official #happynewyear
180🎄73🔥19🍾16👏53👍3🙏2
draft-26-01-11.pdf
3.2 MB
Всем привет! Хотелось бы начать новый год с какого-то большого и важного анонса.

Многие спрашивали, будет ли у меня всё-таки книга по C++. Мне бы и самому хотелось это знать. Поэтому я решил выложить драфт -- первые три главы потенциальной книги. Объём -- примерно 20 страниц на главу, плюс ещё страниц 10–15 константного оверхеда, потому что выкладываю одним куском вместе с обложкой. К слову, обложкой искренне горжусь, очень концептуальная, очень.

Подчеркну: это демо-версия потенциальной книги. Я пока даже не очень уверен в её составе на уровне крупных разделов. И уж точно у меня пока нет контракта с издательством и всего такого.

Почитайте и напишите в комментариях, что думаете. А я через некоторое время вернусь с информацией (и опросом) на тему того, как вы сможете помочь этой книге состояться — если вам её идея покажется интересной. По первым трём главам, мне кажется, уже можно сделать какие-то выводы.

#official #cpp_graduate #cpp_postgraduate
🔥31645👍30👏7❤‍🔥3🙏3🤔2
Всем привет. Немного дружеского пиара.

Открыт набор на бесплатные курсы от компании Yadro. Подходит для студентов 2 курса и старше. Можно проходить онлайн, можно ходить в офис Yadro и проходить очно.

Направления:
* Программирование микроконтроллеров
* Верификация систем на кристалле
* DevOps

И всякое другое.

https://edu.yadro.com/practical-courses/#admission

Заявки принимаются до 2 февраля.

#official
🔥7817👍61
Всем привет. Хочется попросить совета у моих добрых подписчиков. Ниже будет небольшой опрос, который может что-то поменять в формате канала. Но сначала небольшое введение.

Как многие из вас знают я недавно написал книжку по компиляторам, которая неплохо продалась. Собственно тираж 5000 почти улетел, что для такого рода литературы -- массовый успех на уровне чего-то невероятного. В целом опыт был интересный. И я ещё и поездил посмотрел Россию, чего вряд ли бы сделал без такого повода как встречи с читателями.

Но с коммерческой точки зрения... в общем это было худшее в моей жизни вложение усилий. Автор получает процент от отпускной цены издательства (а не от цены в магазине). И эта цена не слишком высока. И этот процент не очень велик. В моём случае каждая книга принесла мне невероятные 36 рублей до уплаты налогов. Можете умножить и получить что итог был куда меньше чем обычная месячная зарплата. Я бы сказал ближе к недельной.

Конечно, чтобы писать книгу по C++ я бы хотел продумать как именно мои усилия отобьются. И вот тут мне и нужна ваша помощь.

Я вижу три основных варианта.

Первый вариант -- чистый опен-сорс. Открытый гитхаб, бесплатная выкачка и т.д. Я так писал первый вариант этой книги. Как вы можете видеть -- я его с 2010-го не дописал, увы. Кроме того это (почти) исключает появление артефакта на бумаге. Ну кроме случаев когда кто-то сам себе распечатает на офисном принтере, что ностальгически, но.

Второй вариант -- поискать издательство побогаче или получше договориться с этим. Вариант мало реальный. Ценник такой скромный потому что бумажная книга, логистика и всё остальное стоят денег и потому что издательство несёт риски. Например, в случае с моей книгой они за свой счёт перепечатали бракованный тираж и всё такое.

Третий вариант -- разный приятный краудфандинг. Условные бусти, спонср, патреон и платник в тг. Возможны разные модели: от разового сбора средств и до регулярного подписного с разными уровнями. Мне нравится журнальный формат -- подписка и поглавная выкладка. Я мог бы даже использовать его не только для выкладки книги. Если всё хорошо пойдёт туда можно размещать всякое (премиальные лекции, стримы, реакты на чужие видео, ну вы понимаете -- подзамок многое стерпит). Вариант тоже не идеальный -- бумажная версия при нём будет прямо очень затруднена. Но, возможно, отобьётся всё очень быстро.

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

#official
🔥5211👍75😁2
Немного подзамочного контента для моих уважаемых подписчиков.

Ни для кого не секрет, что мой магистерский курс этого года я записывал на английском языке. Меньше людей знает, что исходно он читался на русском языке, на английский я (нейронкой) до лекции переводил только слайды. Далее я брал другую нейронку, распознавал свой голос с записи лекции, грузил вместе со слайдами в третью нейронку и просил сделать мне подстрочник на английском и с этого подстрочника на английском уже и читал.

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

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

Have fun.

Лекция 1. Душа C++
Лекция 2. Строки
Лекция 3. Строительные блоки обобщённого программирования
Лекция 4. Разрешение имён
Лекция 5. Вывод типов
Лекция 6. Инстанцирование шаблонов
Лекция 7. Модули часть 1. История и ODR
Лекция 8. Модули часть 2. Собственно модули
Лекция 9. SFINAE
Лекция 10. Constexpr часть 1. Основы и пещера джина
Лекция 11. Constexpr часть 2. Кошкодевочки в пещере джина
Лекция 12. Лямбды: функциональная подсистема
Лекция 13. Ranges часть 1. Основные концепции
Лекция 14. Ranges часть 2. Проблемы и ловля багов

Да, все ссылки на rutube, я стримил туда.

#cpp_postgraduate
🔥30469👍33🥰6❤‍🔥4😁3🙏3🥴3🕊1🍓1🤓1
Итак, в опросе содержательно проголосовали более 1800 человек (и ещё почти 400 просто сделали тыц). Из содержательно проголосовавших большинство (почти 900 человек) проголосовало за бусти.

Спасибо за такую поддержку, я сделал.

https://boosty.to/cpp_lects_rus

Посты с выкладкой книжки можно купить без подписки, выкладка по несколько глав, цена 50 рублей за главу. То есть первые три за 150. Имеет смысл купить даже первые три т.к. я буду по мере написания книги модифицировать посты, внося туда изменения и фиксы, а доступ у вас останется, я проверил.

Конечно подписчикам даже минимального тира все эти посты будут доступны бесплатно. Вряд ли вы сильно сэкономите, минимальный тир стоит примерно как две главы в месяц а я вряд ли буду столько писать. Так что будем считать что подписки -- просто для поддержки канала.

Ну и теперь у всех есть возможность поддержать канал.

По мере набора подписчиков, буду дополнять контент. Например устраивать на бусти стримы с такими своего рода онлайн встречами с читателями. Ну и вообще что-нибудь придумаю.

UPD: ещё ссылочку для донатов сделал: https://boosty.to/cpp_lects_rus/donate

#official
157🔥62👏18👍12👎5🙏4🏆3💩2🤔1