TGViewer
Channel Public Channel
Python Portal

Python Portal

@pythonportal

Всё самое интересное из мира Python

Сотрудничество, реклама: @devmangx

Работаем с @Spiral_Yuri

РКН: https://clck.ru/3GMMF6
Subscribers
50.2K
Photos
2.9K
Videos
487
Links
1.3K

Showing posts older than #5669 · Back to latest

Older Posts 20 shown
Post #5668 6.94K
Как работает Git

main → production
develop → рабочая ветка

feature → разработка фичи
release → стабилизация
hotfix → быстрый фикс в прод

1. Вся стабильная версия кода лежит в main
2. Основная разработка идёт в develop
3. Под каждую задачу создаётся feature-ветка от develop
4. Когда фичи готовы — собирается release-ветка для тестирования
5. Если всё ок — релиз мержится в main
6. Если баг в проде — делаем hotfix прямо от main

👉 @PythonPortal
  • 👍 13
Post #5667 6.49K
Ого, экономия токенов в 49 раз?? Надо срочно заценить это. 🤭

Кто-то сделал локальный граф знаний для Claude Code, который снижает расход токенов в 49 раз в повседневных задачах разработки.

Называется code-review-graph — он строит персистентную структурную карту всего кодбейза с помощью Tree-sitter, поэтому Claude читает только действительно релевантные файлы, вместо того чтобы тратить токены на сканирование всего подряд.

→ в среднем 8.2× снижение потребления токенов на 6 реальных репозиториях
→ анализ blast radius: трассирует всех вызывающих, зависимые компоненты и тесты, затронутые любым изменением
→ инкрементальные обновления: перепарсиваются только изменённые файлы менее чем за 2 секунды
→ работает из коробки с Claude Code, Cursor, Windsurf, Zed и др.

100% open-source

👉 @PythonPortal
  • 👍 15
  • 🔥 8
Post #5665 6.07K
Перевод 35 практических мыслей о системном дизайне от Рауля Джанго 😆

✅Основные принципы

1. Любая система — это компромисс → нельзя одновременно получить скорость, низкую стоимость и простоту.
2. Латентность накапливается → каждая добавленная миллисекунда на каждом слое превращается в боль для пользователя.
3. Масштабируемость ≠ производительность → одно про рост, другое про скорость.
4. Read vs Write пути → масштабирование каждого требует совершенно разных стратегий.
5. Проектируй под изменения, а не под идеал → требования будут меняться.

✅Базы данных и хранение

6. Индексы — это рычаг → колонки с высокой селективностью стоит индексировать, с низкой — чаще нет.
7. Репликация помогает чтению, партиционирование — записи → не путай эти вещи.
8. Dual writes — это иллюзия → без координации неизбежен рассинхрон.
9. Event store > очереди (иногда) → лучше трассируемость, хуже простота.
10. Инвалидация кэша — всё ещё самая сложная проблема → свежесть vs производительность — вечный компромисс.

✅Надёжность и согласованность

11. Идемпотентность спасает → ретраи без неё приведут к проблемам.
12. Fail fast, fail loud → тихие ошибки убивают системы.
13. Eventual consistency — это фича → а не баг, но только если бизнес это допускает.
14. Разрешение конфликтов в active-active — это бизнес-логика, а не инфраструктура.
15. Надёжность (durability) не бесплатна → синхронизация между регионами стоит денег и добавляет задержки.

✅Архитектурные паттерны

16. Микросервисы — это про организацию команды, а не про технологическую цель.
17. Сначала монолит, потом модульность, потом микросервисы → не прыгай раньше времени.
18. Choreography масштабируется, orchestration упрощает → выбирай по зрелости команды.
19. Serverless даёт фокус, но забирает контроль.
20. Очереди не убирают работу, они её сглаживают.

✅Наблюдаемость и эксплуатация

21. Трейсинг > логирование → логи говорят «что», трейсы — «почему».
22. Метрики деградируют без владельца → измеряй то, что кто-то реально использует.
23. Ретраи без backoff = DDoS на самого себя.
24. Dead-letter очереди — обязательны → в любой системе есть «ядовитые» сообщения.
25. Рычаги > крутилки → проектируй быстрые kill switch’и и механизмы ограничения blast radius.

✅Производительность и стоимость

26. Оптимизируй hot path, а не cold path.
27. Большинство узких мест — в базе данных, а не в коде.
28. Горизонтальное масштабирование лучше вертикального → пока координация не начинает всё ломать.
29. Тёплый кэш маскирует плохие запросы → проверяй и холодные старты.
30. Самый дешёвый ресурс — диск, самый дорогой — время.

✅Люди и процессы

31. Лучшая архитектура умирает без документации.
32. Design review — это не про диаграммы, а про компромиссы.
33. Маленькие PR — про скорость, большие — про контекст → нужен баланс.
34. Роль синьора — задавать неудобные вопросы «а что если».
35. Ни один дизайн не переживает первое столкновение с продом → но хороший — гнётся, а не ломается.

