Реальный Код
25 subscribers
42 photos
6 videos
55 links
The Real Coding - твой проводник в мир разработки ПО.

Делюсь реальным опытом разработки с новичками.

Практические знания и советы по:
- Python
- Selenium
- командная строка
- C++
- много других интересностей, которые пригодятся вам в профессии
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
какая гадость эта ваша динамическая типизация… 😅

#humour #python
3🤣3🔥2🎄2
о полезности чтения чужих исходников

я кажется уже упомниал, что крайне полезно читать чужой код. благо, его как говна за баней очень много на ГитХабе: по любой тематике, любого качества, на любом языке

через это ты не только учишься быстро понимать и вникать в код (а это тоже навык), но самое главное – можешь учиться новому (к вопросу про мой предыдущий пост, кстати☝️), перенимать какие-то фишки, приемчики или даже узнавать новые конструкции языка или используемые бибилиотеки. ну а где-то, наоборот, можешь понять, почему ты бы написал лучше и чем данный код плох, какие есть минусы и почему его сложно читать (=поддерживать)

это, кстати, касается и код-ревью: важно читать и перенимать чужой опыт и фишечки написания кода

так вот… читаю я сегодня на досуге код OpenShot (это такой видеоредактор). а что примечательно – его ГУЕвая часть написана на связке Python+Qt

читаю-читаю, и натыкаюсь в разделе инициализации логов на такую конструкцию:

#
# Create rotating file handler
#
if os.path.exists(info.USER_PATH):
fh = logging.handlers.RotatingFileHandler(
os.path.join(info.USER_PATH, 'openshot-qt.log'),
encoding="utf-8",
maxBytes=25*1024*1024, backupCount=3)
fh.setLevel(info.LOG_LEVEL_FILE)
fh.setFormatter(file_formatter)
log.addHandler(fh)
else:
class DummyHandler:
def setLevel(self, level):
return True
fh = DummyHandler()


и узнаю, что в питоне, оказывается, из коробки есть log rotation (об этом в другой раз; вкратце, это когда лог пишется до определенного момента в файл, после чего начинает писаться в следующий файл, чтобы файлы не разрастались)

поглядел в доке: так там целая поляна всевозможных лог хендлеров, от null до отправления UDP-датаграмм

так что в очередной раз даю совет: читайте чужой код!

#python #log #sourceCode #опыт
🔥2👍1👌1
в Питоне для генерации чего-то более-менее критичного к секьюрности рекомендуется использовать пакет secrets вместо random

вот дока https://docs.python.org/3/library/secrets.html

а вот PEP 506 с деталями https://peps.python.org/pep-0506/

the rule of thumb: random используем для всякого матмоделирования и некриитчного к безопасности. secrets – для генерации токенов, паролей и всего прочего на проде, что нужно хранить безопасно. Кстати, там же есть удобная функция для генерации валидных рандомных частей УРЛов – secrets.token_urlsafe()

почитайте – крайне полезные вещи там

#security #python
👍1🔥1
да уж… питона у меня на ГХ все больше и больше

второй график – на начало этого года

третий – на начало 2024

четвертый – два года назад

кстати, также видно и развитие утилиты git-stats-plate-gen за те же два года

итого, что у нас по питону:
авг 2023 – 25К
янв 2024 – 33К
янв 2025 – 58К
авг 2025 – 77К

🤪

это только полностью мои репы, которые мейнтейню в одно лицо. Никаких форков или те, куда я контрибутил «вовне»

#python #stats #gitHub
🔥1