Python/ django
58.4K subscribers
2.61K photos
202 videos
48 files
3.34K links
по всем вопросам @workakkk

@itchannels_telegram - 🔥 все ит каналы

@ai_machinelearning_big_data -ML

@ArtificialIntelligencedl -AI

@datascienceiot - 📚

@pythonlbooks

РКН: clck.ru/3FmxmM
Download Telegram
🖥️ Черная пятница на Stepik на один из лучших курсов по контейнеризации!

Если давно хотел разобраться в теме, но постоянно откладывал или терялся среди десятков материалов, этот курс на Stepik поможет выстроить обучение последовательно.

Что получишь:
- Понятные объяснения без лишней воды.
- Практические задания для закрепления знаний.
- Возможность учиться в удобном темпе.
- Структурированный подход вместо хаотичного поиска информации.

Подойдёт тем, кто начинает с нуля или хочет систематизировать знания.

Начни прокачивать навыки уже сейчас:

https://stepik.org/course/303477/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍2🔥2🎉2😁1😢1
🐍 Yokan - компилятор Python в нативные desktop-приложения

Yokan позволяет писать приложение на обычном Python, запускать его через CPython во время разработки, а затем собирать тот же код в нативный machine-code executable.
Что интересного:

- статически типизированное подмножество Python;
- hot reload во время разработки;
- нативная сборка через yokan build;
- без CPython внутри бинарника, если не используется @py;
- можно подключать обычный Python-код и библиотеки через @py;
- есть интеграция с Rust для производительных частей;
- UI на базе GPUI, движка редактора Zed;
- около 36 UI-компонентов и десятки готовых демо.

Для проверки совместимости есть yokan gate: он запускает приложение в CPython и в нативной сборке, повторяет одинаковые действия и сравнивает результат. :

Сейчас поддерживаются macOS Apple Silicon и Linux, Python 3.14+.

По сути, идея похожа на Flutter-подход: быстрая разработка с live reload, затем AOT-сборка в нативное desktop-приложение.

GitHub:
https://github.com/i2y/yokan
1❤11👍4🎉3🔥1
ORM превратила один SQL-запрос в 51. Разработчик даже не заметил

Знакомая ситуация: код выглядит чисто, никаких SQL-запросов вручную, всё через ORM.

Например, в Django:


posts = Post.objects.all()[:50]

for post in posts:
print(post.author.name)


Кажется, что мы просто получаем 50 постов с авторами. Но на практике это может вызвать 51 запрос к базе данных.

Один запрос загружает посты, а ещё 50 отдельно получают авторов.

Это классическая проблема N+1 queries. Причём чем больше записей, тем больше обращений к БД.

Исправляется одной строкой:


posts = Post.objects.select_related("author")[:50]


Теперь Django использует JOIN и получает посты вместе с авторами одним запросом.

ORM избавляет от написания SQL, но не от необходимости понимать, какой SQL выполняется.

Именно поэтому при оптимизации API полезнее сначала посмотреть на количество запросов, чем переписывать Python-код ради нескольких миллисекунд.
👍14❤7🔥4😁2🎉1
👾 Русскоязычный каталог из 2118 проектов по декомпиляции игр: от Ocarina of Time до Xbox 360

На GitHub появился awesome-список, собранный на русском: проекты, которые восстанавливают игры из машинного кода. Это декомпиляции, статические рекомпиляции, порты на исходниках и ремейки движков. Задача простая: помочь найти проект под нужную игру и платформу и объяснить, как всё это устроено.

Масштаб впечатляет. В каталоге около 2118 проектов для примерно 1829 игр, из них 1771 активных. По типам: 786 декомпиляций, 525 статических рекомпиляций, 269 портов на исходниках, 238 ремейков движков, 234 дизассемблирования, 57 браузерных портов и 9 инструментов.

По платформам лидирует ПК с 295 проектами, дальше Nintendo 64 (190), Xbox 360 и PlayStation 1 (по 161). Следом идут DOS, GameCube, PS2, Game Boy Advance и Wii. Среди примеров Zelda (Ocarina of Time, Majora's Mask, Twilight Princess), Mario 64, Sonic, Diablo, Morrowind, OpenRA и OpenRCT2.

Внутри не просто список. В README есть топ-25, отдельный список браузерных портов, каталоги по типам и платформам, раздел о том, как начать декомпилировать самому, FAQ и глоссарий. Из инструментов упоминаются N64Recomp, XenonRecomp, RT64, splat, decomp.me, objdiff и m2c. Каталог обновляется автоматически через GitHub Actions.

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

Репозиторий: https://github.com/justxor/awesome-decomp-games-ru
❤6🔥6👍2🎉2