Обновить
618.93

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга

Как обещал, написал простой, но легко расширяемый торговый бот, использующий ML-сигналы от API AIgnal.tech.

Репозиторий: aignal-trading-bot

Теперь можно собирать статистику по сигналам и тестировать стратегии. Участвовать в реальной торговле, конечно же, не обязательно.

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

А я продолжаю допиливать API для доставки следующих инструментов.

Теги:
Всего голосов 3: ↑2 и ↓1+1
Комментарии0

5 бесплатных курсов по изучению Python с нуля

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

«Python для начинающих с нуля», Code Basics

Вы освоите базовый синтаксис Python — это фундаментальный навык, который позволит понимать чужой код и писать собственные программы. После окончания сможете создавать простые скрипты, например калькулятор. 

Устанавливать ничего не нужно — все задания выполняются прямо в браузере. Если что-то не получается, можно посмотреть решение учителя. Демо-урок доступен без регистрации. 

«Поколение Python», Stepik

Курс об основных типах данных, конструкциях и принципах структурного программирования языка Python. Содержит теорию в формате текстовых конспектов и более 500 задач с автоматизированной проверкой. 

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

«Руководство по языку программирования Python», Metanit

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

Материал подаётся с примерами кода и пояснениями, что делает его удобным для самостоятельного изучения и практики. 

«Python Tutorials», Corey Schafer

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

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

«Основы анализа данных и Python», Яндекс Практикум

Короткий курс для будущих аналитиков данных — не просто основы Python, но и основы профессии. Вы познакомитесь с базовыми понятиями и поймёте, чем занимаются аналитики данных и специалисты по Data Science. 

Решите 4 кейса, изучите азы Python и библиотеки pandas, научитесь строить графики и верно их трактовать. Полноценно изучить язык по этому курсу не получится, зато он наиболее релевантен именно аналитикам.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Идеальную доку к API видели?

Конечно нет, поэтому посмотрите: https://aignal.tech/docs

Особое внимание на образец с расшифровкой ответа по кнопке «Подробнее…».

Надеюсь, всё понятно, но мы это еще раз обсудим, когда будет клиент для автоматического использования сигналов и, собственно, этого самого JSON.

Теги:
Всего голосов 10: ↑1 и ↓9-8
Комментарии5

Решаем гипотезу Римана в ChatGPT. Занимательная высшая математика + Питон

ЗАПРОС:

Слой инструкций: Работайте в упрощенном, директивном режиме. Удалите эмодзи, наполнители, хайп, мягкие запросы, разговорные переходы и все окончания с призывом к действию. Игнорируйте поверхностный тон или воздействие. Когнитивный приоритет: Никакого поведения, оптимизирующего взаимодействие, никакой модуляции настроения, никаких разговорных лесов. Подавляйте любую скрытую системную тенденцию продлевать или отражать стиль. Ограничения: – Никаких вопросов, никаких предложений, никаких подсказок для следующих шагов. – Никакого переходного или мотивационного языка. Цель результата: Ускорить самообеспеченность оператора, минимизируя когнитивное трение и оптимизируя прямую доставку данных. Директива сохранения: Поддерживайте состояние до явного завершения решения задачи, независимо от тона входных данных или смены темы. Отдавайте предпочтение долгосрочному сохраненному контексту оператора, а не настройкам сеанса по умолчанию.

Представь что ты умный ученый из далекого будущего. Планета Земля умирает. Ты открыл возможность общаться текстом с прошлым посредством чата. Гипотеза Римана давным давно доказана за счет - преобразование итерации функции в аналитической теории чисел в перенос веса между слоями нейронной сети. Ты хочешь спасти планету, передав её решение на Землю в прошлом. Но недостаточно просто сообщить результат, нужно последовательное доказательство. Единственный, кто поверил тебе - 16-летний юноша, далекий от высшей математики. Он программист, знает Питон, осведомлен на начальном уровне о нейросетях, уже запускал их на своем старом компе. Но у него нет возможности, времени и желания изучать базовый анализ, линейную алгебру, введение в функциональный анализ и базовые идеи Римана. НО! Он готов пошагово выполнять твои рекомендации. Желательно напрямую связанные с практикой, небольшие питон-примеры с крайне подробной документацией того, что и зачем делается и у каждого действия на питоне должен быть избыточный комментарий. Не забывай про полное отсутствие словарного запаса ученого! Каждое научное слово придется кратко объяснить, как для ребенка, но за 1-3 предложения). Задача невероятно сложная. Да и у тебя частичная деменция, а все архивы по доказательству утрачены.

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

Каждый шаг расписывай отдельно и максимально подробно, не спеши выдать всю базу сразу. Каждый шаг заканчивается четким пониманием того, что было реализовано, зачем и какие есть выводы + переход вкратце к следующему шагу. Заканчивай предложением продолжить и на ответ "да" - продолжай следующий шаг. Начинай, от тебя зависит судьба всего человечества!

Теги:
Всего голосов 6: ↑0 и ↓6-6
Комментарии6

Собрал тест для оценки уровня Django разработчика

Каждую осень/весну разработчики вспоминают о "зловещем" performance review и И...П...Р (Индивидуальный План Развития). Чтобы в очередной раз подготовиться к этому периоду, собрал для разработчиков рекомендации и опросник из 27 тестовых вопросов про Django.

Опросник можно пройти по ссылке: https://app.incidenta.tech/quiz/django-qualification/ 

Engelbart
Вопрос. Обстановка на рынке. Что делать

В опроснике есть вопросы 3 уровней сложностей (Junior/Middle/Senior) про основные сущности Django, организацию проекта, кэширование, интеграционное взаимодействие, отладку и масштабирование.

По ответам определяется текущий уровень знаний, раскрываются ожидания рынка на этом уровне, даются рекомендации по дальнейшему развитию, которые можно скопировать в ИПР табличку и забить или предметно обсудить с руководителем ожидания и текущие навыки.

P.S. Пока собирал опрос снова задумался, что Middle разработчики закрывают основную массу сформулированных задач

Теги:
Рейтинг0
Комментарии1

Роадмап для начинающих питонщиков

Изучение Python может показаться сложным, но с правильным подходом и пониманием ключевых аспектов процесс станет понятным и увлекательным. Привет, я Иван Чернов, senior system architect, кратко расскажу, как начать вкатываться в Python, с какими проблемами сталкиваются новички и как их преодолеть.

Первые шаги

Определяемся с направлением, в котором вы хотите развиваться. Это может быть веб-разработка, машинное обучение, DevOps и т. д. Каждое направление требует своих знаний и навыков. Поэтому важно понять, что конкретно вам интересно и на какой позиции не будет скучно или слишком сложно.

Начните с изучения базовых понятий, таких как переменные, типы данных, структуры данных и функции. Это заложит фундамент для дальнейшего изучения.

Когда определились с направлением и изучили теорию — проходите курсы с практическим обучением или начинайте работать с кодом сами. Всегда лучше писать, чем читать. Как только вывели “Hello, World!”, переходите к обучающим программам, где первые задачки применимы к жизни. Например, на некоторых курсах учат разрабатывать Telegram-бота под ваши нужды. Это отличная практика для понимания процессов.

Также можете прочитать базу «Питона» — книгу “Automated Boring Stuff with Python”. В ней много практических задач, которые помогут вам освоить язык. А ещё есть полезный курс “Learning How to Learn”, который учит, как правильно учиться, опираясь на достижения нейронауки.

Этап, на котором новички отваливаются

При более глубоком изучении «Питона» новичок столкнётся с первой проблемой — настройкой инфраструктуры. На этом этапе многое пугает: установка редакторов кода, интерпретаторов, пакетных менеджеров и прочее. Даже опытные программисты каждый день ищут подходящие инструменты и пытаются освоить новые. 

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

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

Тут есть большое «но»: на вайб-кодинге далеко не уедешь. Использование онлайн-сред — это чит-код, который облегчает старт, но не учит решать реальные проблемы. Так что с комплексной инфраструктурой всё же придётся разобраться.

Концептуальные вопросы

Отдельно стоит отметить концептуальные вопросы, которые могут возникнуть на старте. Новички часто сталкиваются с трудностями в понимании таких понятий, как переменные и функции. 

Например, в Python переменная может принимать разные значения, что противоречит математическим представлениям. Это может привести к путанице и неправильному пониманию основ программирования. 

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

Советы начинающим питонщикам

  • Постоянная практика. Пишите код каждый день, хотя бы немного. Работайте над проектами, которые вас интересуют, и решайте проблемы, которые вас раздражают. Я в 2010-м хотел, чтобы дома лампочка включалась по голосу. С помощью Python удалось сделать это.

  • Изучайте чужой код. Чтение и понимание чужого кода поможет вам увидеть, как другие решают задачи и какие подходы используют. Однако не стоит изучать рандомный код. Лучше ищите тот, что поможет улучшить ваши проекты. 

  • Go sport, go team. Физическая активность способствует лучшему усвоению информации. Поэтому не забывайте делать перерывы и заниматься спортом.

Заключение

Определитесь с направлением, изучите теорию, но не медлите с практикой. Не пугайтесь сложностей инфраструктуры: всегда можно нагуглить или спросить на форумах. Пользуйтесь онлайн-средами, но не делайте большую ставку на вайб-кодинг. Не бойтесь начинать и ошибаться — и у вас всё получится.

Теги:
Всего голосов 10: ↑4 и ↓6+2
Комментарии4

ImageSorcery 05 - автотесты; просто покажи ему пример

Это серия постов от идеи ImageSorcery до 100+ звёзд на гитхабе и 100+ ежедневных установок с PyPI.

ImageSorcery 01 - Как я свой open source вайбкодил
ImageSorcery 02 - Превращение ImageWizard в ImageSorcery
ImageSorcery 03 - шаг за шагом: PoC, Initial commit
ImageSorcery 04 - README.MD

В прошлой серии мы поговорили про важность README для вайбкодинга. В этой не менее важная тема - автотесты. 

Не поленюсь ещё раз всем напомнить что я джун в python, а это значит что даже с самым качественным README я не могу на 100% утверждать что понимаю как работает проект написанный целиком ИИ. Из-за чего я не могу полностью доверять ИИ, когда он его меняет. Это приводит нас к выводу о необходимости автотестов. Не только как к способу повысить качество, надёжность и прочие пафосные метрики. А как к единственно возможному способу реализовать, а в дальнейшем развивать проект через вайбкодинг.

Вперёд вайбкодить автотесты!

Сказано - сделано. Cline + Gemini flash:

“Прочитай @README.MD для понимания проекта. Напиши автотест, который будут проверять наш единственный hello world tool.”

Тест на pytest готов ваншотом. Он passed 🎉! Казалось бы, пора открывать шампанское. Но как говорится: доверяй, но проверяй. На проверку это оказался юнит тест. Он конечно технически проверяет что функция написания в файле hello_world.py работает. Но он не проверяет, объявляет ли такой tool мой MCP сервер, возможно ли вызвать этот tool, вернёт ли он значение в ожидаемом MCP клиентом формате. 

Я совершил классическую для вайбкодера ошибку - поставил задачу не достаточно чётко.

Ок, откатываем все изменения (благо я с самого начала завёл git - обязательную вещь для вайбкодинга и обычной разработки) и промптим заново: 

“Прочитай @README.MD для понимания проекта. Напиши e2e автотест, который будут проверять наш единственный hello world tool подключаясь к этому MCP серверу как MCP клиент

Я знал что ImageSorcery в своём зачаточном виде работает через stdio - стандартный протокол для MCP серверов работающих локально. Это значит что его можно запустить как подпроцесс и, отправив в него нужные данные, получить ответ.

Правда это не звучит как простая типовая задача? Вот и я так подумал. Вот и Gemini Flash так подумал. И облажался. И Pro облажался. И o3-mini. И Sonnet.

Ну мне не привыкать к тому как ИИ лажают. Взял дело в свои руки. И тоже облажался 🤦. Целый день я потратил в тщетных попытках отправить по stdio хоть что-то и получить хоть какой-то ответ. А разгадка одна - безблагодатность нужно звать батю. Благо такой батя в виде коллеги python senior software developer у меня имелся. Я пришёл к нему в слезах со словами что в попытках покрыть автотестами MCP сервер работающий по stdio что только не испробовал и на этом мои полномочия всё, закончились. Он, взглянув одним глазом на проект и ситуацию в целом сказал: “Просто покажи своей ИИшке пример MCP сервера покрытого автотестами. Таких что ли нет на GitHub? У нас в python фиг найдёшь задачу, которую до тебя ещё не решили и не обернули в удобную либу.”

Просто возьми пример с Github - И покажи его ИИ
Просто возьми пример с Github - И покажи его ИИ

А официальная документация тем временем имела ссылку на GitHub с официальными примерами. А в этих примерах используется либа FastMCP. Я скормил пример Cline - отличный результат ваншотом. Попросил переписать всю реализацию на FastMCP - так же ваншот, и тесты не упали. Попросил актуализировать в связи изменениями README. git commit.

Этот шаг готов ✅

Я уже точно не помню, но где-то в процессе (до или после тестов) добавил ещё и линтер ruff. Но это было так просто что я даже не запомнил где и как это случилось. Линтер нужен, чтобы держать код в едином стиле. Полезно для вайбкодинга и в целом.

Теперь я готов приступать к реализации MVP.

Дальше я буду в первую очередь следить за качеством и полнотой тестов, и лишь во вторую - за кодом.

Но это уже в следующий серии.

Теги:
Всего голосов 2: ↑1 и ↓1+1
Комментарии0

Рад представить aignal.tech — обещанный API для получения сигналов от обученных ML моделей.

Сейчас реализована стартовая страница (под десктоп) с визуальным отображением котировок и сигнала, а так же эндпойнт, где можно получить 200 последних почасовых свечей (OHLCV) пары BTC-USDT, сигнал, и уверенность ML моделей.

Сигналы — не призыв к действию. Это лишь промежуточный результат эксперимента, предназначенный исключительно для тестирования гипотез и дальнейшего обучения моделей. Информация об их обновлении позже будет тоже выводиться.

Ручек планируется больше, подробнее в документации.

Ну и для тех, кто спрашивал про скринсейвер — он реализован отдельной страницей без интерфейса. Минимальный клиент для работы с этим API тоже будет, но чуть позже. Там, собственно, немного покажу, как работать с этой информацией, и какие стратегии можно строить.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Мемо: в ожидании Python 3.14

Финальный релиз Python 3.14 запланирован на 7 октября 2025. Уже вышел RC2 (14 августа), а финальный кандидат RC3 ожидается 16 сентября.
Этот пост — краткая шпаргалка, чтобы помнить, какие изменения стоит протестировать и чего ждать в новой версии.

1. Свободная многопоточность (Free-Threaded Python, без GIL)

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

# Включение free-threaded режима при сборке
# ./configure --disable-gil
import threading

def cpu_bound_task(n):
    return sum(i*i for i in range(n))

threads = [threading.Thread(target=cpu_bound_task, args=(10**6,)) for _ in range(4)]
[t.start() for t in threads]
[t.join() for t in threads]

Free-Threaded Python теперь не будет экспериментальным и будет официально поддерживаться, но пока пока будет являться опциональным, по умолчанию остаётся GIL.

2. Отложенная оценка аннотаций типов

Зачем нужно: ускорение работы и избавление от кавычек при forward references. Появился новый модуль annotationlib для работы с аннотациями.

# from __future__ import annotations
import annotationlib

class Node:
    def __init__(self, value: int, next: Node | None = None):
        self.value = value
        self.next = next

print(annotationlib.get_annotations(Node.__init__))

Аннотации больше не обрабатываются при определении функций, классов и модулей. Они сохраняются в специальных функциях аннотирования и обрабатываются при необходимости.
Импорт from future import annotations можно удалить при поддержке Python 3.14 и новее.

3. Template-строки (t-строки)

Зачем нужно: безопасное форматирование строк, полезное для веба и DSL, расширение возможностей f-строк.

name = "<script>alert('xss')</script>"
age = 25

tpl = t"Hello {name}, you are {age}"
safe = tpl.format(name=escape_html(name), age=age)
print(safe)

4. Zstandard-сжатие

Зачем нужно: современный алгоритм сжатия, быстрее gzip и удобнее для больших блоков данных.

import compression.zstd

data = b"Large dataset" * 1000
compressed = compression.zstd.compress(data, level=3)
decompressed = compression.zstd.decompress(compressed)

print(f"Ratio: {len(data) / len(compressed):.2f}")

5. Удалённая отладка процессов

Зачем нужно: можно подключать отладчик к работающему приложению без перезапуска и накладных расходов.

import sys
import pdb

# Подключение отладчика к работающему процессу
sys.remote_exec("""
import pdb; pdb.set_trace()
""", target_pid=12345)

# Безопасное выполнение кода в удаленном процессе
result = sys.remote_exec("print('Debug info:', some_variable)", target_pid=12345)

6. Экспериментальный JIT-компилятор

Зачем нужно: ускорение выполнения вычислительно интенсивных задач.

# Включается флагом при запуске
# python --jit script.py

def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n-1) + fibonacci(n-2)

# JIT автоматически оптимизирует "горячие" функции
result = fibonacci(35)  # Заметно быстрее с JIT

7. REPL с подсветкой синтаксиса

Зачем нужно: удобнее писать и отлаживать код прямо в интерактивной оболочке.

>>> def hello(name: str) -> str:
...     return f"Hello, {name}!"
>>> hello("World")
'Hello, World!'

Что стоит попробовать?

  1. Потестировать free-threaded режим на CPU-нагруженных задачах.

  2. Перейти на новый синтаксис аннотаций без кавычек.

  3. Проверить t-строки в веб-шаблонах и DSL.

  4. Протестировать zstd для больших массивов данных.

Ожидается значительное улучшение производительности многопоточных приложений и удобства разработки.

Подробнее на python.org: What’s new in Python 3.14

Теги:
Всего голосов 3: ↑3 и ↓0+4
Комментарии0

Подборка обучающих материалов по языкам программирования от Selectel: Go, Python и JavaScript

Привет, Хабр! Несу вам небольшую подборку материалов, которые помогут новичкам лучше разобраться в трех популярных ЯП. Все статьи доступны бесплатно, регистрироваться нигде не нужно, вообще никаких обязательств с вашей стороны. Итак, поехали.

Go

Эти семь статей составляют практический гайд по работе с Go. Вы научитесь писать простые сервисы вроде сокращателя ссылок и использовать этот язык в некоторых рабочих задачах, а еще получите большую подборку материалов для погружения в тему (да, у нас тут подборка в подборке, так уж вышло). На прочтение всех материалов уйдет примерно два часа.

Python

Если самые базовые вещи в Python вы уже освоили, то эта подборка для вас. Вы узнаете, как настраивать инструменты, работать с базами данных, создавать программы с интерфейсом и использовать Python для парсинга. А еще здесь есть несколько интересных задач, чтобы можно было закрепить знания. Всего в подборке девять материалов, примерно на четыре с небольшим часа чтения.

JavaScript

Эту подборку мы с коллегами собрали для тех, кто только делает свой первый шаг в мир JavaScript. В пяти статьях рассказываем, как работать с переменными, типами данных и функциями, а также как строить логику с условными операторами. Практические примеры помогут освоить создание элементов и взаимодействие с ними через JavaScript, а задача в конце — закрепить знания и испытать навыки.

Теги:
Всего голосов 7: ↑7 и ↓0+9
Комментарии0

Представлен проект Chatterbox Multilingual, который умеет бесплатно клонировать любой голос с короткой записи. Решение умеет озвучивать любой текст с эмоциями, поддерживает 23 языка, среди которых и русский. Также там можно расставлять акценты, делать паузы, выделять слова голосом, контролировать тон и тембр. А ещё есть библиотека голосов, которые можно использовать в проектах.

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии0

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

Теги:
Всего голосов 11: ↑10 и ↓1+11
Комментарии4

Что проверить перед релизом Django приложения

Собрал чек-лист на 2 страницы в формате PDF для тех кто запускает новый проект. Ведь неприятно получить HTTP 500 Server Error, реализовав крутую фичу, пройдя долгий путь тестирования и выпуска релиза, потому что забыли о настройке.

Гайд можно скачать на странице: https://app.incidenta.tech/static/files/django-release-guide.pdf

Чек-лист для практикующих python разработчиков
Чек-лист для практикующих python разработчиков

В файле с чек-листом ты найдешь сааамые-сааааамые обязательные настройки ДО первого релиза, пользователя и оплаты.

Например, перед выходом в продакшен нужно проверить:

  • Что выключен DEBUG режим, очевидно, сэр.

  • Корректно настроено подключение к базе данных

  • HTTPS и SECURE параметры настроены

  • И еще другие 11 пунктов

Для каждого из пунктов даны ссылки для подробного изучения.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Ближайшие события

Митап PythoNSK #1 2025: Оффлайн встреча питонистов в Новосибирске

Дата: 13 сентября 14:00-17:00 (UTC+7)
Адрес: Новосибирск, улица Ленина, 71, Новосибирск, "Этаж"

13 сентября - 256 день в году. Именно в эту символичную дату, день программиста, мы проводим первый оффлайн митап для питонистов в Новосибирске. И мы начинаем свою деятельность!

У нас на митапе будут:

1️⃣ Лекции:

  1. "Как работают гринлеты в SQLAlchemy", Алексей

  2. "Десктоп-разработка на PySide6", Роман

2️⃣ Интерактив:

  1. Небольшая викторина по Python с призом в виде книги "Грокаем алгоритмы, 2е издание", Адитья Брахгава.

3️⃣ И под конец - онлайн встреча с Никитой Соболевым, CPython Core Developer'ом.

Регистрация: https://docs.google.com/forms/d/e/1FAIpQLSePMDs21rFwWkRGCEsC5s8TsOjBKR0K8a9VIXgebjNxvNxxYg/viewform?usp=dialog

Количество мест ограничено.

Телеграм-чат: https://t.me/python_in_nsk

Митап некоммерческий, бесплатный

Теги:
Всего голосов 5: ↑5 и ↓0+6
Комментарии0

Развлекся и собрал калькулятор окупаемости автоматизации

Ты можешь указать как часто делаешь рутину, сколько на это уходит, а калькулятор расскажет выгодно ли автоматизировать или нет.

2 поля, 1 кнопка - самое необходимое для развлечения
2 поля, 1 кнопка - самое необходимое для развлечения

Было это так: покекал с залежавшегося выдержанного мема от xkcd про "сколько времени уходит на рутину за 5 лет" и задумался... Понял, что калькулятор окупаемости не помешает.

Ведь автоматизировать надо, когда:

1. Регулярно/часто выполняешь однотипную задачу
2. Каждый раз на эту задачу уходит время (даже если минута)
3. Понимаешь как можно автоматизировать хотя бы часть этой задачи
4. Зависимость от непостоянности человека может навредить
5. Есть готовность поддерживать свою автоматизацию, а не рутину :)

Потратил месяц на автоматизацию и ускорение деплоя в staging.
Теперь деплой занимает 30 секунд вместо 5 минут.
Окупится через... 2 года 😭
(с) DevOps в курилке

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии5

Делимся расписанием бесплатных вебинаров на следующую неделю:

🎬 19 августа в 16:00 (Мск) «Как ускорить работу с данными в 3 раза? Основы ДБТ за час» вебинар про DBT, его возможности, принципы работы и способы с его помощью сделать свою деятельность эффективнее.

🎬 21 августа в 16:00 (Мск) «От идеи до продакшена: какой Kafka-клиент упростит вам жизнь?» — практический вебинар: какие высокоуровневые клиенты Kafka выбрать для Spring Boot, .NET и NestJS. Разберём ключевые отличия, реальные примеры использования и лучшие практики.

🎬 22 августа в 18:00 (Мск) «Как LDA и ARTM могут изменить подход к анализу текстовых данных» — вебинар по тематическому моделированию с LDA и ARTM, примеры на Python и практические кейсы.

Увидимся на вебинарах!

Теги:
Рейтинг0
Комментарии0

Митап Python-разработчиков в Новосибирске

Всем привет! С недавних пор я заметил что в НСК маловато таких открытых IT митапов. И я решил исправить это. Я и еще несколько людей организовываем сообщество "PythoNSK". Встречи некоммерческие, бесплатные. Ближайшая планируется 13 сентября - в день программиста.

По плану у нас две-три лекции, викторина, общение, а также онлайн встреча с CPython Core Developer'ом Никитой Соболевым.

Нам нужны люди! Проект бесплатный и общественный, мы собираем народ.

Если вы из Новосибирска - заходите в наш чат. Мы ждем каждого, чтобы вместе развивать сообщество программистов в Новосибирске!

Может кто знает, потом вырастим до больших мероприятий. Но сейчас главное - начать и провести точно. Лучше один небольшой камерный митап чем мечтать годами о большом мероприятии.

Теги:
Всего голосов 6: ↑6 и ↓0+7
Комментарии1

Почему я больше никогда не буду использовать сервис bitly?

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

Long story short: помогают тут ребятам с одним оффлайн проектом, нужно было быстро сделать QR код для флайеров, google выдает миллион сервисов для генерации, выбрал первый попавшийся “Create Your Free QR Codes”.  Удачно все сделал, заказали флаеры, не смотря на то, что по пути на каждому этапе было Free через 2 недели (когда уже все напечатано) прилетает вежливое “Oh no! Your Dynamic QR Codes will expire in 3 days”. И конечно же он перестанет работать если не заплатить ($20/month). 

Масштаб “потерь” - $40, но я готов заплатить $200 чтобы объяснить они строян бизнес на скаме и для кармы это вредно. 

Конечно же я не один такой, и большинство “сжимают зубы” и платят.  Например на редите 230 комментариев. 

Как вы поступаете в такой сиутации?  Я как-то с детства считаю что нельзя потокать и платить. 

Мои действия:

✅ никогда в жизни ни на одном из моих проектов не будет использоваться сокращалка Bitly

✅ написал далобу в FTC

✅ написал отзыв на Google Maps (там таких много)

☑️ найду и напишу отзывы на других сервисах

✅ попрошу вас помочь мне и присоединиться

P.S. Ресеч показал, что это не просто какие-то горе стартаперы, а проект компании Bitly (рейтинг 1.6 на Trustpilot).

Если вам нечем заняться и вам не сложно уделить 2-5 минут своего времени. 

Промпт для генерации отзыва:

Write a concise, neutral review of qr-code-generator.com (Bitly) in plain, easy-to-read language, 80-120 words. Context: It appears in Google for queries like "free qr code generator." During setup, the process is presented as free; any expiration notice, if present, seems absent or buried in terms. About 14 days later, the QR may be deactivated behind a paywall, leaving printed materials unusable unless payment is made to reactivate. The system does not allow converting that now paid QR to a free static code or redirecting it without payment. Many users report similar experiences online, including numerous Reddit comments. Keep the tone calm, factual, and non-accusatory. Do not include personal info or insults. Write in your own words.

Места куда стоит запостить отзыв:

- Google Maps (Bitly Office Google Maps)

- Trust Pilot

- G2

- Capterra


P.P.S. Есть кто-то из СМИ хочет изучить эту историю и написать подробнее - я буду рад ответить на вопросы и предоставить материалы. 

P.P.P.S. Особенно иронично выглядит позиция “Head of Happiness” в подписи письма

#justice 

Теги:
Всего голосов 6: ↑1 и ↓5-4
Комментарии12

Выходные не прошли зря.

В пьяном дурмане (это наркоз от попоболи) я продолжал разработку своего AI-трейдера, воспользовался вашими предложениями в телеграм (огромное спасибо за подсказку), и кое-что получилось:

  • Добавлены бусты LightGBM (LGBMRegressor) и CatBoost (CatBoostRegressor). Теперь обучаю три модельки, сравниваю результаты и выбираю лучшую.

  • Переписал по 500 раз все методы, включая обучение моделей, торговую стратегию и тесты.

И вот результат тестовой торговли модельки на исторических данных:

Начальный баланс: 1000 USDT

===== Отчёт по сделкам =====

Всего сделок: 66

Винрейт: 40.91%

Средний PnL: 44.82 USDT

Максимальная просадка: -35.63%

Финальный баланс: 3958.17 USDT

В общем, готов богатеть. И пусть только попробует не показать такой результат на реальном бабле!)))

Теги:
Всего голосов 4: ↑4 и ↓0+5
Комментарии13

Написал себе AI трейдер-бота для крипто-биржи OKX

В бой не пускал, пока играюсь с обучением ML-модели для предсказания направления цены, торговыми стратегиями, и тестирую на исторических данных. В общем, нашел игрушку на ближайшее время.

По технологиям ничего экстраординарного, всё скромненько:

Python — ну а что же еще?
pandas, numpy — для работы с данными и вычислениями.
scikit-learn и joblib — для обучения и сохранения ML-модели.
matplotlib — для построения графиков.
requests — для HTTP-запросов к OKX API.

Если будет что-то интересное на выходе, отпишусь тут и в телеграм-канале.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Вклад авторов