Backend & Python
69 subscribers
61 photos
3 videos
7 links
Ваш IT-помощник и репетитор по Python
Download Telegram
Основы Git и GitHub на Stepik
Мы уже разбирали, что git - это распределённая система контроля версий, которая отслеживает изменения в коде, позволяет команде работать над одним проектом одновременно и в любой момент вернуться к нужной версии. Без него сегодня не обходится ни один серьёзный workflow - от учебного проекта до продакшена

Знать git на уровне "запушить и закоммитить" недостаточно - рано или поздно мы встретим конфликты, ветки, rebase, откаты.

📌 Курс "Основы Git и GitHub"
Бесплатный курс от Pragmatic Programmer: 26 уроков и 80 тестов, разобрано от базовых команд до работы с удалёнными репозиториями. Материал подаётся через видео с конспектами и закрепляется тестами - удобно проверять себя сразу по ходу обучения

У данного автора на Stepik есть и другие курсы в том же формате - знакомство с SQL, Docker, терминал Linux, синтаксис Markdown и не только. Хорошая база, если хочется системно закрыть фундаментальные темы
#полезные_ресуры
👨‍💻2
Ровно как и год назад вновь выходит новая версия python с нововведениями
Python 3.15: что нового

📢 Уже завтра - 1 октября по графику выходит финальная версия Python 3.15. Релиз-кандидаты уже вышли, значит список изменений финальный

Что можем выделить интересного
1. Ленивые импорты (PEP 810)
Ключевое слово lazy откладывает загрузку модуля до первого обращения к нему. Приложение стартует быстрее, если часть импортов нужна не в каждом запуске
lazy import json
lazy from pathlib import Path

print("Старт") # json и pathlib ещё не загружены
data = json.loads('{"a": 1}') # json загружается здесь

Ограничение: работает только на уровне модуля. Внутри функции, класса или try/except будет SyntaxError

2. Распаковка в comprehensions (PEP 798)
Звёздочка теперь работает внутри генераторов списков, множеств и словарей. Это замена вложенным циклам и itertools.chain
lists = [[1, 2], [3, 4], [5]]
[*L for L in lists] # [1, 2, 3, 4, 5]


3. frozendict и sentinel
frozendict (PEP 814) - неизменяемый словарь, хешируемый, если хешируемы его ключи и значения. Это не подкласс dict.
sentinel (PEP 661) - встроенный способ создавать уникальные значения-маркеры вместо привычного object()

4. UTF-8 по умолчанию (PEP 686)
open() без параметра encoding теперь читает файлы в UTF-8 независимо от системы. Раньше на Windows могла использоваться локальная кодировка (например, cp1251).

5. Tachyon - профилировщик в стандартной библиотеке (PEP 799)
Подключается к уже запущенному процессу по PID, без перезапуска и правок кода, почти не нагружая его. Умеет строить flame graph. Полезно, когда что-то тормозит в работающем сервисе

6. Подсказки в ошибках
Если написать [1, 2, 3].push(4), Python подскажет: Did you mean '.append'?. Подсказки есть для типичных методов из JavaScript, Java, Ruby и C#, так что тем, кто пришёл из других языков, станет проще

7. JIT-компилятор стал быстрее
На x86-64 Linux прирост около 8-9% по сравнению со стандартным интерпретатором. Он всё ещё экспериментальный, и в продакшен его пока не стоит включать

📌 Перед переходом на 3.15 проверьте зависимости: не все библиотеки поддержат новую версию в первые дни
#IT_новости
❤2
Если нужна помощь с дата аналитикой, пересдача которой у большинства до 31 октября, самое время приступить 💻

Результаты ребят, которым уже закрыл, выше 👆
👨‍💻2