Выложил вторую часть многопоточности.
В ней мы должны познакомиться со всем находящимся в наших руках классическим инструментарием (пока не залезая внутрь него). В первую очередь мы рассмотрим одноразовую инициализацию и разберём известный антипаттерн double-checked lock. Далее мы перейдём к идее условных переменных и введём понятия uniuque_lock, нотификаций и внезапных пробуждений. Потом нас ждёт много попыток понять что же происходит в нашем многопоточном приложении. Ну и под конец мы зароемся глубже в разделяемые и прочие виды блокировок.
https://youtu.be/vVRNJjf1MCE
#cpp_postgraduate
В ней мы должны познакомиться со всем находящимся в наших руках классическим инструментарием (пока не залезая внутрь него). В первую очередь мы рассмотрим одноразовую инициализацию и разберём известный антипаттерн double-checked lock. Далее мы перейдём к идее условных переменных и введём понятия uniuque_lock, нотификаций и внезапных пробуждений. Потом нас ждёт много попыток понять что же происходит в нашем многопоточном приложении. Ну и под конец мы зароемся глубже в разделяемые и прочие виды блокировок.
https://youtu.be/vVRNJjf1MCE
#cpp_postgraduate
YouTube
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 19. Многопоточность, часть 2.
Лекции в магистратуре МФТИ по современному C++ на русском языке. Кафедра микропроцессорных технологий.
Продолжая многопоточность мы теперь должны познакомиться со всем находящимся в наших руках инструментарием. В первую очередь мы рассмотрим одноразовую…
Продолжая многопоточность мы теперь должны познакомиться со всем находящимся в наших руках инструментарием. В первую очередь мы рассмотрим одноразовую…
🔥46👍12💅3❤2👎1
Выложил очередную лекцию магистерского курса, посвящённую многопоточным очередям. Это своего рода новация, в прошлом курсе этот материал читался иначе и не в полном объёме. Этой лекцией я искренне горжусь так как в ней есть и драматургия и композиционная согласованность: одно следует из другого, а концовка возвращает к началу.
https://youtu.be/CMnRgnoWzmA
Мы начнём с разговора о ментальной модели мьютекса. Далее мы попробуем собрать из имеющегося инструментария очередь, убедимся что у нас остались проблемы, решим их и соберём ещё одну. Далее мы сделаем важнейший шаг перейдя от очереди данных к очереди упакованных задач. Для этого нам придётся наладить каналы коммуникации с потоками, познакомиться с маршалингом исключений и рассмотреть несколько новых концепций по дороге. Но в итоге мы придём к цели. Или почти придём, следите за руками.
#cpp_postgraduate
https://youtu.be/CMnRgnoWzmA
Мы начнём с разговора о ментальной модели мьютекса. Далее мы попробуем собрать из имеющегося инструментария очередь, убедимся что у нас остались проблемы, решим их и соберём ещё одну. Далее мы сделаем важнейший шаг перейдя от очереди данных к очереди упакованных задач. Для этого нам придётся наладить каналы коммуникации с потоками, познакомиться с маршалингом исключений и рассмотреть несколько новых концепций по дороге. Но в итоге мы придём к цели. Или почти придём, следите за руками.
#cpp_postgraduate
YouTube
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 20. Очереди.
Лекции в магистратуре МФТИ по современному C++ на русском языке. Кафедра микропроцессорных технологий.
На прошлой лекции мы рассмотрели большую часть нашего инструментария. Давайте попробуем собрать из него очередь, убедиться что у нас остались проблемы…
На прошлой лекции мы рассмотрели большую часть нашего инструментария. Давайте попробуем собрать из него очередь, убедиться что у нас остались проблемы…
👍37🔥31❤6
Работа над ошибками (нужна помощь зала).
В комментариях мой уважаемый подписчик Роман Митин указал что я на лекции показал неправильный пример bounded MPMC queue -- на самом деле извлечение и вставка там шли с одного конца и таким образом это был скорее bounded MPMC stack. Для многопоточной среды разница не так велика -- задачи ставятся в "очередь" и разбираются консьюмерами и в общем по циклограмме работы сложно отличить что там было. Но я решил сделать настоящую очередь и заодно улучшить тесты.
И вот тут я обратил внимание что у меня было ещё несколько ошибок, пока в комментариях не замеченных.
(1) В случае multi-producer делать wake_and_done надо на всех продьюсеров один раз иначе бывает так что консьюмеры повыходили но не все продьюсеры ещё закончили.
(2) Саму функцию wait_and_pop надо делать с сигнатурой bool wait_and_pop(T &Data) чтобы понимать есть там что консьюмить или нет
(3) Внутри wait_and_pop условие должно выглядеть так:
CondCons.wait(Lk, [this] { return !empty() || done(); });
if (empty())
return false;
Даже если у нас сигнализирован done, задачи могут быть недоразобраны и поэтому критерий return false это только empty.
(4) Внутри push признак done вообще проверять не надо т.к. это признак отработки всех продьюсеров. Там играет роль только full.
(5) В интерфейсе необходим метод is_empty_and_done() чтобы по нему консьюмеры понимали когда начинать выходить.
В общем это жесть. Пять ошибок в довольно простом коде и я не уверен что я ещё чего-то не пропустил.
Полу-финальные версии bounded stack и bounded queue с тестами на то что они не теряют задач я выложил сюда:
https://github.com/tilir/cpp-masters/blob/master/queues/classic_queue.cc
https://github.com/tilir/cpp-masters/blob/master/queues/classic_stack.cc
Нужна помощь зала в проверке не упустил ли я ещё чего-нибудь. Хочу в среду с этого начать лекцию и не хотелось бы облажаться ещё в чём-нибудь столь же тонком.
#questions
В комментариях мой уважаемый подписчик Роман Митин указал что я на лекции показал неправильный пример bounded MPMC queue -- на самом деле извлечение и вставка там шли с одного конца и таким образом это был скорее bounded MPMC stack. Для многопоточной среды разница не так велика -- задачи ставятся в "очередь" и разбираются консьюмерами и в общем по циклограмме работы сложно отличить что там было. Но я решил сделать настоящую очередь и заодно улучшить тесты.
И вот тут я обратил внимание что у меня было ещё несколько ошибок, пока в комментариях не замеченных.
(1) В случае multi-producer делать wake_and_done надо на всех продьюсеров один раз иначе бывает так что консьюмеры повыходили но не все продьюсеры ещё закончили.
(2) Саму функцию wait_and_pop надо делать с сигнатурой bool wait_and_pop(T &Data) чтобы понимать есть там что консьюмить или нет
(3) Внутри wait_and_pop условие должно выглядеть так:
CondCons.wait(Lk, [this] { return !empty() || done(); });
if (empty())
return false;
Даже если у нас сигнализирован done, задачи могут быть недоразобраны и поэтому критерий return false это только empty.
(4) Внутри push признак done вообще проверять не надо т.к. это признак отработки всех продьюсеров. Там играет роль только full.
(5) В интерфейсе необходим метод is_empty_and_done() чтобы по нему консьюмеры понимали когда начинать выходить.
В общем это жесть. Пять ошибок в довольно простом коде и я не уверен что я ещё чего-то не пропустил.
Полу-финальные версии bounded stack и bounded queue с тестами на то что они не теряют задач я выложил сюда:
https://github.com/tilir/cpp-masters/blob/master/queues/classic_queue.cc
https://github.com/tilir/cpp-masters/blob/master/queues/classic_stack.cc
Нужна помощь зала в проверке не упустил ли я ещё чего-нибудь. Хочу в среду с этого начать лекцию и не хотелось бы облажаться ещё в чём-нибудь столь же тонком.
#questions
👍34🤯10👏4🤨1
Выложил очередную лекцию магистерского курса — первую в длинной серии про атомики. Сейчас начинается премьера, а через полтора часа лекция будет доступна для произвольного просмотра по разметке.
https://youtu.be/JRUbzoVfkkw
На этой лекции мы начнём с обстоятельной работы над ошибками. Надеюсь мне удалось сделать её и увлекательной и поучительной. Ну а дальше всё по обычной схеме. Введение в атомики это классика жанра и что-то там менять только портить. В этом году я заново снял замеры и их можно сравнить с 2019-м, они несколько поменялись (хотя в общем разница между Intel Gen8 и Intel Gen11 не фатальная). Закончим мы разбором thread local переменных.
#cpp_postgraduate
https://youtu.be/JRUbzoVfkkw
На этой лекции мы начнём с обстоятельной работы над ошибками. Надеюсь мне удалось сделать её и увлекательной и поучительной. Ну а дальше всё по обычной схеме. Введение в атомики это классика жанра и что-то там менять только портить. В этом году я заново снял замеры и их можно сравнить с 2019-м, они несколько поменялись (хотя в общем разница между Intel Gen8 и Intel Gen11 не фатальная). Закончим мы разбором thread local переменных.
#cpp_postgraduate
YouTube
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 21. Атомики, часть 1.
Лекции в магистратуре МФТИ по современному C++ на русском языке. Кафедра микропроцессорных технологий.
Эту лекцию начинает долгая работа над ошибками. Мы ещё раз вернёмся к обычным очередям и разберём ошибки и проблемы проектирования в них, включая очень…
Эту лекцию начинает долгая работа над ошибками. Мы ещё раз вернёмся к обычным очередям и разберём ошибки и проблемы проектирования в них, включая очень…
🔥60👏5🦄5❤2👍2👌1
log.txt
12.1 KB
Благодаря моему бывшему студенту и коллеге Саше, который сейчас работает в Канаде, получил возможность поэкспериментировать с ChatGPT4.
Прикладываю лог попытки использовать её для решения на языке C задачи HWF (это задача для первого курса).
user это я.
assistant это нейросеть.
В конце я сдался -- она так и не смогла ничего понять и пройти контест.
#llm
Прикладываю лог попытки использовать её для решения на языке C задачи HWF (это задача для первого курса).
user это я.
assistant это нейросеть.
В конце я сдался -- она так и не смогла ничего понять и пройти контест.
#llm
👍60🔥1
Выложил вторую лекцию по атомикам. Искренне ей горжусь так как впервые мне удалось, если можно так выразится, правильно расставить телегу и лошадь. Ранее я методически ориентировался на Саттера с его juggling razor blades, но, как показала практика, Саттер уделяет много внимания более редкой и экзотической проблеме ABA, упуская более распространённую и насущную проблему гонки вокруг удаления в lock-free программах (reclamation problem).
https://youtu.be/hb_kREmFnX0
Начнём мы с того, что погрузимся в неприятные части атомиков. Начав с рассмотрения уже знакомых нам проблем проектирования, таких как API races (а также посмотрев способ их решения через формальные методы), мы пойдём к более сложным и специфичным проблемам. Первая такая проблема это и будет тот самый reclamaition -- ранний отзыв указателя. Вторая проблема это ABA. Мы поговорим о том какими способами (как аппаратными так и на уровне языка) мы решаем такие проблемы. Закончим мы тем, что потрогаем вопросы переупорядочения.
В первые пять минут — ещё раз объяснение про иерархию свободы от блокировок. Никогда не устаю такое объяснять.
#cpp_postgraduate
https://youtu.be/hb_kREmFnX0
Начнём мы с того, что погрузимся в неприятные части атомиков. Начав с рассмотрения уже знакомых нам проблем проектирования, таких как API races (а также посмотрев способ их решения через формальные методы), мы пойдём к более сложным и специфичным проблемам. Первая такая проблема это и будет тот самый reclamaition -- ранний отзыв указателя. Вторая проблема это ABA. Мы поговорим о том какими способами (как аппаратными так и на уровне языка) мы решаем такие проблемы. Закончим мы тем, что потрогаем вопросы переупорядочения.
В первые пять минут — ещё раз объяснение про иерархию свободы от блокировок. Никогда не устаю такое объяснять.
#cpp_postgraduate
YouTube
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 21. Атомики, часть 2.
Лекции в магистратуре МФТИ по современному C++ на русском языке. Кафедра микропроцессорных технологий.
На этой лекции мы погрузимся в неприятные части атомиков: начав с рассмотрения уже знакомых нам проблем проектирования, таких как API races (а также посмотрев…
На этой лекции мы погрузимся в неприятные части атомиков: начав с рассмотрения уже знакомых нам проблем проектирования, таких как API races (а также посмотрев…
❤27🔥24👍9😘2❤🔥1
Немного контента для гурманов. Шестой уже по счёту черновик допсеминара для первого курса по лексическому и синтаксическому анализу (рассматривается рекурсивный спуск, изложение на С). В чистовом варианте т.е. с видео и обработанным звуком в публичном доступе планирую в следующем году.
https://youtu.be/pZntrD8a6dc
#c_graduate
https://youtu.be/pZntrD8a6dc
#c_graduate
YouTube
Грамматики и языки с примерами на C
Допсеминар для первого курса. Общая теория и немного примеров. Видимо final draft перед записью для канала.
🔥39👍9❤6❤🔥2🐳1
Выложил финальную лекцию по атомикам. На этой лекции мы завершаем рассмотрение этой огромной темы. Наконец-то мы напишем bounded lock-free queue и снимем замеры. Но до этого нам предстоит разобраться с моделями памяти и теорией относительности. Лекция заканчивается большим списком литературы.
https://youtu.be/Y1q_Z2T2UcE
#cpp_postgraduate
https://youtu.be/Y1q_Z2T2UcE
#cpp_postgraduate
YouTube
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 21. Атомики, часть 3.
Лекции в магистратуре МФТИ по современному C++ на русском языке. Кафедра микропроцессорных технологий.
На этой лекции мы завершаем рассмотрение атомиков. Наконец-то мы напишем bounded lock-free queue и снимем замеры. Но до этого нам предстоит разобраться…
На этой лекции мы завершаем рассмотрение атомиков. Наконец-то мы напишем bounded lock-free queue и снимем замеры. Но до этого нам предстоит разобраться…
🔥43👍8❤4🏆2
Выложил новую лекцию по C++. На этот раз она посвящена параллелизму.
https://youtu.be/nvjQTt2RM8A
После того как мы выбрались из атомиков, она гораздо более расслабленная. Начнём мы с рассмотрения параллелизма через политики стандартных алгоритмов. Далее исследуем варианты написания собственных параллельных алгоритмов через std::async. Далее нас ждут GPGPU и основы SYCL. В конце придёт время для того чтобы заглянуть в будущее и посмотреть что встретит нас в 2026-м году и далее.
#cpp_postgraduate
https://youtu.be/nvjQTt2RM8A
После того как мы выбрались из атомиков, она гораздо более расслабленная. Начнём мы с рассмотрения параллелизма через политики стандартных алгоритмов. Далее исследуем варианты написания собственных параллельных алгоритмов через std::async. Далее нас ждут GPGPU и основы SYCL. В конце придёт время для того чтобы заглянуть в будущее и посмотреть что встретит нас в 2026-м году и далее.
#cpp_postgraduate
YouTube
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 22. Параллелизм.
Лекции в магистратуре МФТИ по современному C++ на русском языке. Кафедра микропроцессорных технологий.
На этой лекции мы поговорим о паралеллизме. В первую очередь мы рассмотрим параллелизм через политики стандартных алгоритмов, далее варианты написания…
На этой лекции мы поговорим о паралеллизме. В первую очередь мы рассмотрим параллелизм через политики стандартных алгоритмов, далее варианты написания…
🔥51👍6
Это закреплённый пост, начните с его прочтения.
Прецедентные правила канала (просто почитайте и соотнесите с ними то что вы хотите написать): https://t.me/cpp_lects_rus/169
В качестве технического дополнения: пожалуйста не оставляйте в группе канала постов, не прикреплённых к веткам обсуждения.
Для сбора запросов на новые ветки используйте direct messages на канале, они бесплатны. Информация как их найти тут: https://t.me/cpp_lects_rus/287
На канале введена система тегов для навигации. Ниже теги изложены в алфавитном порядке.
#author_event -- встречи с читателями
#books -- обзоры чужих книг
#c_graduate -- изложение на C для первого курса
#conference -- что-то касающееся конференций в которых я участвую
#combinatorics -- что-то про комбинаторику
#compilers -- алгоритмы оптимизирующей компиляции
#computability -- что-то про вычислимость
#cpp_graduate -- изложение на C++ для второго курса
#cpp_postgraduate -- изложение на C++ для магистратуры
#interview -- интервью со мной в разных местах
#graphics -- что-то про GPU или GPGPU
#happynewyear -- традиционное подведение итогов года
#knuth -- вольные переводы Дональда Кнута
#llm -- общение с микроволновками
#official -- под этим тегом я говорю от своего лица, обычно какие-то технические вещи и объявления
#publications -- публикации в научных журналах и не только
#riscv — нечто про открытую и расширяемую архитектуру RISC-V
#talks -- обзоры чужих докладов
#toolchain -- что-то про системы компиляции, а также ассемблеры линкеры и всё такое
#torrent -- публичная выкладка пакетами
#questions -- предложения что-то обсудить
Размечены все существующие посты. Если найдёте ошибки в разметке сообщайте.
Ютуб-канал с моими лекциями: https://www.youtube.com/@tilir
Рутуб-канал с ними же: https://rutube.ru/u/cpplectsrus/
Курс по языку C: https://youtube.com/playlist?list=PL3BR09unfgchRxdDws74aY4mlSk9eYGEs
Базовый курс по C++: https://www.youtube.com/playlist?list=PL3BR09unfgciJ1_K_E914nohpiOiHnpsK
Магистерский курс по C++: https://www.youtube.com/playlist?list=PL3BR09unfgcgf7R88ZQRQqWOdLy4pRW2h
Оптимизирующие компиляторы: https://www.youtube.com/playlist?list=PL3BR09unfgcjBG1H9xRUesaQX6nCsobs1
#official
Прецедентные правила канала (просто почитайте и соотнесите с ними то что вы хотите написать): https://t.me/cpp_lects_rus/169
В качестве технического дополнения: пожалуйста не оставляйте в группе канала постов, не прикреплённых к веткам обсуждения.
Для сбора запросов на новые ветки используйте direct messages на канале, они бесплатны. Информация как их найти тут: https://t.me/cpp_lects_rus/287
На канале введена система тегов для навигации. Ниже теги изложены в алфавитном порядке.
#author_event -- встречи с читателями
#books -- обзоры чужих книг
#c_graduate -- изложение на C для первого курса
#conference -- что-то касающееся конференций в которых я участвую
#combinatorics -- что-то про комбинаторику
#compilers -- алгоритмы оптимизирующей компиляции
#computability -- что-то про вычислимость
#cpp_graduate -- изложение на C++ для второго курса
#cpp_postgraduate -- изложение на C++ для магистратуры
#interview -- интервью со мной в разных местах
#graphics -- что-то про GPU или GPGPU
#happynewyear -- традиционное подведение итогов года
#knuth -- вольные переводы Дональда Кнута
#llm -- общение с микроволновками
#official -- под этим тегом я говорю от своего лица, обычно какие-то технические вещи и объявления
#publications -- публикации в научных журналах и не только
#riscv — нечто про открытую и расширяемую архитектуру RISC-V
#talks -- обзоры чужих докладов
#toolchain -- что-то про системы компиляции, а также ассемблеры линкеры и всё такое
#torrent -- публичная выкладка пакетами
#questions -- предложения что-то обсудить
Размечены все существующие посты. Если найдёте ошибки в разметке сообщайте.
Ютуб-канал с моими лекциями: https://www.youtube.com/@tilir
Рутуб-канал с ними же: https://rutube.ru/u/cpplectsrus/
Курс по языку C: https://youtube.com/playlist?list=PL3BR09unfgchRxdDws74aY4mlSk9eYGEs
Базовый курс по C++: https://www.youtube.com/playlist?list=PL3BR09unfgciJ1_K_E914nohpiOiHnpsK
Магистерский курс по C++: https://www.youtube.com/playlist?list=PL3BR09unfgcgf7R88ZQRQqWOdLy4pRW2h
Оптимизирующие компиляторы: https://www.youtube.com/playlist?list=PL3BR09unfgcjBG1H9xRUesaQX6nCsobs1
#official
Telegram
C++ and other lectures
В эфире рубрика "стёртые комментарии моих забаненных подписчиков".
Преамбула. На моём ютуб-канале 17+ тысяч подписчиков и это очень много. Я с некоторым опасением смотрел на цифры уже когда нас стало 10к+, потому что ясное дело, что для любого большого канала…
Преамбула. На моём ютуб-канале 17+ тысяч подписчиков и это очень много. Я с некоторым опасением смотрел на цифры уже когда нас стало 10к+, потому что ясное дело, что для любого большого канала…
🔥107👍34❤6❤🔥6
C++ and other lectures pinned «Это закреплённый пост, начните с его прочтения. Прецедентные правила канала (просто почитайте и соотнесите с ними то что вы хотите написать): https://t.me/cpp_lects_rus/169 В качестве технического дополнения: пожалуйста не оставляйте в группе канала постов…»
Всем привет. И снова настало время обратиться за небольшой помощью к залу.
В своей лекции про многопоточность я использую иллюстрацию замечательного русского художника В. Г. Сутеева (три котёнка это три потока, труба это критическая секция).
И вот я подумал почему бы не попросить картинку у нейросети. Я использовал Кандинского 2.1 и пытался формулировать запросы.
Запросы были такие: "три котёнка в трубе", "три котёнка ползут по трубе", "три котёнка внутри трубы". Я сгенерировал наверное изображений тридцать, прикладываю три самых симпатичных. Но это всё не то.
Мне нужна картинка как три котёнка ползут внутри лежащей на земле трубы по одному.
Приглашаются эксперты в общении с нейросетями. Будет здорово если вы добьётесь от любой распространённой нейросетки какой надо картинки и расскажете мне и всем нам как вы это сделали, а мы поучимся.
UPD: результаты конкурса https://t.me/cpp_lects_rus/173
#llm #questions
В своей лекции про многопоточность я использую иллюстрацию замечательного русского художника В. Г. Сутеева (три котёнка это три потока, труба это критическая секция).
И вот я подумал почему бы не попросить картинку у нейросети. Я использовал Кандинского 2.1 и пытался формулировать запросы.
Запросы были такие: "три котёнка в трубе", "три котёнка ползут по трубе", "три котёнка внутри трубы". Я сгенерировал наверное изображений тридцать, прикладываю три самых симпатичных. Но это всё не то.
Мне нужна картинка как три котёнка ползут внутри лежащей на земле трубы по одному.
Приглашаются эксперты в общении с нейросетями. Будет здорово если вы добьётесь от любой распространённой нейросетки какой надо картинки и расскажете мне и всем нам как вы это сделали, а мы поучимся.
UPD: результаты конкурса https://t.me/cpp_lects_rus/173
#llm #questions
😁42👍12🔥9💔1
Выложил первую часть последней лекции магистерского курса — мы начинаем сопрограммы.
https://youtu.be/mDajl0pIUjQ
Сначала мы потратим немного времени на обзор разновидностей сопрограмм, потом исследуем их основные части и дальше нас ждёт много интересных упражнений: собственный генератор, исследование объектов ожидания и разбор тонких и сложных проблем.
#cpp_postgraduate
https://youtu.be/mDajl0pIUjQ
Сначала мы потратим немного времени на обзор разновидностей сопрограмм, потом исследуем их основные части и дальше нас ждёт много интересных упражнений: собственный генератор, исследование объектов ожидания и разбор тонких и сложных проблем.
#cpp_postgraduate
YouTube
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 23. Сопрограммы, часть 1.
Лекции в магистратуре МФТИ по современному C++ на русском языке. Кафедра микропроцессорных технологий.
На этой лекции мы поговорим о сопрограммах. Сначала мы потратим немного времени на обзор разновидностей сопрограмм, потом исследуем их основные части и…
На этой лекции мы поговорим о сопрограммах. Сначала мы потратим немного времени на обзор разновидностей сопрограмм, потом исследуем их основные части и…
🔥46👍17❤5🦄1
Выложил последнюю лекцию курса.
Она завершает изложение корутин и в отличие от прошлой существенно уходит от изложения прошлого года. Я подключаю многопоточку и она помогает мне раскрыть главную тайну корутин.
https://youtu.be/WZhxMwKaXmw
Это завершает мой магистерский курс и я сам не верю что мне удалось его записать и выложить. У меня бы это не получилось без Юлия Тарасова https://t.me/botan_razdolb который на всех этих лекциях был оператором и звукорежиссером (и немного продюсером).
Базовый курс 2021-22 и магистерский курс 2022-23 вместе это главное что есть на моём канале.
Базовый:
youtube: https://www.youtube.com/playlist?list=PL3BR09unfgciJ1_K_E914nohpiOiHnpsK
rutube: https://rutube.ru/plst/119828/
Магистерский:
youtube: https://www.youtube.com/playlist?list=PL3BR09unfgcgf7R88ZQRQqWOdLy4pRW2h
Дальнейшие творческие планы -- это записать наконец-то базовый курс по языку C и ассемблеру. Также хочется записать курс по вычислимости. И может быть что-то по бэкендам компиляторов.
Летом я скорее всего также запишу и выложу несколько обещанных лекций по системам сборки (я обещал на 1к в телеграме и приближается 10к на ютубе).
Ну и ещё бы перезаписать тулчейн с понями, так как слайдов явно добавилось и пони тоже.
В общем как мне сказала сейчас ChatGPT когда я попросил её сделать последнюю фразу этого поста: "пусть каждый ваш день будет наполнен сияющими моментами и вдохновением, а ваши мечты сбываются с легкостью. Идите вперед и покоряйте мир своим уникальным блеском".
#cpp_postgraduate #official
Она завершает изложение корутин и в отличие от прошлой существенно уходит от изложения прошлого года. Я подключаю многопоточку и она помогает мне раскрыть главную тайну корутин.
https://youtu.be/WZhxMwKaXmw
Это завершает мой магистерский курс и я сам не верю что мне удалось его записать и выложить. У меня бы это не получилось без Юлия Тарасова https://t.me/botan_razdolb который на всех этих лекциях был оператором и звукорежиссером (и немного продюсером).
Базовый курс 2021-22 и магистерский курс 2022-23 вместе это главное что есть на моём канале.
Базовый:
youtube: https://www.youtube.com/playlist?list=PL3BR09unfgciJ1_K_E914nohpiOiHnpsK
rutube: https://rutube.ru/plst/119828/
Магистерский:
youtube: https://www.youtube.com/playlist?list=PL3BR09unfgcgf7R88ZQRQqWOdLy4pRW2h
Дальнейшие творческие планы -- это записать наконец-то базовый курс по языку C и ассемблеру. Также хочется записать курс по вычислимости. И может быть что-то по бэкендам компиляторов.
Летом я скорее всего также запишу и выложу несколько обещанных лекций по системам сборки (я обещал на 1к в телеграме и приближается 10к на ютубе).
Ну и ещё бы перезаписать тулчейн с понями, так как слайдов явно добавилось и пони тоже.
В общем как мне сказала сейчас ChatGPT когда я попросил её сделать последнюю фразу этого поста: "пусть каждый ваш день будет наполнен сияющими моментами и вдохновением, а ваши мечты сбываются с легкостью. Идите вперед и покоряйте мир своим уникальным блеском".
#cpp_postgraduate #official
YouTube
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 23. Сопрограммы, часть 2
Лекции в магистратуре МФТИ по современному C++ на русском языке. Кафедра микропроцессорных технологий.
На этой лекции мы закончим разговор о сопрограммах. В итоге всё срастётся -- и сопрограммы и многопоточность и даже асинхронность.
Лектор: Константин…
На этой лекции мы закончим разговор о сопрограммах. В итоге всё срастётся -- и сопрограммы и многопоточность и даже асинхронность.
Лектор: Константин…
❤133👏24👍14🔥8❤🔥6🍓2😁1👨💻1
Всем привет. Есть такая идея — для всех кто вместе со всеми нами весь год смотрел магистерский курс провести пиринговый экзамен (когда вы пишете задание и оно отправляется на проверку двум людям и вам тоже приходят два задания других людей).
Задание будет состоять из двух задач. Одна вида "спроектируйте класс" (нечто многопоточное или с умными указателями или с аллокаторами или всё вместе), другая вида "напишите код" (обычно что-то с корутинами или параллелизмом или вместе).
Четыре часа на выполнение (можно не отлаживать код до идеального состояния, достаточно продемонстрировать идею), потом четыре часа на кросс-проверку.
Сколько людей хотело бы в таком участвовать в какие-нибудь ближайшие выходные? Сейчас устрою опрос, проголосуйте там если хотите, а этот пост оставлю для комментариев.
#official
Задание будет состоять из двух задач. Одна вида "спроектируйте класс" (нечто многопоточное или с умными указателями или с аллокаторами или всё вместе), другая вида "напишите код" (обычно что-то с корутинами или параллелизмом или вместе).
Четыре часа на выполнение (можно не отлаживать код до идеального состояния, достаточно продемонстрировать идею), потом четыре часа на кросс-проверку.
Сколько людей хотело бы в таком участвовать в какие-нибудь ближайшие выходные? Сейчас устрою опрос, проголосуйте там если хотите, а этот пост оставлю для комментариев.
#official
👍26🔥17🌚4❤1
🔥8🥴4💔1