C++ and other lectures
8.46K subscribers
39 photos
2 files
210 links
Учебный канал в Телеграм: тут будут анонсы и ссылки на лекции и стримы. Написать автору: @Tilir
Download Telegram
Выложил первое видео шестого логического семинара.

https://youtu.be/44uQ6Q3qHNQ

На этом занятии мы начнём своё путешествие в ассемблер. Для начала мы изобретём свой собственный несложный ассемблер и даже потренируемся писать для него кодировщик и декодер инструкций. Далее мы посмотрим на более взрослый ассемблер x86 его регистры и систему команд. Я также устрою большой сеанс live-coding и в конце мы подумаем над одной увлекательной головоломкой.

#c_graduate
👍72🔥595
Выложил второе видео семинара по ассемблеру.

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

На этом занятии мы погрузимся в работу с флагами. Мы начнём с того что обсудим детали goto. Далее вспомним кодировку для целых чисел. Далее мы увидим как отличаются знаковые и беззнаковые сравнения. Потом мы познакомимся с концепцией "эффективного адреса" и научимся работать с памятью. В конце нас ждёт погружение в тёмные искусства.

#c_graduate
🔥90👍265👏2😭21😁1💅1
Выложил третье, но внезапно не последнее видео по ассемблеру.

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

На этом занятии мы займёмся вызовами функций и познакомимся с основными концепциями ABI: работой со стеком, caller и callee saved регистрами и конвенциями передачи аргументов. Во второй половине мы немного обсудим инлайн-ассемблер и сформулируем главное правило разработки на ассемблере.

К сожалению выложил только со второй попытки — пришлось прервать назначенную премьеру и потерять десяток лайков которые мне там заранее поставили и перезалить видео. Увы, человеческие ошибки бывают.

#c_graduate
🔥96👍3717🌭1
Выложил четвёртое видео по ассемблеру (но к слову именно ассемблера тут не так много).

https://youtu.be/iW-m98NCOTw

На этом занятии мы попробуем осознать сложность представления вещественных чисел, познакомимся со стандартом IEEE754, посмотрим на два способа работы с плавающими числами в ассемблере x86 и даже обсудим влияние на оптимизации. Параллельно будет введена концепция строгого алиасинга: в будущем она нам сильно пригодится.

#c_graduate
🔥86👍15👏61
Выложил самое солнечное из видео этого семестра (хотя кто знает, вдруг будут ещё солнечней).

https://youtu.be/W8SlojkhBas

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

#c_graduate
🔥89👍159👏3🤩1
В выложенном сегодня видео была обнаружена критическая ошибка. Я вынужден прервать премьеру, стереть видео. Через час перевыложу когда смонтируется заново. Мои искренние извинения и очень прошу потерпеть.

#official
😢62👍4327🔥2
Начинаем новый логический семинар.

https://youtu.be/TYHefcf43Bw

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

P. S. я из-за перевыкладки потерял под видео кучу лайков, просьба накидать новых ))

#c_graduate
👍11613❤‍🔥12🔥8🤣1
Недавно посмотрел видео, которое кажется мне незаслуженно обойдённым вниманием широкой аудитории.

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

Ссылка и мой таймлайн доклада.

https://youtu.be/iUg0MmHyM-Y?si=oMw87KvpGPswy9HS

00:00 Как сложно быть владельцем сайта на котором можно проверить хакнули ли тебя.
06:51 Что обычно делают владельцы таких сайтов с теми кто туда приходит
12:22 История про утечку данных с сайта фурри
16:15 Киберпреступность молодеет: история про форум BF
25:57 Заказ дерьма онлайн и история про утечку данных с него.
33:11 История про утечку данных с сайта знакомств для гомосексуалистов
40:02 История про утечки куков с пройденной двухфакторкой

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

#talks
😁34👍11🤡11👏10👎7🤔64😢2
Выступил на митапе Yadro с докладом про цену абстракции в C++

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

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

#conference
👍135🔥42👏6🦄2🙏1💅1
Выложил вторую часть семинара про архитектуру.

https://youtu.be/2kfd58ChHCI

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

#c_graduate
🔥68👍213🙏1
В эфире рубрика "стёртые комментарии моих забаненных подписчиков".

Преамбула. На моём ютуб-канале 17+ тысяч подписчиков и это очень много. Я с некоторым опасением смотрел на цифры уже когда нас стало 10к+, потому что ясное дело, что для любого большого канала поддержание порядка, вдумчивой и конструктивной атмосферы в комментариях, взаимовежливости и взаимоуважения это проблема.

Но шло время и радостным удивлением для меня стало, что люди вокруг моего канала в целом очень хорошие. Сейчас я проверил список тех кто забанен -- там всего 80 аккаунтов, это меньше половины процента подписчиков. При том что я морально был готов к цифрам порядка 10-15%. Поэтому конечно начать хочу с того что всех поблагодарить -- вы все действительно супер. Ну или это я обаятельный и не вызываю особого негатива. Или и то и другое.

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

https://telegra.ph/Styortye-kommentarii-moih-zabanennyh-podpischikov-04-13

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

P. S. Разумеется не все комментарии, вошедшие в этот обзор были стёрты и не все подписчики забанены. Даже не половина. Название выбрано просто так, чтобы хорошо звучало.

#official
156😁53👍49🔥14🤡11🫡9❤‍🔥3🥰3🤮3💅2👨‍💻1
Выложил вставной семинар по стандарту C.

https://youtu.be/WAA04Wt48dE

Мы начнём с попытки изобрести очень простой язык программирования и увидим на его примере основные особенности поведения высокоуровневых программ. Далее мы подробно разберём разные формы поведения программ на языке C, познакомимся и потренируемся со стандартом языка.

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

В конце я приготовил небольшое рассуждение про важность стандартизации.

P. S. Многие могут заметить параллели с моим видео в продвинутом курсе по стандарту C++. Да, они есть, но исторически именно семинар в курсе по C был первым, а его вариант нацеленный на C++ я записал просто потому что первый курс ещё не был готов для записи.

#c_graduate
👍67🔥2810🤡1
Ещё одно дополнительное занятие, на этот раз по основам сборки. Это собственно не семинар. Я попросил на вечер лекционную аудиторию и это больше мой любимый лекционный формат.

https://youtu.be/KPlVqXsXKVA

Мы начнём с разминки в виде анализа зависимостей между файлами. Очень быстро пройдя первый наивный способ собирать скриптом, мы за час напишем три версии makefiles возрастающей сложности. Ну а в конце нас ждёт немного cmake.

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

#c_graduate
🔥138👍3410🎉1🫡1
Подводим итоги конкурса нейросетей.

30 апреля 2023 года я объявил конкурс нейросетей на лучшую картинку по запросу.

https://t.me/cpp_lects_rus/99

Убедительную победу в конкурсе нейросетей одержала человек Даша https://t.me/dariaemacs чью картинку я в итоге и использовал в новой пачке слайдов к лекциям. Впрочем, в том посте были и довольно милые варианты.

У Даши тоже есть блог по программированию и подписчиков там почти как у меня https://youtube.com/@DariaEmacs

А рисование - это её хобби, работы можно посмотреть тут https://www.livemaster.ru/dariaemacs/category/205?v=0&sortitems=0&cid=0 (мне показались отличными).

#llm #questions
😁38🔥35👍1513🍌1
Наконец-то выложили в открытый доступ мой доклад на прошлогодней C++Russia. Не прошло и года. Подписчики моего телеграм-канала уже видели его по ссылке в посте https://t.me/cpp_lects_rus/112, но, кажется, пришло время пересмотреть и накидать лайков ))

https://www.youtube.com/watch?v=lc3UkIZ4zOY&t=110s

К слову, я также выступаю на C++Russia в этом году: 2 июня в 16-30 https://cppconf.ru/en/schedule/days/#day-2

Мой доклад будет продолжением прошлого: мы погрузимся в философию языка (как естественного так и языка C++). С нами будут Бертран Рассел и самое большое и самое недооценённое изменение в C++23.

#conference
🔥106😎11👍84🦄3
Выложил первую часть последнего логического семинара, посвящённого в целом научным вычислениям.

https://youtu.be/FXzlzyQQ90c

На этом занятии мы разберёмся с матрицами, линейным программированием, захватим библиотеки BLAS и LAPACK и познакомимся с солверами на примере COIN-OR Linear Programming Solver. Я прямо предчувствую как меня будут критиковать за некоторый советский (а некоторые скажут: антисоветский) окрас второй части семинара. Ничего не поделать. Я как обычно постарался минимизировать политические присадки, но тут они полезны для усвояемости материала. Да и речь идёт о делах давно минувших дней.

#c_graduate
🔥57👍205🍓2😱1🤡1
В тему последнего семинара по C, но расширяя её на C++, мой уважаемый подписчик @A_A_Arg задаёт вопросы, в равной степени интересные и для меня тоже так что хочется их вынести на общее обсуждение.

(1) Каковы шансы, что std::linalg  попадет в состав стандартной библиотеки C++26, и хорошо ли это?

(2) Что сейчас считается лучшим пакетом на C++ для линейной алгебры (например, в отношении скорости и встроенных возможностей распараллеливания)?

Если на канале есть специалисты, поделитесь пожалуйста со всеми.

#questions
🤔228🔥5👍1🥱1
Выложил вторую часть восьмого семинара

https://youtu.be/Yp-rN_AZVSI

В основном она посвящена решению уравнений.

Мы начнём с того, что рассмотрим разнообразные сложности и ловушки плавающих чисел. Далее мы займёмся нахождением корней уравнений: сначала рассмотрим методы в которых надо сохранять брекетинг корня, потом уйдём от них в неизвестность. Ну и в конце нас ждёт применение метода Ньютона для вычисления функций, разгадка магического инверсного корня, правила работы с комплексными числами и немного красоты в виде всяких фракталов.
🔥90👍1413💔1
Выложил дополнение к восьмому семинару, не обязательное, но мне кажется милым и интересным.

https://youtu.be/Y_2uSYwQdtU

Мы поговорим про использование библиотеки SDL для создания простых визуализаций и даже игр. Я пробую рассмотреть все базовые возможности и для практики посередине будет задание.

#c_graduate
74👍33🤩9🔥4
Небольшой опрос.

Какие изменения в C++23 вам кажутся самыми существенными (рассматриваем только core language, не библиотеку)? Я понимаю, что вопрос расплывчатый, выберите критерий "существенности" самостоятельно. Можно выбрать несколько.
Final Results
20%
Explicit object parameter (deducing this)
11%
if consteval
24%
import std
4%
Метки и goto в constexpr функциях
13%
Многомерные индексаторы
10%
Статические операторы [] и ()
4%
Чисто бюрократические уточнения в стандарт относительно некоторых семантических процессов
0%
Свой вариант в комментарии
52%
Просто посмотреть результаты
🤔19👍4🤩2🤡21👎1