сожалению, у меня нет знакомых, которые пишут на Go, да и в целом наставника или тех кто может дать конструктивный фидбек.
К слову писал ТЗ авито, не все доп задания сделал. Мне хотелось бы чтобы вы помогли понять мне мой уровень(если такое возможно) дали в целом вектор направления движения(указали косяки и возможные улучшения в моем проекте)
Я понимаю, что многие из вас уже работают и не хочу отнимать у вас время и все же если у вас будет желание помочь и глянуть тз:
https://github.com/Angstreminus/avito_intern_backend_2023
в целом пока этот проект мой Magnum Opus.
PS: хотел бы я узнать возможно ли с таким уровнем подаваться на стажировку?
Ох, а что с неймингом?
я вот не вижу ни одного теста. это show stopper, однозначно
для работы с БД можно взять https://github.com/jackc/pgx и посмотреть на https://docs.sqlc.dev/ для генерации запросов туда
В целом я тоже думал взять что-то из 3rd party, но решил ограничиться gin и стандартом, но да)
интересно почему host address захардкоден а не передаётся через конфиг
недоглядел потому что)
NewDatabaseHandler вызывает os.Exit(1) что из названия неочевидно. Оно должно либо вернуть ошибку либо добавить префикс Must в имя
https://github.com/Angstreminus/avito_intern_backend_2023/blob/e592ab0ddb6b5207b4600d06f638fa8b4dbb70e2/internal/AppErrors/error.go#L18 почему не сохранить оригинальное значение error вместо Message string? Что если мне интересно понять какая именно это была DB ошибка? Парсить сообщения ошибок это плохо.
кажется у вас тут и data race и бутыльное горлышко: https://github.com/Angstreminus/avito_intern_backend_2023/blob/e592ab0ddb6b5207b4600d06f638fa8b4dbb70e2/internal/repository/segmentsUserRepository.go#L13 что если две горутины (2 параллельных запроса) одновременно захотят выполнить транзакцию?
Хехе, авито АБшницу на тестовое дает сделать 😁
тестовое на стажера причем
подавайся с любым. они там сами отсеют по своим критериям
Обсуждают сегодня