Второй месяц стажировки в LAD Academy
Что произошло за второй месяц стажировки...
Реклама
Второй месяц пролетел быстро, а вот стажировка идёт не очень активно.
В прошлом посте "Начало работ", посвящённом первому месяцу, мы определились с первоначальными задачами:
- Создание "основы":
- Создание Django-проекта
- Создание модели пользователя и его менеджера
- Расписать правила работы в git.
- Реализовать:
- Регистрацию
- Авторизацию
- Логаут
- Сброс пароля.
Первую задачу взял на себя наш лид. Через несколько дней всё было готово.
Далее последовали обсуждения модели пользователя: какие поля нужны и как менеджер создаёт нового пользователя. В процессе лиду пришлось вносить правки в код.
Когда с основой разобрались, на очередном созвоне оставшиеся задачи были распределены между всеми участниками команды, после чего мы начали работу.
Мне досталось две совсем небольшие задачи: авторизация и сериализатор регистрации. Справился я с ними достаточно быстро. Авторизация и вовсе заняла несколько строк кода, поскольку мы используем готовую библиотеку для генерации JWT.
К тому моменту, как я закончил сериализатор, представление для регистрации другой участник ещё не сделал, но как-то проверить его работу было необходимо. Тогда я решил попрактиковаться с Unit-тестами. Написал покрывающий тест для сериализатора, а затем для авторизации и логаута.
В процессе тестирования снова обнаружились недочёты и после обсуждений они были исправлены.
Остальные участники взяли на себя оставшиеся задачи. Какие-то были просты в написании, а какие-то весьма комплексны. Так, например, один из участников занимавшихся сбросом пароля, выполнил свою задачу и дополнительно добавил Celery для отправки электронной почты.
Примерно в середине месяца внезапно для всех нас покинул один из членов команды. Как нам позже сообщили, человек решил сосредоточиться на собственных проектах. Таким образом, нас осталось пять бэкэндеров.
Завершив выполнение задач, мы немного "впали в спячку". Ждали того, что решат продакты по дальнейшему развитию проекта. В итоге они решили подробно изучить тему, а мы получили "карт бланш".
Нам было поручено провести ряд исследований. Цель – изучить конкурентов и их устройство для дальнейшего планирования разработки.
Было несколько исследований, которые мы распределили среди членов команды. Я попросил закрепить за мной интересующую меня тему - "Возможность подключения различных интерпретаторов/компиляторов для выполнения пользовательского кода". Интересна она мне по той причине, что я на своём сайте также планирую однажды ввести что-то вроде "песочницы" для кода или тесты, связанные с кодом, но это пока только планы.
Этой задачей занялись мы с лидом. Сперва мы довольно долго обсуждали варианты запуска хотя бы кода на Python. Основная сложность состояла не в самом факте запуска, т.к. можно установить интерпретаторы с компиляторами и вызывать их. Проблема заключается в безопасности: пользовательский код необходимо запускать изолированно, дабы он не мог причинить вреда рабочему окружению.
Конечно же, в итоге мы решили использовать Docker-контейнеры с различными языками программирования. Изучив вопрос, мы договорились поискать готовые решения. Их оказалось не то чтобы много. Главный критерий, которым мы руководствовались при выборе, – возможность развернуть сервис на собственных серверах. Таких готовых решений оказалось ещё меньше.
В итоге был составлен документ, описывающий плюсы и минусы найденых решений. Лид выбрал то, которое мы будем использовать в проекте, и отправился к руководству узнавать про возможность развёртывания на серверах.
На этом закончился 2023 год, и мы ушли на "новогодние каникулы". Конечно, другие команды не сидели всё это время сложа руки. Аналитики с техписами активно составляли документацию, а дизайнеры готовили макеты для фронтов.
Вот так прошёл второй месяц. Небыстро, но достаточно интересно. В чате команды часто происходят обсуждения, в которых рождается истина. На созвонах очень дружелюбная и открытая атмосфера.
На январь у нас большие планы и наверняка будет много работы, но об этом в следующий раз.
Все статьи