Совет по чистому коду Python:
Не разделяйте части кода с помощью комментариев — лучше извлекайте функции/методы.
Почему?
1. Улучшает читаемость.
2. При рефакторинге имя метода меняется везде (комментарии быстро становятся устаревшими).
Плохой пример:
Хороший пример:
Читатель может сосредоточиться на логике высокого уровня и проверять детали низкого уровня только при необходимости
Здесь каждый шаг вынесен в отдельную функцию
👉 @PythonPortal
Не разделяйте части кода с помощью комментариев — лучше извлекайте функции/методы.
Почему?
1. Улучшает читаемость.
2. При рефакторинге имя метода меняется везде (комментарии быстро становятся устаревшими).
Плохой пример:
# Чтение всех тикетов
class CloseAllTickets:
def execute(self):
session = sessionLocal()
# список всех тикетов
tickets = session.query(Ticket).all()
# закрытие тикетов
for ticket in tickets:
ticket.status = "CLOSED"
# сохранение тикетов
session.add_all(tickets)
session.commit()
Хороший пример:
Читатель может сосредоточиться на логике высокого уровня и проверять детали низкого уровня только при необходимости
class CloseAllTickets:
def execute(self):
session = sessionLocal()
tickets = self._list_tickets(session)
self._close_tickets(tickets)
self._save_tickets(session, tickets)
def _list_tickets(self, session):
return session.query(Ticket).all()
def _close_tickets(self, tickets):
for ticket in tickets:
ticket.status = "CLOSED"
def _save_tickets(self, session, tickets):
session.add_all(tickets)
session.commit()
Здесь каждый шаг вынесен в отдельную функцию
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍26💊14❤9🔥2🤔2😢1🌭1
11 сентября (уже в четверг!) в 19:00 по мск приходи на прямой эфир с реальным собеседованием на Middle разработчика.
Почему точно нужно прийти:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🤯1🌭1
Годная подборка из 20 Kubernetes-челленджей
Подойдут как хардовые вопросы на собес или для самостоятельной тренировки. Забирайте по ссылкам:
Для каждого задания приводится условие, варианты ответов и непосредственно ответ с пояснениями😏
👉 @PythonPortal
Подойдут как хардовые вопросы на собес или для самостоятельной тренировки. Забирайте по ссылкам:
1. Подсчёт endpoints (как и сколько endpoints будет у Service)
2. Ждём чуда (как работает shutdown)
3. Я сказал стоп (как «оттянуть» время удаления Pod)
4. Проектирование shared-кластеров (какую архитектуру выбрать)
5. Kernel panic (время паниковать?)
6. Прыгай, кролик
7. Сколько — это слишком много
8. Держим свет включённым
9. Прожорливый etcd
10. Умножение pod’ов
11. В одиночку
12. Rollin’
13. All you can eat
14. Bounce
15. В кроличью нору
16. Throttled
17. Липкий бардак
18. Жив или мёртв
19. Связанный по рукам
20. Один, чтобы связать их всех
Для каждого задания приводится условие, варианты ответов и непосредственно ответ с пояснениями
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Удобный интерфейс для скачивания видео и аудио
Если вы не любите работать с командной строкой, то youtube-dl-gui это именно то, что вам нужно.
Этот графический интерфейс для популярного инструмента youtube-dl позволяет скачивать видео и аудио с YouTube и других платформ без необходимости использовать терминал.
С помощью youtube-dl-gui вы сможете загружать видео и плейлисты с YouTube и сотен других сайтов, выбирать нужный формат и качество, включая только аудио. Поддерживается одновременная загрузка нескольких файлов, а прогресс загрузки отображается в реальном времени. Также через удобный GUI можно настроить параметры youtube-dl.😎
Подробнее на GitHub
👉 @PythonPortal
Если вы не любите работать с командной строкой, то youtube-dl-gui это именно то, что вам нужно.
Этот графический интерфейс для популярного инструмента youtube-dl позволяет скачивать видео и аудио с YouTube и других платформ без необходимости использовать терминал.
С помощью youtube-dl-gui вы сможете загружать видео и плейлисты с YouTube и сотен других сайтов, выбирать нужный формат и качество, включая только аудио. Поддерживается одновременная загрузка нескольких файлов, а прогресс загрузки отображается в реальном времени. Также через удобный GUI можно настроить параметры youtube-dl.
Подробнее на GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20👍6🔥1🤔1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁63🤣25❤12🔥4
🎯 Бот, в котором платят за логику
3 задачи — до 30 000 ₽ на обучение. За каждую правильную — по 10К. Даже если ошибёшься, — приз всё равно будет.
Не лотерея. Тест с реальными наградами.
15 минут. Никаких регистраций. Только Telegram.
🚀 Заходи — покажи класс: https://epic.st/c2pX0Q?erid=2VtzqxXhv9H
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
3 задачи — до 30 000 ₽ на обучение. За каждую правильную — по 10К. Даже если ошибёшься, — приз всё равно будет.
Не лотерея. Тест с реальными наградами.
15 минут. Никаких регистраций. Только Telegram.
🚀 Заходи — покажи класс: https://epic.st/c2pX0Q?erid=2VtzqxXhv9H
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
🤣35❤1👍1😁1💊1
This media is not supported in your browser
VIEW IN TELEGRAM
Появился интерактивный инструмент, который наглядно показывает, как работает GPT-подобная LLM.
Вместо теории — 3D-визуализация процессов внутри модели
От преобразования текста в токены до выбора следующего слова. Отличный способ быстро разобраться, что происходит «под капотом» нейросетей.😮
👉 @PythonPortal
Вместо теории — 3D-визуализация процессов внутри модели
От преобразования текста в токены до выбора следующего слова. Отличный способ быстро разобраться, что происходит «под капотом» нейросетей.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤7🔥3🤔1
Совет по чистому коду на Python:
Когда модуль становится слишком большим, его можно реструктурировать в пакет, при этом сохранив все импорты из модуля без изменений.
Пример:
👉 @PythonPortal
Когда модуль становится слишком большим, его можно реструктурировать в пакет, при этом сохранив все импорты из модуля без изменений.
Пример:
# views/__init__.py
from .book_views import BookList, BookDetail
from .library_views import LibraryList, LibraryDetail
from .author_views import AuthorList, AuthorDetail
__all__ = [
"BookList",
"BookDetail",
"LibraryList",
"LibraryDetail",
"AuthorList",
"AuthorDetail",
]
# импорты из модуля/пакета могут оставаться теми же
from views import BookList, BookDetail
Please open Telegram to view this post
VIEW IN TELEGRAM
❤23👍5