C++ and other lectures
8.48K subscribers
39 photos
2 files
210 links
Учебный канал в Телеграм: тут будут анонсы и ссылки на лекции и стримы. Написать автору: @Tilir
Download Telegram
Всем привет. Я сегодня посмотрел лучшее в этом году видео по C++ (я учитываю только англоязычные). Я не скажу какое до лекции по ranges иначе, боюсь, вы увидите в моём творчестве слишком много ремейков. Но я приглашаю всех в этом чате т.к. год в плане C++ событий заканчивается, написать какое из видео с зарубежных конференций этого 2022 года было самым полезным для вас.

P. S. Если никто не угадает, то до конца года выложу что это за доклад и его таймлайн.

#questions #talks
👍32😁3🤔3🤯2😱2👨‍💻2💋1👀1
Выложил лекцию по выводу типов и правым ссылкам. Благодаря правильной структуре курса (вывод типов после концептов и SFINAE) получилось включить некоторые примеры Йосьюттиса где концепты облегчают множества перегрузок для форвардящих конструкторов. Правда Нико считал что это ночной кошмар, но мне кажется, что правила избегания проблем тут довольно просты и систематичны.

https://youtu.be/zrZdBzXBZtE

#cpp_postgraduate
👍47🔥63
Больше подзамочного контента для моих уважаемых подписчиков. Семинары 10, 11 и 12 базового курса этого года.

Семинары 10 и 11 в один день и одним видео т.к. мы одно занятие пропустили. Благо они посвящены исключениям и как раз получилось полное изложение.
Семинар 12 по проектированию в этот раз пожалуй менее убедительный чем в прошлом году, но я кое-что учёл и пофиксил из комментариев.

Семинары 10, 11: https://youtu.be/gUaDkStyICc
Семинар 12: https://youtu.be/SlYFPGuYIcM

Более ранние выпуски:
7,8,9: https://t.me/cpp_lects_rus/59
4,5,6: https://t.me/cpp_lects_rus/51
1,2,3: https://t.me/cpp_lects_rus/45

#cpp_graduate
👍38🔥158🐳1
Сегодняшний стрим для первого курса по динамическому программированию (и немного по линейному).

https://youtu.be/KQlldBz77u8

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

#c_graduate
🔥26👍14🥰1
Выложил лекцию по вариабельным шаблонам. Отличия от прошлых лет существенные: даже в базовой части шаблонов и свёрток я теперь копаю куда глубже, беззастенчиво пользуясь тем, что курс магистерский и можно отрываться. Кроме того, у меня появилась возможность рассказать о вариабельных концептах и о раскрытии свёрток в концептах и я этим тоже воспользовался.

https://youtu.be/op7z7R6aBvk

#cpp_postgraduate
🔥38👍11❤‍🔥11
Выложил лямбды. Я в этом году, как мне кажется, смог наконец-то придти к правильной структуре этой лекции, мотивировав через лямбды массу захватывающих вещей.

У меня там к сожалению получились несколько минут (!) непрерывного сообщения откровенной неправды, которую я только после лекции слазил проверить в стандарт. Но я не стал вырезать: я довольно честно так заблуждался много лет (насчет того есть ли в кложуре круглые скобки), позаблуждайтесь со мной в последний раз.

Но многое другое получилось хорошо.

https://youtu.be/j-UyAKux590

#cpp_postgraduate
🔥33👍16
Готовлюсь к лекции по 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

Большая просьба именно проиллюстрировать ход мысли. Куда пойдёте в стандарте, что будете смотреть.

#questions
👀9🤔7
Первая часть лекции про диапазоны.

https://youtu.be/sfweY8osTEs

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

Ну и да в конце первой части я сорву покров мрака с расхождения между компиляторами в трактовке старшинства семантических процессов.

#cpp_postgraduate
34❤‍🔥5💯4👍2🫡1
Ещё один вопрос по диапазонам. Надеюсь после моей лекции все устыдились и ответы будут обстоятельными и интересными.

Есть код:

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 там нечто более интересное.

