Тут я учусь код нормально писать, параллельно развлекаясью
- Решатель квадратных уравнений, покрыть тестами и тп
- Линуксовый демон
- Архиватор на хаффмане. Он даже умеет архивировать, но не разархивировать :). Основная проблема была написать нормальный bitstream, покрыть его тестами. (без simd, но все же)
Тут я реализовал темплейты для хэштаблицы и массива на чистом си (то есть на дефайнах). Как результат получил новые текста песен Моргенштерна
Просто стек с использованием mmap
и еще пары сисколов.
Библиотека для больших чисел на C++ (первое знакомство с ними). Познакомился с perf
и переписал пару функций на ассемблер. Покрыл гугл тестами с кодогенерацией
Библиотека дифференцирует математические выражения.
- Написал собственную грамматику, парсер, оптимизатор AST.
- Освоился с лямбдами, визиторами темплейтами, constexpr и прочими приколами крестов.
Главным открытием стало невозможность писать паттерн Visitor через
template<typename T>
virtual T accept(Visitor<T>& visitor) = 0;
Из-за этого пришлось переписывать 500 строк раза три.