[PYTHON:TODAY]
64K subscribers
2.46K photos
1.12K videos
311 files
1.54K links
Python скрипты, нейросети, боты, автоматизация. Всё бесплатно!

Приват: https://boosty.to/pythontoday
YouTube: https://clck.ru/3LfJhM
Канал админа: @akagodlike
Чат: @python2day_chat

Сотрудничество: @web_runner

Канал в РКН: https://clck.ru/3GBFVm
Download Telegram
📢 Production Python Engineer (Refactor/Architecture) антифрод‑пайплайн.

Мы разрабатываем сложную систему анализа сетевых аномалий. У нас мощный R&D: мы умеем детектировать ботов, VPN и прокси по сетевым отпечаткам.
Текущая задача: У нас есть работающий код (написанный исследователями), который нужно превратить в надежный инженерный продукт. Нам нужен человек, который наведет порядок, внедрит архитектуру и типизацию.

### Задачи:
1. Глубокий рефакторинг и стабилизация: Перевод с неструктурированных словарей на строгие контракты данных (Pydantic/TypedDict).
2. Архитектура: Внедрение паттерна Pipeline с единым контекстом обработки (Парсинг → Обогащение → Детекция → Ответ). Цель — сделать логику прозрачной и модульной.
3. Оптимизация работы с БД: Ревизия взаимодействия с PostgreSQL (оптимизация структур, миграции).
4. Культура разработки: Внедрение: mypy, pytest, чистотой Git-истории.

### Наши ожидания:
- Python Strong: Глубокое понимание языка, ООП, паттернов проектирования. Ваш код, легко читать и поддерживать.
- Strict Typing: Частое использование аннотаций. Опыт работы с Pydantic (валидация данных на входе/выходе/внутри) и статическими анализаторами (mypy/ruff).
- Architecture: Умение проектировать модульные системы. Понимание, как разделить бизнес-логику и инфраструктурный слой.
- AsyncIO & PostgreSQL: Опыт работы с асинхронностью и сложными SQL-запросами. Понимание транзакций и индексов.
- Testing: Опыт написания тестов (pytest) не «для галочки», а для гарантии надежности при рефакторинге.
- Git Culture: Умение работать с Git «чисто»: атомарные коммиты, понятные PR, интерактивный rebase.

### Soft skills:
- Устойчивость к рутине: Рефакторинг. Готовность методично распутывать клубок легаси-кода.
- «Инженерная эмпатия»: Способность прочитать чужой код (даже если он плохой), понять логику автора и переписать её правильно, не сломав бизнес-логику.
- Внимательность к деталям.
- Здоровый перфекционизм: Желание привести хаос к порядку.

### Будет большим плюсом:
- Глубокое понимание сетевых протоколов (TCP/IP, TLS, HTTP/2).
- Rule-based scoring, анализ “плавающей логики”.
- Опыт переноса Research-кода (Jupyter Notebooks) в Production.

### Условия
- Удаленка - любое ГЕО, не требуется присутствие в офисе.
- Зарплата От 120 - 250 тыс. руб. на руки (возможна оплата в USDT), выплата - два раза в месяц.
- in-house продукт, в котором вы свободны и можете реализовать свои идеи.
- Доступ к самым передовым LLM (Sonnet 4.5, GPT-5.2).
- Дружный коллектив. Который ценит качество кода.

### Как откликнутся:

Заполнить форму https://forms.gle/5tVNBxsJ22b8NKCc8 , приложить свой гитхаб, рассказать о себе и своём опыте.
👍12😱5🤯41
[PYTHON:TODAY] pinned «📢 Production Python Engineer (Refactor/Architecture) антифрод‑пайплайн. Мы разрабатываем сложную систему анализа сетевых аномалий. У нас мощный R&D: мы умеем детектировать ботов, VPN и прокси по сетевым отпечаткам. Текущая задача: У нас есть работающий код…»
⚡️ halo — простейший инструмент, который позволяет создавать красивые спиннеры для терминала.

Позволяет добавлять в скрипты анимированный индикатор загрузки + статусы вроде ✔️ / ✖️ / ⚠️

Что умеет:
💬 Много встроенных спиннеров (например dots, line и т.д.) и выбор своего набора кадров.
💬 Настройка текста, цвета спиннера и даже цвета текста (text_color), положение слева/справа (placement).
💬 Удобные режимы использования: обычный .start()/.stop(), контекст-менеджер with, и даже декоратор.
💬 Статусы: .succeed(), .fail(), .warn(), .info(), плюс stop_and_persist() для своего символа/текста.

⚙️ Простая установка:
pip install halo


Примеры использования:

🟢Базовый сценарий: старт → работа → успех/ошибка

import time
from halo import Halo

spinner = Halo(text="Собираю данные", spinner="dots", color="cyan")
spinner.start()

try:
time.sleep(2) # имитация работы
spinner.succeed("Готово: данные собраны ✔️")
except Exception:
spinner.fail("Упс: что-то пошло не так ✖️")


🟢Динамика: меняем текст/цвет/спиннер по ходу дела

import time
from halo import Halo

spinner = Halo(text="Шаг 1/3", spinner="dots", color="cyan")
spinner.start()

time.sleep(1)
spinner.text = "Шаг 2/3: обработка"
spinner.color = "magenta"

time.sleep(1)
spinner.spinner = "line"
spinner.text = "Шаг 3/3: финализация"

time.sleep(1)
spinner.succeed("Всё готово!")


🟢Свой кастомный спиннер (своими кадрами)

import time
from halo import Halo

my_spinner = {
"interval": 120,
"frames": ["▖", "▘", "▝", "▗"]
}

spinner = Halo(text="Кручу свой спиннер", spinner=my_spinner, color="blue")
spinner.start()
time.sleep(2)
spinner.stop_and_persist(symbol="", text="Сделано")


♎️ GitHub/Инструкция

halo особенно хорошо заходит в CLI-утилитах (argparse/typer/click) — спиннер превращает “молчаливую паузу” в понятный прогресс и повышает доверие к инструменту.

🙂 Секреты админа | 📲 Max

#python #soft #github
Please open Telegram to view this post
VIEW IN TELEGRAM
👍152🔥2