s21_string+ (posidoni, tarticar, capricey)

 

Спасибо за разбор #string+ пирам с 13 волны (posidoni, tarticar, capricey)
0:00 - Начало, задачи проекта, немного об особенностях сдачи Вертеру 4:16 - Демонстрация ASan, основные ошибки и их разбор (invalid read/write, heap problems) 12:30 - Пару слов о git и асинхронной работе 15:00 - Структура проекта (headers, c files, static lib), какую структуру сдавать Вертеру 22:00 - Makefile, таргеты в мейке, сборка проекта, два набора объектных файлов, правильные флаги для компиляции 31:40 - Демонстрация отчета Вертера (разбор наших ошибок, разбор проверки valgrind) 38:00 - Strerror, макросы препроцессора, условная компиляция 43:20 - Вопрос про memset и тестирование undefined behavior в тестах. Подход к UB в тестах. 54:00 - Продолжение рассказа о тестах, общая структура, демонстрация тестов strtok и sprintf 1:01:00 - No_fork флаг и правильная проверка проекта на утечки памяти 1:05:00 - C# функции, malloc vs stack, защита malloc 1:13:00 - Демонстрация кода to_lower 1:19:00 - Начало sprintf, общая архитектура функции, live coding %f specifier (Антон @tarticar) 1:30:00 - Общая идея конвертации int в строковое представление (base 10, base 8, base 16) 1:38:00 - Польза функции Modfl для %f (floats) 1:46:50 - Демонстрация бага с точностью после 15 знака. Объяснение фикса. 1:56:00 - Объяснение ошибки valgrind (‘conditional jump depends on uninitialized values’) 1:58:00 - Завершение лекции, вновь пару слов о NO_FORK режиме для Check framework, демонстрация рекомендуемых флагов valgrind Если вам помогла эта лекция, поставьте лайк и подпишитесь на канал, это помогает легче находить наш контент. Хотите попробовать себя в роли лектора? Есть идеи, что можно сделать лучше? Обращайтесь в slack к chawke, nhokey или bnidia. Подписывайтесь на наш канал в слаке: #edu_events_mow Наш телеграмм канал:
Разбираем конкретные задания или просто темы по программированию оффлайн и онлайн. 21 | Разборы | Канал