- Видео 30
- Просмотров 62 511
Computer Science клуб при НГУ
Добавлен 23 сен 2019
На канале выкладываются видео лекций, прочитанных в Computer Science клубе при НГУ в Новосибирске.
Computer Science клуб - это открытые лекции и курсы. В клубе любой желающий может познакомиться с классическими результатами, современным положением дел и открытыми задачами в различных областях Computer Science.
Страницы новосибирского CS-клуба:
nsk.compsciclub.ru/
csclubnsu
Computer Science клуб - это открытые лекции и курсы. В клубе любой желающий может познакомиться с классическими результатами, современным положением дел и открытыми задачами в различных областях Computer Science.
Страницы новосибирского CS-клуба:
nsk.compsciclub.ru/
csclubnsu
Лекция 4
Лекция №4 в курсе "Сложность пропозициональных доказательств".
Содержание лекции: Игровая характеризация ширины резолюционного доказательства. Оценка памяти нужной для реализации доказательства через ширину.
Система доказательств секущие плоскости (cutting planes). Моделирование резолюции, короткое доказательство принципа Дирихле.
Преподаватель курса: Дмитрий Михайлович Ицыксон - кандидат физико-математических наук, старший научный сотрудник лаборатории математической логики ПОМИ РАН, преподаватель в Академическом университете.
Содержание лекции: Игровая характеризация ширины резолюционного доказательства. Оценка памяти нужной для реализации доказательства через ширину.
Система доказательств секущие плоскости (cutting planes). Моделирование резолюции, короткое доказательство принципа Дирихле.
Преподаватель курса: Дмитрий Михайлович Ицыксон - кандидат физико-математических наук, старший научный сотрудник лаборатории математической логики ПОМИ РАН, преподаватель в Академическом университете.
Просмотров: 184
Видео
Лекция 5
Просмотров 933 года назад
Лекция 5 в курсе "Сложность пропозициональных доказательств" Содержание лекции: Монотонные булевы и вещественные схемы. Метод монотонной интерполяции для системы секущие плоскости. Формула раскрашиваемость клики и нижняя оценка для нее. Преподаватель курса: Дмитрий Михайлович Ицыксон - кандидат физико-математических наук, старший научный сотрудник лаборатории математической логики ПОМИ РАН, пре...
Лекция 2. Современные шифры и универсальные методы криптоанализа.
Просмотров 2,6 тыс.4 года назад
Лекция 2 в курсе "Основы криптоанализа" в Computer Science клубе при НГУ, февраль 2020. Лекции читает Наталья Николаевна Токарева, к.ф.-м.н., с.н.с. Института математики им. С.Л.Соболева, руководитель Лаборатории криптографии JetBrains Research, руководитель Криптографического Центра (Новосибирск), доцент НГУ.
Лекция 3. Линейный и дифференциальный криптоанализ
Просмотров 3,9 тыс.4 года назад
Лекция 3 курса "Основы криптоанализа" в Computer Science клубе при НГУ, февраль 2020. Лекции читает Наталья Николаевна Токарева, к.ф.-м.н., с.н.с. Института математики им. С.Л.Соболева, руководитель Лаборатории криптографии JetBrains Research, руководитель Криптографического Центра (Новосибирск), доцент НГУ.
Лекция 4. Алгебраический криптоанализ.
Просмотров 1,8 тыс.4 года назад
Лекция 4 курса "Основы криптоанализа" в Computer Science клубе при НГУ, февраль 2020. Лекции читает Наталья Николаевна Токарева, к.ф.-м.н., с.н.с. Института математики им. С.Л.Соболева, руководитель Лаборатории криптографии JetBrains Research, руководитель Криптографического Центра (Новосибирск), доцент НГУ.
Лекция 6. "Нечестный" криптоанализ: атаки по сторонним каналам
Просмотров 5884 года назад
Лекция 6 курса "Основы криптоанализа" в Computer Science клубе при НГУ, февраль 2020. Лекции читает Наталья Николаевна Токарева, к.ф.-м.н., с.н.с. Института математики им. С.Л.Соболева, руководитель Лаборатории криптографии JetBrains Research, руководитель Криптографического Центра (Новосибирск), доцент НГУ.
Лекция 7. Криптоанализ асимметричных систем: алгоритмы факторизации
Просмотров 5774 года назад
Лекция 7 курса "Основы криптоанализа" в Computer Science клубе при НГУ, февраль 2020. Лекции читает Наталья Николаевна Токарева, к.ф.-м.н., с.н.с. Института математики им. С.Л.Соболева, руководитель Лаборатории криптографии JetBrains Research, руководитель Криптографического Центра (Новосибирск), доцент НГУ.
Лекция 8. Криптоанализ асимметричных систем: дискретное логарифмирование
Просмотров 1,1 тыс.4 года назад
Лекция 8 курса "Основы криптоанализа" в Computer Science клубе при НГУ, февраль 2020. Лекции читает Наталья Николаевна Токарева, к.ф.-м.н., с.н.с. Института математики им. С.Л.Соболева, руководитель Лаборатории криптографии JetBrains Research, руководитель Криптографического Центра (Новосибирск), доцент НГУ.
Лекция 1. Криптоанализ: история, философия, подходы.
Просмотров 3,8 тыс.4 года назад
Лекция 1 курса "Основы криптоанализа" в Computer Science клубе при НГУ, февраль 2020. Лекции читает Наталья Николаевна Токарева, к.ф.-м.н., с.н.с. Института математики им. С.Л.Соболева, руководитель Лаборатории криптографии JetBrains Research, руководитель Криптографического Центра (Новосибирск), доцент НГУ.
Лекция 5. Криптографические свойства булевых функций
Просмотров 1,2 тыс.4 года назад
Лекция 5 курса "Основы криптоанализа" в Computer Science клубе при НГУ, февраль 2020. Лекции читает Наталья Николаевна Токарева, к.ф.-м.н., с.н.с. Института математики им. С.Л.Соболева, руководитель Лаборатории криптографии JetBrains Research, руководитель Криптографического Центра (Новосибирск), доцент НГУ.
Лекция 1. Библиотеки, утилиты, средства разработки, сборка (Эффективное использование С++)
Просмотров 8 тыс.4 года назад
Лекция №1 в курсе "Эффективное использование С " Преподаватель Валерий Михайлович Лесин
Лекция 2. Работа с памятью. Утечки ресурсов. RAII, умные указатели (Эффективное использование С++)
Просмотров 7 тыс.4 года назад
Лекция №2 в курсе "Эффективное использование С " Преподаватель Валерий Михайлович Лесин
Лекция 5. Multithreading in C++ (потоки, блокировки, задачи, атомарные операции, очереди сообщений)
Просмотров 21 тыс.4 года назад
Лекция №5 в курсе "Эффективное использование С " Преподаватель Валерий Михайлович Лесин
Лекция 3. Move semantics, rvalue reference, perfect forwarding.
Просмотров 3,6 тыс.4 года назад
Лекция №3 в курсе "Эффективное использование С " Преподаватель Валерий Михайлович Лесин
Лекция 4. Callbacks: lambda, bind & function.
Просмотров 2,8 тыс.4 года назад
Лекция №4 в курсе "Эффективное использование С " Преподаватель Валерий Михайлович Лесин
Лекция 6. Обзор возможностей современных стандартов C++
Просмотров 2,6 тыс.4 года назад
Лекция 6. Обзор возможностей современных стандартов C
Лекция 2. Протоколы пропорционального дележа
Просмотров 1014 года назад
Лекция 2. Протоколы пропорционального дележа
Лекция 3. Протоколы дележа без зависти
Просмотров 1174 года назад
Лекция 3. Протоколы дележа без зависти
Лекция 4. Обзор расширений основной модели
Просмотров 384 года назад
Лекция 4. Обзор расширений основной модели
Лекция 1. Общая постановка задачи в случае частных благ
Просмотров 1394 года назад
Лекция 1. Общая постановка задачи в случае частных благ
Лекция 4 (Двойственность в комбинаторной оптимизации)
Просмотров 535 лет назад
Лекция 4 (Двойственность в комбинаторной оптимизации)
Лекция 3 (Двойственность в комбинаторной оптимизации)
Просмотров 705 лет назад
Лекция 3 (Двойственность в комбинаторной оптимизации)
Лекция 2 (Двойственность в комбинаторной оптимизации)
Просмотров 605 лет назад
Лекция 2 (Двойственность в комбинаторной оптимизации)
Лекция 1 (Двойственность в комбинаторной оптимизации)
Просмотров 4255 лет назад
Лекция 1 (Двойственность в комбинаторной оптимизации)
Лекция 5 (Двойственность в комбинаторной оптимизации)
Просмотров 395 лет назад
Лекция 5 (Двойственность в комбинаторной оптимизации)
Лекция 6 (Двойственность в комбинаторной оптимизации)
Просмотров 535 лет назад
Лекция 6 (Двойственность в комбинаторной оптимизации)
Лектор в целом норм, но английские слова проглатыевает просто жесть : майкрософтский превратился в мский, и всё остальное в том же духе
Есть вероятность, что при разбиении по потокам, мультитрэйдинг не будет учитываться. Т.е. на шестиядерном проце, будет использовано только шесть потоков.
Наталья, я люблю вас
С 25 минуты звук стал плохим
Русский лектора вроде родной, но с данной дикцией и словами-паразитами типо "окей" становится сложно воспринимать.
1:13:10 там ключ не заполняется просто в ячейки, Там регистры обнуляются, и ключ побитово складывается (xor) с каждым регистром и происходит сдвиг каждого регистра (т.е. тактирование без stop and go). Россия использовала A5/2, а не A5/1. И A5/2 не прям уж так был слабее(по моему мнению)
это ужасно
Особенно классно собирать, когда у вас куча зависимостей на собираемые dll плюс внешние библиотеки, ещё и в каком порядке это все собирать… теория отдыхает
На 40 минуте выход за пределы массива, нужно было сортировку аналогично вектору вызывать с функциями begin и end.
гцц - gcc :)))) научитесь просизносить на английский манер, но никак не русский+ латынь :)))
коробит слух когда пи ти ар называют пэ тэ эр :))))
По-моему один из лучших в мире русскоязычных специалистов. Очень крутой, очень начитанный, знание предмета невероятное.
19:14 Может я что-то не понял, но в последнем варианте будет запускаться для обоих типов ссылок, так как это universal ref от скота майерса, поправьте если не прав
пояснение насчет этого дальше, вопросов нет
Class по умолчанию наследуется публично, а структура приватно
Наоборот
ООП - ложная парадигма в программировании. На ютубе по ООП один мусор, который никому не нужен. Нет развития парадигмы ООП и понимания ее ограниченности. Дебильные разговоры о преимуществах того или иного языка программирования никому не нужны. Пора уже создавать универсальный язык программирования для всех, а не для особо одаренных или особенных, не являющихся лучшими.
Где найти таких же харизматичных преподов как Валерий?
Понимаю, что синглтон здесь использовался для демонстрации, но всё же скажу, что начиная с C++11 если в функции инициализируется static переменная, то это гарантировано сделает только один поток, а другие потоки не будут обращаться к неинициализированной переменной. Подробнее можно почитать: Энтони Уильямс "Практика многопоточного программирования", с. 100
1:15:20 -- в оригинале фраза звучит так: "There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors." -- В компьютерных науках есть две сложные проблемы: инвалидация кэша, именование переменных и ошибка на единицу.
std::async(std::launch::async, ...); -- как то мало асинков, надо больше, больше!
10:02 "плюсы все ещё были сложными" ))) ага , а со стандартом С++20 прям полегчало😂
А разве в примере на 1:00:00 не будет дедлока? sending_thread функция лочит мьютекс mt и зависает в вечном ожидании непустого буфера (не освобождая мьютекс) на строке 10. Соответственно, при вызове функции on_frame она задедлочится навсегда в ожидании мьютекса mt на строчке 18.
В момент вызова wait мьютекс отпускается
Шикарное видео, женщина умеет излагать свои знания
1:16:17 Функция create() должна быть статической.
А лекции - шикарные! Успехов Наталье Николаевне.
Берем ZIP - архиватор (или любой другой). Пакуем исходное сообщение. В архиве перемешиваем биты. Пакуем архив. В этом новом архиве перемешиваем биты. Отправляем...
Шикарная лекция, случайно наткнулся. Браво!
58:00 Внутренная ошибка компилятора топовая ошибка.
Гениальная девушка
Наталья Николаевна, Вы прекрасны.
Это лучшие лекции по C++. Харизматичный препод
3:30 Где-то в инете вычитал, что взломщик подбирает ключи до тех пор пока не получит осмысленный текст. Если для каждого байта открытого текста имеем байт шифра. То вместо КАЖДОГО байта шифра можно вписать ЛЮБУЮ букву так, чтобы получить осмысленный текст. Например, имеем 20 байт шифра. Подставляя вместо каждого байта букву, можем получить такие осмысленные фразы: "Доброго утра, Игорь!" или "Я вчера был в гараже" и многие другие. Можно подбирать либо ключ либо буквы - эффект будет одинаковым.
И снова здравствуйте, Наталья Николаевна! С удовольствием "посещаю" Ваши лекции! 1:30 Быват так, что на входе и на выходе иногда байты совпадают. На входе x1 x2 X3 x4 x5 x6, на выходе: y1 y2 X3 y4 y5 y6. X3 повторился на выходе. Этого надо избегать???
Как закончить программировать на C++ актуальнее 🙂"Эффективное программирование на C++" Кениг - безнадёжно устарела, вроде это было издание аж 2002 года, у нас выходила в 2016 и 2019, но похоже там обозревается язык до С++11, что уже вредно. Примерно та же ситуация по остальным старым книгам, кроме Скотта Майерса разве что. Самая лучшая книга, где систематически изложен современный язык уровня С++20 - это "Professional C++" Marc Gregoire 5-ое издание (только на английском). Остальные книги - как лоскутное одеяло, никакой системы нет в изложении. Ещё важно вкурить стандартую библиотеку и Boost, понравились книги: "C++17 STL. Стандартная библиотека шаблонов" Галовиц и конечно наш чувак из Яндекса "Разработка приложений на C++ с использованием Boost" 2-изд. Антон Полухин. (2020). Также неплохо: "C++ для инженерных и научных расчетов" Готтшлинг Питер (2020, Диалектика) и вроде ничего "C++ для профи Молниеносный старт" Лоспинозо Джош. (2021). Старые источники тоже можно читать, но есть опасность набраться там антипаттернов. Например работа со строками по мере изменения C++ изменилась и стоимости стали другие, шардинг строк стал невыгодным (если не ошибаюсь), а в книге 2002 года наверняка будут топить за это дело. Потом мультипоточность сейчас более актуальна асинхронная и на уровне задач или даже пакетов с конвейеризацией, а в старых книгах типа "Параллельное и распределённое программирование с использованием C++" К и Т Хьюз, вас будут кормить семафорами с мьютексами и "крупнорубленной" мультипоточностью. В противовес из современного рекомендую хотя бы: "Параллельное программирование на C++ с помощью библиотеки TBB" Майкл Восс, Рафаэль Асенхо, Джеймс Рейндерс (2020)
Хороший преподаватель, отличное чувство юмора и нет зазнайства !
44:45 Во всех примерах, где объявляется unique_lock c defer_lock, последующий вызов lock производится на них же, а не на исходные мьютексы. Почему здесь не так ? Сработает ли unique_lock если не вызывать на них lock ??? future_status - переводится как "будущий статус".
Супер препод.
Жаль что название видео перепутали, а так лекции шикарны и понятны. Однозначно лайк!
Согласен с Чаном
Лекция отличная, большое спасибо! Я пишу под Windows и всегда пользовалься нативными потоками OC для распараллеливания. Недавно попробовал работать с потоками c++. Там все продумано и логично. Код пишется легко. Но мне показалось, что внутренний библиотечный пул пытается экономить ресурсы. Скажем при 8-ми ядрах на десктопе, мне не удалось добиться одновременной работы 8-ми потоков. Работают не более 6. Остальные стоят в очереди. Еще один неприятный момент: невозможно создать поток в состоянии suspend(?) и точно отследить начало работы потока. Видимо, это плата за переносимость. Нативные потоки в Windows гибче.
Доброго времени суток. Спасибо за доклады. Подскажите, есть ли возможность с Вами связаться? Для консультации?
1:30:25 volatile
Было интересно, спасибо за лекцию!
Спасибо за лекцию, включил на фоне, чтобы уснуть)
Спасибо большое! Очень интересная лекция!!
Спасибо за курс лекций! Было очень удобно готовиться к собеседованиям у узнавать новое!
Объяснение в духе Машкина Эдельвейса Захаровича
Наталья, спасибо. Ваши лекции прекрасны.
а как мьючить лотекс?
🤣
Благодарю, очень интересно.
С какой версии появилась execution::par?
Только дифференциальный криптоанализ в видео: Лекция 4. Алгебраический криптоанализ. ruclips.net/video/EoSJGcPGA1E/видео.html&ab_channel=ComputerScience%D0%BA%D0%BB%D1%83%D0%B1%D0%BF%D1%80%D0%B8%D0%9D%D0%93%D0%A3