Сегодня начал откликаться на Джуна с 0 опыта. Мда конечно если до HR и дойдет мое резюме, как то страно наверное будет реакция на то, что в 38 лет я хочу войти в IT, когда некоторые уже выходят к этому возрасту😂
Небольшое лирическое отступление, у меня определенно не закрыт гештальт упущенного времени, так как в далеком 2009 году я отучился 1 год на программиста в IUT Robert Schuman в Страсбурге. Как сейчас помню то мы сидели и писали скрипты на bash, то вообще не втыкали как можно на ассемблере писать, либо же приходили и нежданчиком приходилось писали контрольные по Java или C++ на листке бумаге.
Тяжелее отказа наверное то, что вообще ответа нет. Пусто. Ни «не подходите», ни «рассмотрим», хотя бы «пошел нахер» написали б .
Этот день явно непродуктивный у меня. Зашел на Youtube посмотрел курсы по FastAPI у Артема Шумейко (Это не реклама, просто нравится его манера подачи информации)
Далее полез в собственный код, увидел очередной косяк: запрос к базе в цикле. Когда в цикле обращаешься к связи (post.author.name), Django делает отдельный запрос к БД для каждой итерации. На десяти постах это одиннадцать запросов вместо одного. Как я нашел? Просто в IDE поставил агента к которому обращаюсь, он ищет критичные места в коде и объясняет. Бывает конечно такое, что он начинает припездывать и нести ахинею насколько крут мой дырявый код.
# плохо: запрос на каждую итерацию
posts = Post.objects.all()
for post in posts:
print(post.author.name) # 1 + N запросов
# лучше: один JOIN сразу подтягивает автора
posts = Post.objects.select_related("author")
for post in posts:
print(post.author.name) # 1 запроса вместо 11
Что имеем сегодня:
Откликов два, ответа ни одного.