Skip navigation
    Домашнее задание №4
    Домашнее задание №4

    Задание

    В рамках этого домашнего задания вы

    • Напишите свой небольшой сервис заметок

    • Настроите в нём профилирование

    • Заиспользуете 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 не должна динамически выделять память


    Дополнительные материалы