170 похожих чатов

Привет ребят, пишу на Go чуть более пол года) К

сожалению, у меня нет знакомых, которые пишут на Go, да и в целом наставника или тех кто может дать конструктивный фидбек.
К слову писал ТЗ авито, не все доп задания сделал. Мне хотелось бы чтобы вы помогли понять мне мой уровень(если такое возможно) дали в целом вектор направления движения(указали косяки и возможные улучшения в моем проекте)
Я понимаю, что многие из вас уже работают и не хочу отнимать у вас время и все же если у вас будет желание помочь и глянуть тз:
https://github.com/Angstreminus/avito_intern_backend_2023
в целом пока этот проект мой Magnum Opus.
PS: хотел бы я узнать возможно ли с таким уровнем подаваться на стажировку?

13 ответов

25 просмотров

Ох, а что с неймингом?

я вот не вижу ни одного теста. это show stopper, однозначно

для работы с БД можно взять https://github.com/jackc/pgx и посмотреть на https://docs.sqlc.dev/ для генерации запросов туда

Sir-Minus Автор вопроса
Valery Zakharov
для работы с БД можно взять https://github.com/ja...

В целом я тоже думал взять что-то из 3rd party, но решил ограничиться gin и стандартом, но да)

интересно почему host address захардкоден а не передаётся через конфиг

Sir-Minus Автор вопроса
Sir Minus
недоглядел потому что)

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 параллельных запроса) одновременно захотят выполнить транзакцию?

Аноним

Хехе, авито АБшницу на тестовое дает сделать 😁

подавайся с любым. они там сами отсеют по своим критериям

Похожие вопросы

Обсуждают сегодня

Ребят в СИ можно реализовать ООП?
Николай
32
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем доброго вечера. Разрабатываю 32 раз. приложение в Delphi. Столкнулся с тем, что стандартный  TFilestream  не работает с большим файлом > 2 ГБайт (после вызова функции see...
Vadim Gl
16
У меня задача: написать брокер сообщений. Очереди и потребители. Очереди поддерживают приоритеты. Очередь отдает сообщения, только обработчикам с соответствующими характеристи...
Aleksandr Filippov
2
добрый день. Подскажите, есть сайт на 1.4.7 и я хочу обновиться, особо ничего не меняя. мне выбирать версию 1.4.35 или третью ветку? и можно ли обновлять "как есть", или нужно...
Digital Cat
12
народ, плиз хелп, всю голову сломал себе уже... разве может быть так, что GetProcAddress( GetModuleHandle( "kernel32.dll" ), "SetThreadDescription" ) вернёт ненулевое значение...
Iluha Companets
12
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Всем доброго вечера. Разрабатываю 32 раз. приложение в Delphi. Столкнулся с тем, что стандартный TFilestream не работает с большим файлом > 2 ГБайт (после вызова функции see...
Vadim Gl
8
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Карта сайта