Как стать автором
Обновить

Комментарии 11

а зачем нам class Config: внутри класса?

Это конфиги моделей. Данная конструкция предусмотрена контрактом библиотеки Pydantic. Внутри можно указать массу дополнительных настроек.

НЛО прилетело и опубликовало эту надпись здесь

Спасибо на добром слове!

Второй урок уже готов. В связи с творящимся вокруг... кхм... белым пушным зверьком, пока руки не дошли опубликовать на хабре. Но в ближайшие дни я это сделаю.

НЛО прилетело и опубликовало эту надпись здесь

Подписался, выглядит многообещающе. Спасибо

Очень круто, продолжайте! Не хватает таких статей от знающих людей, использующих современные инструменты и здравый смысл.

Спасибо! Имеется уже вторая статья. Добро пожаловать)

Большое спасибо за труд, сам сейчас являюсь начинающим бэкенд разработчиком на Python(Django + DRF в основном). Работаю уже около 5 месяцев и понимаю, что мне явно не хватает некоторой системности знаний. Ну то есть появляется у меня задача допустим сделать некоторое API все возникшие проблемы решаются в основном с помощью stackoverflow и в итоге получается не очень хороший код с точки зрения его поддержки в будущем, код ревью к сожалению пока что почти полностью отсутствует у меня. Стек сейчас это Django+DRF, PostgreSQL, Celery, Redis. Развертывание локально обычно через docker-compose, тестовый сервак на dokku. Может быть, у вас есть совет как в этом всем зоопарке упорядочить знания ? ) Пробовал вроде и разные книжки и курсы, к сожалению большинство из них из разряда "как создать переменную". Куда копать чтобы появилось понимание решения типовых задач в первую очередь ? Как можно оценить оптимальность решения ? А то сейчас у меня получается, что код работает и ладно и всех это устраивает, а хочется чтобы он не просто работал а ещё и оптимально это делал.

Спасибо за комментарий.

Первое и самое главное, я так понимаю, вы уже сделали — нашли работу и получаете боевой опыт. Здесь главное — признавать свои ошибки и находить лакуны в собственных знаниях. Конечно, идеально было бы обзавестись старшим коллегой, который делился бы опытом на примере вашего общего проекта. Такой шеринг знаний всегда более эффективен, нежели объяснения на картошке и на пальцах. Если честно, я до сих пор не люблю работать один. Нет, всегда нужен напарник, хотя бы для ревью.

Полагаю, при работе с DRF следует обратить внимание на подход RESTful API. Поищите на хабре, почитайте, если ещё не. Ну и, конечно, берите официальную документацию DRF, штудируйте её по пунктам (там, кажется, в меню прямо так и было: Serializers, Views и так далее). Лично я, помнится, в своё время несколько раз перечитывал её и постоянно возвращался к ней во время работы. При чтении у вас обязательно отложится часть знаний, а затем при появлении незнакомой задачи вы вдруг вспомните, что вроде бы что-то такое уже видели, найдёте и реализуете уже менее костыльно.

Про Docker Compose можете почитать у меня во второй статье. Ознакомьтесь, почитайте комменты и погружайтесь глубже во всё, что не понятно. Гуглите, читайте туториалы.

По поводу типовых задач... Знаете, может, я давно уже не сталкивался просто, но что-то у меня возникает ощущение, что нет никаких типовых задач. Некоторые только кажутся таковыми из-за своей похожести друг на друга, но на деле всегда выясняется, что там нюансов вагон и маленькая тележка. Сразу скажу: не существует такой Библии питониста или программиста, после прочтения которой навык решения задач вырастает на +N. Только практика, только опыт, подкреплённый параллельным изучением теории.

Как оценить оптимальность решения? Для этого и нужны товарищи-напарники. Самому в моменте, увы, никак. Пройдёт год-два, и тогда вы обязательно поймёте, что код не оптимален, и надо было делать по-другому. А потом через год-два это повторится с новым кодом. И так по кругу, если вы будете продолжать расти.

Прошу прощения за абстрактный ответ без конкретики, но у меня действительно нет ничего иного, кроме доброго напутствия. :)

Без код ревью от более опытных коллег, к сожалению, спасения от говнокода нет.

Ситуацию могут облегчить книги и лекции Боба Мартина (чистый код, чистая архитектура) и какой-нибудь курс по шаблонам проектирования (именно на питоне, классическая книга банды четырех будет бесполезной тратой времени).

Сверху можно присыпать книгой с кабанчиком, но лучше найти способ показывать кому то свой код, если не целиком, то хотя бы структуру и какие-то основные элементы

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации