Рубрика «python»

Все снег да снег, — терпи и точка.

Скорей уж, право б, дождь пошел

И горькой тополевой почкой

Подруги сдобрил скромный стол.

Это стихотворение Бориса Пастернака кажется простым и даже немного примитивным, детским. Хотя написано оно в 1931 году, поэт был уже вполне взрослым человеком. Стихотворение интересно тем, как поэт тонко создает аллюзию на пушкинскую характеристику зимы в стихотворении "Осень": "Но надо знать и честь; полгода снег да снег, Ведь это наконец и жителю берлоги, Медведю, надоест."

Читать полностью »

Привет!

Многие из нас в какой-то момент мечтают создать «что-то своё большое». У меня такой мечтой стала система, которая сама отслеживает новинки манги на десятках сайтов и собирает всё в удобную базу. Долгое время это оставалось просто мечтой — опыта не хватало. Но после нескольких небольших пет-проектов (в частности, mini-rostics) я наконец решился и написал Manga-Day — свой первый проект на десятки тысяч строк кода.

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

Об проекте

Читать полностью »

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

А теперь к сути :-)

Читать полностью »

У меня дома стоит роутер Keenetic с USB-диском на 2 ТБ. Долгое время он работал просто как сетевое хранилище — файлы лежат, Transmission на роутере крутится, всё вроде бы работает. Но дефолтный интерфейс Transmission выглядит как привет из 2009 года, управлять им с телефона неудобно, а посмотреть скачанное на телевизоре — вообще отдельный квест.

Однажды вечером решил это исправить. Итог — три Docker-контейнера, которые поднимаются одной командой, и теперь выглядит это так:

  • Открываю Telegram, кидаю боту .torrent файл

  • Бот подтверждает: “✅ Добавлен!”

  • Через время пишет: “✅ Скачано! 📁 Название фильма · 💾 15 ГБ”

  • Читать полностью »

В прошлую пятницу, ровно в 18:47, когда я уже мысленно открывал великолепный, наполненный витаминами, напиток, мне прилетело сообщение от тимлида: «Бот лежит, пользователи жалуются, Gemini API возвращает 429». Наш корпоративный Telegram-бот, который должен был помогать саппорту отвечать на тикеты, просто встал колом. Причина оказалась до банальности простой: мы не учли rate limiting и думали, что 50 RPM (запросов в минуту) на бесплатном тарифе — это «бесконечно много». С тех пор мы переписали архитектуру, добавили очереди, кэширование и middleware для retry. В этой статье разберу, как с нуля подружить Gemini API с Telegram-ботом на aiogram 3.x, не наступая на те же грабли.Читать полностью »

Всем привет!

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

Предыстория

Читать полностью »

Я технический лидер. Обычно моя работа не в том, чтобы писать код руками, а в том, чтобы запускать сложные hardware/software-проекты с нуля, собирать архитектуру, принимать ключевые технические решения, выстраивать команду и доводить систему до MVP в условиях неопределённости.

Я работаю на стыке механики, электроники, разработки и AI, связывая это в единый контур.

При этом я не владею языками программирования как разработчик.

Читать полностью »

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

Читать полностью »

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

Подводящие идеи

В Enterprise мы работаем с трансформациями данных, поэтому: 

  1. Краеугольный камень - это бизнес-процесс, некий Flow, который преобразует одну или несколько таблиц. 

  2. Таблица - это вспомогательная сущность, обслуживающая бизнес. Попытка сделать таблицы основными сущностями приведет к размыванию бизнес-логики.

  3. Читать полностью »

Как я перестал копипастить одно и то же в каждом Django-проекте и собрал boilerplate

Каждый раз, когда начинаешь новый SaaS-проект на Django, первые две недели уходят на одно и то же. Сначала — кастомная модель пользователя с UUID вместо integer PK, потому что потом не переедешь. Потом JWT-аутентификация, настройка SimpleJWT, написание RegisterViewLoginViewLogoutView — всё это уже было в прошлом проекте, но лежит в другом репозитории и просто так не скопируешь. Дальше Docker Compose: сервисы webdbrediscelerycelery-beatflowerЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js