TG Telegram Group Link
Channel: Библиотека питониста | Python, Django, Flask
Back to Bottom
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Git Notes — тайная фича Git, о которой никто не говорит

git notes позволяют добавлять метаданные к любому объекту в git (commit, tree, blob) без изменения самих объектов.

Представьте: вы не можете изменить старый коммит, но вам нужно оставить комментарий. Вот тут и приходят на помощь git notes:
git notes add -m 'Reviewed-by: QA Bot'


И теперь:
git log
# ...
# Notes:
# Reviewed-by: QA Bot


🛠 Где это уже используется

Git-проект сам хранит ссылки на обсуждения коммитов в mailing-листе в notes.
В Gerrit через плагин reviewnotes можно добавлять результаты тестов и ревью прямо в git log.
Некоторые команды используют notes, чтобы считать потраченное время на фичу или хранить автоматические отчёты.

🚀 Да, можно даже свой GitHub построить

Проект git-appraise от Google — распределённая система code review прямо внутри Git. Без сервера, с возможностью писать ревьюшки, комментировать и даже мёржить изменения — всё оффлайн.

🤔 Почему никто не использует

Неочевидный UX
Плохо документировано
Не поддерживается большинством хостингов (GitHub, GitLab не показывают notes)

📌 Но если вы разрабатываете свой CI/CD, систему ревью или просто автоматизируете dev workflow — git notes могут быть сокровищем.

Библиотека питониста #буст
🤯 Мы больше года строим мультиагентные системы

Грабли, находки, паттерны, эксперименты — всё это накопилось и в какой-то момент стало жалко держать только у себя.

Никита — рассказывает (и показывает) базу: токенизация, LLM, SFT, PEFT, локальный инференс + RAG и как оценивать его качество.
Диана — как строят мультиагентные системы, какие есть паттерны проектирования и библиотеки.
Макс — про инференс в проде + разберет CoPilot, соберет с вами из кусочков свой копайлот, а затем его сломает через prompt injection. // Макс фанат autogen (а если нет — он вас разубедит в своем классном канале)
Финальным аккордом Дима углубится в MCP и соберет несколько кейсов повзрослее.

Курс тут: https://clc.to/47pgYA
Промокод: datarascals действует до 23:59 29 июня
🚀 От конкурсов к коду: как алгоритмическое мышление ускоряет приложения

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

🏆 Такие решения обычно находят разработчики с опытом спортивного программирования. В этом посте — почему их мышление так ценно для реальной разработки.

Хотите узнать, как улучшить производительность приложений?

Читайте дальше: https://proglib.io/sh/BZ6EzqDbaW

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🧩 Задача: неожиданный результат с изменением словаря

Что выведет следующий код?
def update_dict(d, key, value):
d[key] = value
return d

my_dict = {'a': 1, 'b': 2}
print(update_dict(my_dict, 'c', 3))
print(update_dict(my_dict, 'd', 4))
print(my_dict)


Вопросы:
1. Какой будет вывод каждой из трёх строк?
2. Почему my_dict меняется после вызова функции?
3. Как изменить функцию, чтобы оригинальный словарь не менялся, а возвращалась новая копия с обновлённым значением?

Подвох:
Словари — изменяемые объекты, передаются по ссылке, поэтому любые изменения внутри функции влияют на оригинал.

Решение:
def update_dict(d, key, value):
new_dict = d.copy()
new_dict[key] = value
return new_dict


Что проверяет задача:
Понимание изменяемых объектов и передачи по ссылке в Python
Умение создавать копии объектов для избежания побочных эффектов
Навыки работы с функциями и аргументами

Библиотека питониста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих»

Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!

🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
🐍 Свежие релизы Python‑пакетов за последние 7 дней

Gymnasium 1.2.0 — новая версия «переименованного» Gym: единое API для RL‑задач и обширный набор окружений

LangGraph 0.5.0 — фреймворк для построения stateful‑приложений с несколькими LLM‑акторами

aioboto3 15.0.0 — асинхронная обёртка над boto3 для AWS

lxml 6.0.0 — мощная обработка XML на базе libxml2/libxslt + ElementTree

transformers 4.53.0 — SOTA‑модели для JAX, PyTorch и TensorFlow

mcp 1.10.0 — SDK для Model Context Protocol

chdb 3.4.0 — in‑process OLAP‑движок на ClickHouse

Diffusers 0.34.0 — диффузионные модели в PyTorch и JAX

junitparser 4.0.0 — манипуляция XML‑отчётами JUnit/xUnit

Pybtex 0.25.0 — процессор BibTeX‑совместимых библиографий

Instructor 1.9.0 — структурированный вывод из LLM

Robyn 0.70.0 — супершустрый async‑фреймворк на Rust‑рантайме

Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
HTML Embed Code:
2025/06/29 16:28:56
Back to Top