2023-2024 год
- [к][yt][vk] - Терминал. vim. tmux.
- [к][yt][vk] - Язык ассемблера. Представление целых чисел. Сдвиги. GDB.
- [к][yt][vk] - Переменные и массивы. Стек. Cdecl. Запуск asm+c и asm+c++ кода.
- [к][yt][vk] - Lea, строки, части регистров, switch.
- [к][yt][vk] - Указатели на функции. Variadic functions.
- [к][yt][vk] - Си. Printf/scanf, неожиданные последствия UB, буферизация, атака переполнением буфера, работа со строками используя арифметику указателей.
- [к][yt][vk] - Си. Работа с динамической памятью. malloc/calloc/realloc. Brk/Sbrk. OOM-killer.
- [к][yt][vk] - Кодировки. Unicode, UTF-8, KOI8-R. Как работают emoji.
- [к][yt][vk] - IEEE754, float/double, разбираемся в битах, смотрим на 0.1+0.2 != 0.3
- [к][yt][vk] - GDB. Break, watch. Встроенный питон. Обратный дебаг. Pretty printers.
- [к][yt][vk] - FPU, SIMD, пишем векторизацию на языке ассемблера
- [к][yt][vk] - Системные вызовы. Read/Write, прерывания. 0x80
- [к][yt][vk] - Git. Ветки, коммиты. Делаем PR. Rebase.
- [к][yt][vk] - ОС YABLOKO. Port-mapped I/O, Memory-mapped I/O, делаем простую анимацию и игру.
- [к][yt][vk] - ОС YABLOKO. Пишем свой sleep, используя Programmable Interval Timer
- [к][yt][vk] - Fork. Создаем процессы, дожимдаемся их выполнения. Форк-бомба.
- [к][yt][vk] - Exec. Разбираемся, как баш запускает процессы, exec+lp/le/ve/vp/vpe. dup/dup2.
- [к][yt][vk] - Mmap. Маппинг файла, анонимный маппинг, общая память в процессах. Как работает malloc.
- [к][yt][vk] - Как работают файлы и права. inode, symlink vs hardlink. Что за странный буквы S, T в правах (drwxrwxrwt)
- [к][yt][vk] - Сигналы. Обработчики. Sigaction. Почему не все функции можно использовать внутри обработчика.
- ?????
- [к][yt][vk] - Каналы. Pipe(2). Dup2(2). Как напрограммировать
ls -l | wc -l
. - [к][yt][vk] - Системы сборки. Make.
- [к][yt][vk] - Тестирование проектов. C/Go.
- [к][yt][vk] - Сеть и сокеты. Getaddrinfo, connect, socket, accept. Простой клиент и сервер.
- [к][yt][vk] - Мультиплексирование. Epoll. Edge-triggered vs level-triggered. Epoll + pipe. Epoll server.
- [к][yt][vk] - Все есть файловый дескриптор. eventfd, timerfd, signalfd. Соединяем все с epoll.
- [к][yt][vk] - Pthread. Запускаем наибольшее возможное количество потоков. Передаем и принимаем параметры.
- [к][yt][vk] - Mutex. Atomic vs mutex. Race и Deadlock. Делаем банк.
- [к][yt][vk] - Арендуем сервер в облаке. Запускам свой epoll сервер. nginx + systemd.
- yt - секции кода, представление чисел, гдб