Обновить
512K+

Python *

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

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

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

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

Введение

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

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

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

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

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

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

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

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

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

1. Звук и

2. Текст.

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

Га!

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

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

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

🏆 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 мин
Охват и читатели11K

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

Многомерность. Очевидная и неоднозначная

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

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

Читать статью

Магия Python: Почему a = 256 и b = 256 — это один объект, а с 257 это уже не работает?

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

Python часто называют языком, где «всё просто работает». Но за этой простотой скрываются агрессивные механизмы оптимизации, о которых разработчики часто узнают только в момент отладки странных багов.

Сегодня поговорим о том, как CPython управляет памятью для малых целых чисел (почему диапазон выбран именно от -5 до 256?), как работает паттерн Flyweight на уровне ядра языка и почему две одинаковые строки могут иметь разные id. А также разберем неочевидную разницу работы компилятора в интерактивной оболочке (REPL) и при запуске скриптов.

Читать далее

Компилируем Python так, чтобы он работал везде

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

Это история о том, как написать компилятор Python, генерирующий оптимизированные ядра и при этом позволяющий сохранить простоту кода.

Читать далее