Опять таки исходный библиотечный код один и тот же. Как бы вы это исследовали? Кто тут прав?

#questions
🤔14👍1👀1
Я и не заметил, что у меня тысяча подписчиков в телеграме. Всем спасибо, это важная веха для моего телеграм-канала. Расскажите, а вы хотите приуроченный к этому числу специальный выпуск и если да то о чём? Можете писать в комментарии темы или лайкать написанные. До НГ не обещаю, но всё возможно ))

#official
🎉126🍾135🔥4👍2🐳2
Итак, последняя в этом семестре лекция магистерского курса.

Мне кажется что наконец-то я рассказал диапазоны правильно. Поговорим о кешировании, pull model и её проблемах, константной итерируемости и многом другом. Также заглянем внутрь некоторых нетривиальных отображений.

https://youtu.be/CVMDB3c3too

#cpp_postgraduate
🔥41👍5👏32❤‍🔥1
Итогов 2022 года пост.

Несмотря на некоторые всем известные обстоятельства, мне, кажется, удалось много.

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-го стандарта в компиляторах и много новых интересных задач. Пусть программирование и математика сплачивают нас даже там, где политика разделяет.

В комментариях можно и нужно поздравлять с Новым Годом меня и друг друга и вспоминать чем он вам запомнился в профессиональном плане, но пожалуйста давайте не трогать политику и религию )))

#official #happynewyear
83🎉36👍20🍾15🔥6🎄41🕊1💯1
Выложил видео про twin trees.

https://youtu.be/JoaNcwBVDGE

Он продолжает традицию пересказов лекций Дональда Кнута. Я объясняю всё что нужно знать предварительно и показываю что-то связанное с реализацией. Получается в ту же тему но другой рассказ, более доступный для аудитории если это студенты.

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

Оригинал лекции от проф. Кнута можно найти здесь: https://www.youtube.com/watch?v=zg6YRqT4Duo

#knuth #cpp_graduate
🔥59👍163🫡3🥰1👏1
Мой доклад на C++ Russia уже утвердили. Составьте мне компанию. Я уверен вам есть что рассказать. Если что спрашивайте в комментарии или можете кидать туда же идеи для своих выступлений, обсудим. Я конечно не в программном комитете, но я думаю я понимаю их логику ))

#conference
19👍4
Forwarded from C++ user group moscow
Приглашаем вас выступить на конференции C++ Russia 2023!

В этом году конференция будет идти четыре дня: 11–12 мая в онлайне и 23–24 мая в офлайне в Москве. И вы можете выступить на ней.

Что даст выступление на C++ Russia?
— Развитие личного бренда и улучшение навыка публичных выступлений.
— Возможность обсудить рабочие задачи в неформальной обстановке.
— Билет на все конференции весны от JUG Ru Group.
— Общение с комьюнити и экспертами Программного комитета.

Можно выбрать любой формат — классический доклад, воркшоп, дискуссию или предложить что-нибудь свое. Вам помогут подготовиться, проведут репетиции, а после конференции вы получите запись в 4K на YouTube, чтобы поделиться ей с друзьями и коллегами.

Выбирайте тему на сайте или предлагайте свои идеи и подавайте заявку на выступление до 20 февраля.

Билеты на C++ Russia 2023 уже в продаже.
👍29👏2🥰1
Выложил лекцию по умным указателям. Я очень старался не растягивать её в этом году на две части т. к. для магистрантов там не слишком много новизны. Поэтому некоторые вещи я пробежал очень быстро. Но при этом я также постарался её реорганизовать во-первых в явном виде рассмотрев и описав альтернативы владения, и вот тут я времени не жалел так как это очень важно. А во-вторых я связал её с аллокаторами и добавил систематический разбор "Санкелевских" кейсов.

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

#cpp_postgraduate
🔥57👍12👏32🙏2🐳2🕊1🌭1
Технический опрос. Давайте проголосуем какой звук вам больше нравится?
Final Results
33%
Стерео с ревербацией как в лекции по умным указателям.
67%
Моно как в лекции по полиморфным аллокаторам.
🤡2🙏1🕊1💔1