👉 @PythonPortal
  • 👍 16
  • ❤ 8
  • 🔥 6
Post #5664 6.56K
Один PhD-исследователь (судя по аватарке - дединсайд) заменил Notion и дургие приложения для заметок на 8 AI-агентов, которые управляют Obsidian vault

Вот что делает каждый агент:

1. Architect — проектирует структуру vault и проводит онбординг
2. Scribe — превращает сырые мысли в структурированные заметки
3. Sorter — каждый вечер разбирает inbox
4. Seeker — ищет по vault и отвечает с цитированием
5. Connector — находит скрытые связи между заметками
6. Librarian — проводит еженедельный аудит и фиксит битые ссылки
7. Transcriber — превращает встречи в структурированные заметки
6. Postman — сканирует Gmail и Calendar на дедлайны

Они ещё взаимодействуют друг с другом.

Когда Transcriber обрабатывает встречу - он уведомляет Sorter. Когда Postman находит дедлайн - он сигналит Architect.

100% опенсорс. Работает полностью локально на твоей машине. Лицензия MIT. 😱

👉 @PythonPortal
GitHub GitHub - gnekt/My-Brain-Is-Full-Crew: Built by a PhD whose memory was failing, whose diet was a mess, and whose anxiety had its… Built by a PhD whose memory was failing, whose diet was a mess, and whose anxiety had its own agenda. Most second brain tools ignore the fact that your brain doesn't work in isolation: your...
  • ❤ 10
  • 🤣 1
Post #5663 6.85K
Если ты думаешь, что AI-видео не может быть смешным, тогда что это. 😹

👉 @PythonPortal
  • 🤣 52
  • 😁 8
  • 🤔 6
  • 😢 3
Post #5662 7.64K
Claude Code стоит $200/месяц. GitHub Copilot — $19/месяц. Компания Джека Дорси выпустила бесплатную альтернативу с 35 000 звёзд на GitHub.

Она называется Goose.

Это open-source AI-агент от Block, который выходит за рамки простых подсказок кода. Он устанавливает зависимости, выполняет команды, редактирует и тестирует. С любой LLM на выбор.

Не автодополнение. Не подсказки. Полноценный автономный агент, который выполняет действия на твоём компьютере.

Без vendor lock-in. Без ежемесячной подписки. Используешь свою модель.

Вот что умеет Goose:

→ Работает с любой LLM: Claude, GPT, Gemini, Llama, DeepSeek, Ollama — на твой выбор
→ Читает и понимает весь код в репозитории
→ Пишет, редактирует и рефакторит код в нескольких файлах
→ Выполняет shell-команды и устанавливает зависимости
→ Запускает и дебажит код автоматически
→ Расширяется через MCP — можно подключать любые внешние инструменты
→ Десктоп-приложение, CLI и веб-интерфейс — выбираешь свой workflow
→ Написан на Rust — быстрый, лёгкий, без лишнего

Самое интересное:

Block — компания с оценкой ~$40 млрд. Они сделали Cash App, Square и TIDAL. Они используют Goose внутри компании, а потом полностью открыли исходники.

Это не pet-проект от случайного разработчика. Это production-grade инструмент от компании, которая обрабатывает миллиарды платежей. Сделан для своих инженеров и выложен в open-source.

Claude Code: $200/месяц — привязан к Claude
GitHub Copilot: $19/месяц — привязан к GitHub
Cursor: $20/месяц — привязан к своему редактору

Goose: бесплатно. Любая LLM. Любой редактор. Любой workflow. Навсегда.

35.3K звёзд на GitHub. 3.3K форков. 4 078 коммитов. Разработан Block.

100% open-source. Лицензия Apache 2.0.

👉 @PythonPortal
  • 🤔 27
  • ❤ 11
  • 👍 7
  • 😁 1
  • 🤣 1
Post #5661 7.19K
Вайбкодеры, это вам: нашёл Claude HUD — плагин для Claude Code, который в реальном времени показывает, что происходит: использование контекста, активные инструменты, запущенные агенты и прогресс задач (todo), всё это отображается прямо под полем ввода.

Стоит попробовать, если хочешь больше прозрачности в своём workflow.

https://github.com/jarrodwatts/claude-hud

👉 @PythonPortal
  • 👍 10
  • ❤ 6
Post #5660 7.69K
Терапевт: Loop loops не реальны, они не могут тебе навредить.

Loop loops:

👉 @PythonPortal
  • 🤣 31
  • ❤ 3
  • 🔥 2
Post #5659 7.98K
Ничоси: кто-то решил самую большую проблему Claude Code.

Все знают, что Claude Code плохо справляется с UI-дизайном. Поэтому кто-то создал MCP, который даёт Claude встроенный AI-инструмент для дизайна.

Вместо постоянного переключения между дизайн-платформой и редактором кода, он генерирует дизайн и сразу добавляет его в кодовую базу.

👉 @PythonPortal
  • 🔥 23
  • ❤ 3
  • 👍 2
Post #5658 7.01K
Крутой новый блог-пост: почему асинхронный Python на самом деле детерминирован.

Мы разбираем, как на самом деле работает event loop в Python, и показываем, что несмотря на возможное чередование async-задач, они всегда начинают выполнение в предсказуемом порядке, что упрощает построение конкурентных async-воркфлоу.

READ PAPER 🤨

👉 @PythonPortal
  • ❤ 11
  • 👍 3
Post #5655 6.08K
Быть добру: кто-то выложил в open-source Python-библиотеку, которая даёт прямой доступ к Google Flights.

Она называется Fli — обходит веб-интерфейс и работает напрямую с реверс-инжиниренным API, выдавая быстрые и структурированные результаты.

100% open-source.

👉 @PythonPortal
  • ❤ 16
  • 👍 5
  • 🤔 2
Post #5654 6.42K
Создай Large Language Model с нуля

Этот репозиторий содержит примеры кода для разработки, предобучения (pretraining) и дообучения (finetuning) LLM с нуля.

Это официальный кодовый репозиторий для книги *Build a Large Language Model (From Scratch)*.

Для каждой главы включены примеры в формате ноутбуков:

Глава 1: Понимание Large Language Models
Глава 2: Работа с текстовыми данными
Глава 3: Реализация механизмов attention
Глава 4: Реализация GPT-модели с нуля
Глава 5: Предобучение на неразмеченных данных
Глава 6: Дообучение для задачи классификации текста
Глава 7: Дообучение для следования инструкциям

👉 @PythonPortal
  • 👍 11
  • ❤ 3
Post #5652 5.73K
Прогноз не сбывается 🤔🤔🤔

👉 @PythonPortal
  • ❤ 36
  • 😁 10
Post #5651 5.92K
Как проверить, является ли строка печатаемой или нет в Python 🤯

>>> "123".isprintable()
True

>>> "abc".isprintable()
True

>>> "\t\n".isprintable()
False


👉 @PythonPortal
  • ❤ 18
  • 👍 7
Post #5650 6.1K
Языки программирования и их создатели по возрасту 😎

👉 @PythonPortal
  • ❤ 45
  • 👍 19
  • 🔥 6
  • 😁 1
Post #5649 5.98K
Свойства и методы

Если вы хотите узнать свойства и методы объекта или модуля, используйте функцию dir(). Ниже мы проверяем свойства и методы строкового объекта.

my_str = 'I love Python'
print(dir(my_str))


['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__',
'__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__',
'__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__',
'__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__repr__',
'__setattr__', '__sizeof__', '__str__', '__subclasshook__',
'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith',
'expandtabs', 'find', 'format', 'index', 'isalnum', 'isalpha',
'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join',
'lower', 'lstrip', 'replace', 'rfind', 'rstrip', 'split',
'startswith', 'strip', 'upper']


Вы также можете использовать функцию dir(), чтобы посмотреть свойства и методы модулей. Например, если вы хотите узнать свойства, методы, атрибуты, классы и функции, доступные в модуле collections, можно использовать следующий код:

import collections
print(dir(collections))


['ChainMap', 'Counter', 'OrderedDict', 'UserDict', 'UserList',
'UserString', '__all__', '__builtins__', '__cached__', '__doc__',
'__file__', '__loader__', '__name__', '__package__', '__path__',
'__spec__', '_chain', '_collections_abc', '_count_elements',
'_eq', '_iskeyword', '_itemgetter', '_proxy', '_recursive_repr',
'_repeat', '_starmap', '_sys', '_tuplegetter', 'abc',
'defaultdict', 'deque', 'namedtuple']


Один из эффективных способов использования функции dir() — проверить, доступен ли конкретный атрибут у объекта. Например, с помощью этой функции можно проверить, есть ли у списка атрибут __len__.

my_list = [1, 2, 3, 4]
print('__len__' in dir(my_list))


True


Этот код возвращает True, потому что __len__ является одним из атрибутов объекта списка.

👉 @PythonPortal
  • ❤ 26
Post #5648 6.38K
Перевод текста с экрана в реальном времени теперь с открытым исходным кодом.

Он считывает и переводит текст из игр, видео, субтитров — вообще всего, что у тебя на экране. Мгновенно.

Раньше: сделать скриншот → скопировать → вставить → ждать обработки.
Теперь: просто работает в фоне. Я читаю японские питч-деки в реальном времени.

Ноль затрат на API. Всё работает локально. Open source. 😆

👉 @PythonPortal
  • 👍 13
  • ❤ 4
  • 🤯 2
  • 👀 2
  • 🤣 1
Post #5647 5.78K
Два разработчика, ведущие разработку в одной ветке.

👉 @PythonPortal
  • 😁 50
  • 🔥 5
  • ❤ 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →