About Python [ru]
6.22K subscribers
314 photos
1.59K links
Все о Python: алгоритмы, паттерны проектирования, задачи, нейронные сети

Канал на бирже - https://telega.in/c/python_tesst

По вопросам рекламы или разработки: @g_abashkin
Download Telegram
👩‍💻 Деплой без стресса: автоматизируем процесс для Telegram-ботов

В статье рассказывается, как настроить автоматический деплой Telegram-бота на сервер с использованием GitHub Actions. Это поможет ускорить обновление кода и минимизировать ошибки при ручной загрузке.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Стратегия Келли точно не подведёт

В статье рассматривается уникальная карточная игра с нулевой дисперсией, где стратегия Келли работает без риска. Разбирается механизм ставок, анализ игры и её математическая основа, описанная Томасом Кавером.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Некоторые особенности создания диаграммы Санки (Sankey Diagram) на Python, библиотека plotly

Разбираемся как упаковывать данные в диаграмму Sankey, от этапа проектирования до сборки финальных кортежей.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Что такое sys.setrecursionlimit() в Python и когда его нужно использовать?

Функция sys.setrecursionlimit() позволяет вручную изменить максимальную глубину рекурсии в Python. По умолчанию это значение составляет 1000, но при работе с глубокими рекурсивными алгоритмами (например, при обходе дерева или графа) может потребоваться больше.

➡️ Пример:

import sys

sys.setrecursionlimit(2000)

def recurse(n):
if n == 0:
return "Готово"
return recurse(n - 1)

print(recurse(1500)) # Без изменения лимита была бы ошибка RecursionError


🗣️ Этот метод полезен в ситуациях, где нельзя переписать код на итеративный стиль, но нужно избежать ошибки переполнения стека. Однако его следует использовать с осторожностью — слишком высокий лимит может привести к краху интерпретатора.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Не доверяйте groupby().first()

В этой статье рассмотрим, почему groupby().first() в pandas — не такая уж безопасная и очевидная штука, как может показаться. Особенно когда нужно достать первую строку группы в точности, как она была в датафрейме — с NaN, с порядком, без сюрпризов.

Но для начала рассмотрим отличия first от других подобных методов.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Говорим с Битрикс24 на языке ИИ: представляем опенсорс MCP-сервер для LLM-интеграции

Показываю, как мы собрали MCP-сервер, который помогает чатам с LLM-ами вытаскивать данные из Битрикс24, например из CRM, и нормально отвечать пользователю на основе бизнес-контекста.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Улучшаем поиск в оболочке

Рассказываю, как часто повторяющиеся команды в Unix-терминале могут стать убийцей времени и как я с этим справляюсь. Немного автоматизации — и минус сотни нажатий в день..

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Введение в MLflow: настройка и запуск

Расскажу, как развернуть MLflow с нуля и вытащить его наружу, если хочется следить за экспериментами не только локально. Подойдёт для пет-проектов и просто тренировки

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Что такое __getattr__ в Python и зачем он нужен?

__getattr__ — это магический метод, который вызывается, когда атрибут не найден обычным способом. Он позволяет управлять доступом к несуществующим атрибутам, создавать прокси-объекты, ленивую загрузку и динамические значения.

➡️ Пример:

class LazyUser:
def __init__(self, name):
self.name = name

def __getattr__(self, attr):
return f'Атрибута "{attr}" нет, но мы что-нибудь придумаем'

user = LazyUser('Анна')
print(user.name) # Анна
print(user.email) # Атрибута "email" нет, но мы что-нибудь придумаем


🗣️ В этом примере, если атрибут не найден (например, email), вызывается __getattr__, который возвращает кастомный ответ. Это может быть полезно для отладки, логирования, создания API-обёрток и сериализации


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Full-stack в аналитике: почему это будущее Data Science?

Поговорим, почему современный дата-сайентист обязан быть фулл-стеком: от сбора данных до деплоя модели и фронта. И как иначе не угробить проект на ровном месте

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🌪 Используй правило «шторма идей» для архитектуры

Когда проектируешь систему, не останавливайся на первом решении. Оно почти всегда не лучшее.

👉 Совет: придумай минимум три разных способа решить задачу: через очереди, через события, через разные структуры данных. Потом выбери оптимальный. Даже если останешься при первом варианте — альтернативы покажут слабые места.
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Код как кисть: как Python превращается в художника с помощью генеративных алгоритмов

Пробую научить Python создавать странные картины с помощью случайностей, математики и шума Перлина. Без нейросетей — только код, немного философии и много визуального абсурда

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Основные паттерны микросервисной архитектуры: Strangler Fig, API Gateway, Service Mesh и другие

В статье показываю, какие архитектурные паттерны помогают правильно строить микросервисы: от миграции через API Gateway до Event Sourcing, с примерами кода и диаграммами

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как я строю удобную инфраструктуру вокруг Python-проектов: линтеры, Poetry, CI/CD и Docker

Рассказываю, как я строю инфраструктуру для Python-проектов: подключаю линтеры, Poetry, CI/CD через GitHub Actions и заворачиваю всё в Docker — и заодно критикую странные практики

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 BI умер, да здравствует BI

В статье рассказывают, как скрипты победили GUI в ETL, а BI-гиганты вроде PowerBI и Tableau постепенно теряют трон, уступая место новым, более гибким подходам

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Что такое with open в Python и зачем он нужен?

with open — это контекстный менеджер для работы с файлами в Python. Он автоматически закрывает файл после работы с ним, даже если произошла ошибка.

Это помогает избежать утечек ресурсов и делает код чище

➡️ Пример:

with open('example.txt', 'r', encoding='utf-8') as file:
data = file.read()
print(data)


🗣️ В этом примере файл открывается для чтения ('r'). После выхода из блока with файл закрывается автоматически, без необходимости вручную вызывать file.close().


Контекстный менеджер делает код безопасным и защищённым от ошибок при работе с файлами.

🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Зачем нужны эмбеддинги?

Статья исследует методы нечеткого поиска для больших языковых моделей, включая триграммный и фонетический анализ, косинусное и евклидово сходство. Рассматриваются преимущества и ограничения методов для работы с неструктурированными данными.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Файловая система без фокусов: как hard links и XOR сэкономят ваши гигабайты

Статья объясняет концепцию символьных и жёстких ссылок на файлы, акцентируя внимание на hard links в Windows, малоизвестных многим веб-разработчикам. В простых примерах раскрывается принцип работы ссылок и их отличия от привычных ярлыков.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM