Статья посвящена новому free-threaded режиму в CPython 3.13, который открывает возможности параллельного выполнения потоков. Рассматриваются особенности его использования и влияние на производительность.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье рассказывается, как работает Pine Script — язык для создания индикаторов и стратегий прямо в TradingView. Покажут базовые приёмы, разберут фишки и дадут примеры на GitHub.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Рассказывается, как автоматически строить адаптивные цветовые градиенты для категорий в дашбордах на Dash/Plotly, чтобы не мучиться с ручной палитрой. Есть примеры и готовый код.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте декоратор
measure_time
, который измеряет, сколько времени заняла работа функции. Это полезно при профилировании кода, особенно если вы оптимизируете производительность.Решение задачи
import time
def measure_time(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
duration = time.time() - start
print(f'Функция {func.__name__} выполнена за {duration:.4f} секунд')
return result
return wrapper
# Пример использования:@measure_time
def slow_operation():
time.sleep(2)
return "Готово!"
print(slow_operation()) # Функция slow_operation выполнена за 2.00 секунд
Please open Telegram to view this post
VIEW IN TELEGRAM
Данная статья навеяна мнением о том, что все участки биржевых графиков в прошлом уже повторялись, потому что поведение участников рынка подчиняется типовым сценариям. И если оцифровать все графики, то можно находить похожие участки в текущий момент времени и предполагать, какое движение будет в ближайшее время.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Рассказываю, как начать писать терминал на Python с собственной примитивной файловой системой — первая часть серии. Стартуем с filesystem.py и классов для диска и файлов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
enumerate()
в Python и зачем он нужен?enumerate()
— это встроенная функция, которая добавляет счётчик к итерируемому объекту. Полезна, когда нужно получить и индекс, и значение при переборе списка, строки или любого итератора.fruits = ['яблоко', 'банан', 'вишня']
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
0: яблоко
1: банан
2: вишня
🗣️ Без enumerate() пришлось бы вручную управлять счётчиком. Это делает код чище, читаемее и более "питоничным".
Please open Telegram to view this post
VIEW IN TELEGRAM
Материалы лекции про конфигурационные файлы — все основные аспекты написания и использования конфигов для самых маленьких, примеры кода на python.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔗 Логику пиши отдельно от инфраструктуры
Если твой код тесно связан с базой, API или файлами — он плохо тестируется и трудно меняется.
👉 Совет: отделяй логику от среды. Пиши так, чтобы алгоритмы можно было прогнать без подключения к реальному сервису. Это ускорит разработку и позволит использовать код повторно, где угодно.
Если твой код тесно связан с базой, API или файлами — он плохо тестируется и трудно меняется.
Please open Telegram to view this post
VIEW IN 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, от этапа проектирования до сборки финальных кортежей.
Читать...
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() в pandas — не такая уж безопасная и очевидная штука, как может показаться. Особенно когда нужно достать первую строку группы в точности, как она была в датафрейме — с NaN, с порядком, без сюрпризов.
Но для начала рассмотрим отличия first от других подобных методов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Показываю, как мы собрали 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