Обновить
862.36

Python *

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

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

FastAPI: Гайд по нормальной структуре для новичков (Часть 1. Слой домена)

Уровень сложностиПростой
Время на прочтение23 мин
Охват и читатели4.1K

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

Читать далее

Новости

Уроки французского и пересоздание данных для изучения иностранного языка с помощью обучающей программы «L'école»

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели2.9K

Введение

Обучающая программа «L'école» (см. мою статью: «Роль данных при изучении иностранного языка» – https://habr.com/ru/articles/930868/ ) предназначена для освоения иностранного языка по методу: «Запоминание руками + интерактивный звук + чтение по слогам + буквальный контекстный перевод». Саму программу и демо-данные к ней, на разных языках, можно непосредственно скачать из: https://disk.yandex.ru/d/5yjYP4JP1aVnIw .

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

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

Как известно, изучение иностранного языка предполагает четыре навыка:

1. Понимание письменной речи.

2. Понимание устной речи.

3. Умение писать.

4. Умение говорить.

По сути, они, очень грубо, распадаются на две большие группы:

1. Звук и

2. Текст.

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

Экспериментируя с изучением французского языка, я пришел к выводу, что хорошо работают следующие навыки:

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

Читать далее

Вероятностный анализ финансовых рынков на основе чистого OHLCV и многомодульной математической модели

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели3.8K

Большинство торговых систем работают так: “если RSI пересёк X — покупай”.
Но рынок — стохастическая система. Сигналы не бинарны, они вероятностны.

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

Разберём логику этого анализатора и как именно он работает.

Читать далее

Продолжение статьи: Архитектура торгового Telegram-бота для сигналов пампов и дампов

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели3.7K

В первой статье я показал, как сделал парсер пампов/дампов на BingX. Сейчас же проект вырос: из простого сборщика сигналов он превратился в полноценного торгового бота, который позволяет делать максимально гибкую настройку для каждой стратегии. Я решил использовать 12% и 5% сигналы как основные - от них и будет отталкиваться бот. Сейчас он находится в стадии тестирования (на демо-апи) и каждый может его протестировать!

Разобрал основную структуру бота, функции, работу с базой данных и логику стратегий.

Читать далее

Как ускорить автотесты на Python в Pytest в 8,5 раз

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели5.7K

Меня зовут Анатолий Бобунов, я работаю SDET в компании EXANTE. Однажды я пришел на проект, на котором выполнение некоторых тест-сьютов занимало больше часа, настолько медленно, что запускать их на каждый merge request (MR) было просто нереально. Мы хотели запускать автотесты на каждый коммит в MR, но с такой скоростью это было невозможно. В результате мне удалось, за счёт серии небольших, но точных изменений добиться 8,5-кратного ускорения - без переписывания тестов с нуля. В статье расскажу, какие проблемы у нас возникли и как мы их решали.

Читать далее

Первый взгляд на новые фоновые задачи в Django 6.0

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели4.1K

Команда Python for Devs подготовила перевод статьи о новых фоновых задачах в Django 6.0. Фреймворк наконец получил встроенный API для очередей задач — но без воркеров, так что чудес пока ждать рано. Автор показывает, зачем это обновление всё равно важно, как оно работает внутри и что можно построить поверх него уже сегодня.

Читать далее

От CSV к дашбордам: гибкая отчетность на Postgres, Airflow и Superset

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели3.4K

Привет, Хабр! Я Дмитрий Смотров, тружусь бэкендером в Astra Linux в команде продукта ACM — микросервисной системе, разворачиваемой на клиентских мощностях. Мы позволяем удаленно управлять клиентской инфраструктурой. Сначала я разрабатывал функциональность снятия инвентаризации и удаленного выполнения команд установки и удаления ПО, но в один момент моя жизнь резко изменилась. На проекте возникла необходимость в функциональности красивой и настраиваемой отчетности, в чем я увидел возможность проверить себя в новой для себя области. Я вызвался разобраться и помочь продукту стать еще лучше.

Под катом расскажу о том, с какими трудностями столкнулся в процессе, как я их решал и что в итоге получилось. Приятного чтения :-)

Читать далее

Питон перед Рождеством. Как я осваивал этот язык программирования

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели5.8K

Это личный опыт, оказавшийся для меня неожиданным. Настолько неожиданным, что я решил разобраться, почему результат оказался намного эффективнее, чем я ожидал. Когда я разобрался, мне захотелось поделиться новым пониманием. Блог ЛАНИТ показался лучшим местом для этого.

Читать далее

Как я случайно DDOS-нул hh. ru, пытаясь найти работу: история о том, почему боты должны быть асинхронными (и вежливыми)

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели11K

Привет, Хабр. С вами снова Вадим.

В прошлом посте я рассказывал, как написал AI‑бота Аврора, который ищет вакансии вместо меня.

Статья залетела, и к нам пришли первые 100 тестеров. И тут началось веселье.

Представьте: вы нажимаете кнопку «Найти работу», а бот молчит. 10 секунд, 20 секунд. Вы думаете: «Сломалось» и жмете кнопку еще 5 раз.

А на самом деле бот не сломался. Он просто «ушел на кухню готовить».

В этой статье расскажу, как мы переписали архитектуру с «однорукого повара» на «промышленный конвейер», зачем использовали SQL вместо модного Redis и как наша скорость стала нашей проблемой.

Если вы разработчик — найдете тут код про SKIP LOCKED.

Если вы ищете работу — поймете, почему наш бот теперь быстрее, чем пальцы любого рекрутера.

Читать далее

Vera — ваш личный десктопный агент

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели11K

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

Читать далее

