
Задание
В рамках этого домашнего задания вы
Напишите свой небольшой сервис заметок
Настроите в нём профилирование
Заиспользуете profile-guided optimization
Поработаете с Cgo
Архитектура
Часть 1
Напишите свой сервис заметок, используя in-memory хранилище. У сервиса должна быть CRUD функциональность.
Добавьте в мультиплексор запросов пути для профилирования
Используя примеры из лекции, сделайте несколько снепшотов во время работы вашего сервиса и примените PGO оптимизацию
Постройте различные графы объектов/flame graph
Часть 2
В учебных целях, давайте добавим немного шифрования в ваш сервис, используя Cgo и алгоритм шифрования blowfish, реализованный в библиотеке openssl
void BF_set_key(BF_KEY *key, int len, const *unsigned* char *data);
void BF_ecb_encrypt(const *unsigned* char *in, unsigned char *out, BF_KEY *key, int enc);
Особенности реализации
При профилировании и применении PGO, используйте генератор нагрузки, предоставленный организаторами курса
Реализация для Cgo не должна динамически выделять память