«Король глядит угрюмо…» — а я считаю звуки. Цифровое сравнение Стивенсона и Маршака

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели8.4K

Стивенсон и Маршак. Схватка поэтических тяжеловесов, которую можно судить с помощью кода Python. Награда - вересковый мед.

Читать далее

Python и паттерны GoF, часть 1: Singleton

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели7.4K

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

Первым паттерном, который мы рассмотрим, разумеется, станет синглетон. Как только его по-русски не называют, кстати. Синглтон. Синглетон. Наконец, ОДИНОЧКА. Не, ну вы представляете, ОДИНОЧКА?! Покажите мне живого человека, который так говорит? Я ни одного за 30 лет использования паттернов GoF не видел.

Казалось бы, что о нём можно сказать разумного, доброго, вечного, а главное — нового? Паттерн довольно тривиальный, всего лишь способ создать объект класса, который нельзя инстанцировать более одного раза, а потом использовать этот объект везде, где нужно (часто в совсем разных местах). И довольно спорный во многих случаях. Особенно в Python, где я обычно не советую его использовать так, как в C++.

Читать далее

Pydantic V2: Почему dataclasses вам ещё больше нужны

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели7.1K

На написание статьи меня сподвигла статья «Pydantic V2: Почему dataclasses вам больше не нужны» и меткий комментарий:

«Спасибо за статью, но мне кажется Вы учите детей плохому. »

Давайте попробуем разобраться, почему и датаклассы хороши, и pydantic V2 прекрасен, а вместе они становятся ещё лучше.

Или устроить смешанное единоборство?

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

Я пришел потестить бота, чтобы найти баги, а в итоге нашел работу в BigTech

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели5.3K

Привет, Хабр. Я из тех людей, у кого аллергия на словосочетание "искусственный интеллект" в маркетинге. Обычно за этим скрывается пара if-else и API OpenAI, прикрученное синей изолентой.

Недавно наткнулся на пост ребят, которые пилят карьерного бота Аврора. Обещали, что он сам ищет вакансии, сам пишет письма и вообще молодец.

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

Спойлер: базу я им действительно чуть не положил (и помог починить), но в процессе тестирования бот унизил мое резюме, переписал его и устроил меня на собес туда, куда я сам боялся подаваться.

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

Читать далее

Инвест Гусь: телеграм-бот (Open-source) для прогноза стоимости акций и криптовалют

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели5.6K

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

Га!

Сравнительный анализ 18 LLM моделей: конец монополии?

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели15K

🏆 Open-Source Догнал Топов: Что Произошло в Ноябре 2025?

Конец монополии! Kimi-K2-Thinking (MIT-лицензия) — новый чемпион мысли. Эта open-source модель сравнялась с Claude Sonnet 4, показала 84.5% на GPQA Diamond (научное рассуждение) и 94.5-100% на олимпиадной математике AIME, опередив GPT-4o более чем на 30 процентных пунктов.

Российский GigaChat3-702B взрывает кодинг! Сбер выпустил модель с архитектурой MoE (702B параметров) под MIT-лицензией, которая показала мировой рекорд на бенчмарке HumanEval+ (86.59%), обойдя все закрытые LLM, включая GPT и Claude.

MoE-магия для локального запуска: Qwen3-30B-A3B с архитектурой MoE (3.3B активных параметров) обеспечивает качество 70B+ модели, умещаясь на одной H100 — идеальный компромисс для стартапов и R&D.

Читать далее

Свой мини-«мониторинг как сервис»: Python-демон + Next.js-дашборд

Время на прочтение6 мин
Охват и читатели9.8K

«Свой мини-мониторинг как сервис»: Python-демон, Next.js-дашборд и файловая архитектура без лишней инфраструктуры — как я сделал лёгкий self-hosted инструмент для наблюдения за маленькими проектами, который проверяет API, страницы, базы, очереди, TLS и Docker, пишет JSON-снапшоты, сам управляет процессами через встроенный supervisor, умеет следить за ресурсами, логами и сроком жизни сертификатов, собирает стримы производительности и при этом не требует ни базы данных, ни внешнего backend-сервера; просто ставишь рядом с приложением, настраиваешь конфиг, запускаешь демон и получаешь живой Next.js-дашборд, читающий отчёты.

Читать далее

Как раздобыть Nvidia Tesla за копейки и не поселиться в психушке: хардкор-гайд от выжившего

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели8.3K

Привет, Хабр! Сегодня расскажу вам сагу о том, как мы искали дешёвые AI-мощности для своего проекта и чуть не сошли с ума. Спойлер: спас нас Китай, но эта помощь стоила нам седых волос и нескольких лет жизни. Делюсь опытом, чтобы вы прошли этот путь быстрее.

Читать далее

Полумодулярные схемы

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6K

Предметом исследования являются полумодулярные схемы (далее ПМС), подкласс схем, не зависящих от скорости, определенных Д. Малером в 1961 году. Этот подкласс включает в себя последовательные схемы, обсуждаемые в статьях с очевидным названием, опубликованные здесь же.

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

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

Читать далее

Любовное письмо LLM, или как я перестал бояться и впервые довел пет-проект до конца

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели7.4K

Я ненавижу пет-проекты.

Да, я НЕНАВИЖУ их всей своей душой. Ровно с тех пор, как получил свою первую фул-тайм работу разработчиком. Я ненавижу приходить с работы и вставать перед выбором - работать в рамках привычного мне фронтенда, которым я занимаюсь на моей “с 9 до 5” и от которого к концу рабочей недели уже тошнит.

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

По крайней мере, я так думал до одного забавного дня пару месяцев назад.

Читать далее
1
23 ...

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