Обновить
834.3

Python *

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

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

Событийный цикл в asyncio: как Python-код работает поверх механизмов Linux

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

Большая статья для тех, кто, как и я, споткнулся об asyncio и так не разгадал до конца «магию» событийного цикла. Попробовал распутать этот клубок через подробный рассказ (в как можно более доступной форме) о внутренних механизмах Линукса и самого asyncio, которые лежат в основе событийного цикла. К концу статьи, надеюсь, магия исчезнет, а взамен придет ясное понимание фундамента. Статья будет полезна и тем, кто работает с asyncio на других платформах.

Погружаемся

C Django Rest Framework мы все дальше от Бога

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

Django Rest Framework (DRF) - чуть ли не единственный фреймворк для разработки REST на базисе Django. Мой нарратив о Django в прошлой статье заключался в том, что это неповоротливый монолит, который абсолютно не следует best practices и не стремится к ним. Если вдруг вы не задумывались о том, как связаны DRF и Django, то вас может быть немного это удивит - никак. Их делали совершенно разные люди, но каким-то образом они сошлись в общей концепции: игнор хороших практик, перегруженные классы и магия, превращающая разработчика в гадалку.

Читать далее

Детерминированное поведение и стейт-машины для ваших агентов

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

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

Помедитировав немного над этим, я пришёл к интересным эвристикам.

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

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

Например, существует масса формализованных циклов проектирования (PDCA, OODA, DMAIC, 8D и etc.) — по сути, тривиальных мета-алгоритмов; однако каждый шаг этих алгоритмов — это куда более сложная и нетривиальная задача.

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

Читать далее

Разработка Telegram-ботов на Python: системный подход вместо разрозненных гайдов

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

Обычно всё начинается с очень простой задачи, которую нужно решить чем быстрее, там лучше. «А можно ли сделать так, чтобы пользователи сами записывались на консультацию через Telegram?» или «кто-то должен отвечать на типовые вопросы клиентов ночью, пока саппорт спит». Как правило, на этом этапе вспоминают о Telegram-ботах, но тут вопросов возникает еще больше. Сколько стоит разработка? Можно ли создать такого бота своими силами? Что для этого нужно? Насколько это сложно? Или вообще, — а что там внутри этих самых Telegram-ботов, кроме команды «/start»?

А что там внутри?

Как перестать угадывать цены и довериться теории вероятностей. Хроника одного эксперимента

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

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

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

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

Так вот, я решил принять этот вызов и самостоятельно, без Дмитрия Шалаева разобраться как похожая стратегия может вести себя на акциях Московской биржи.

Про биржу часто пишут что это казино, но в данном случае я не буду ставить на красное или чёрное, а буду пытаться зарабатывать на самом факте вращения колеса рулетки: на волатильности, обороте и вероятности — то есть буду вести себя как казино, а не как игрок. Казино не знает, кто выиграет следующую раздачу, но оно знает, что в конце дня будет в плюсе.

Читать далее

Индикация смены раскладки клавиатуры в виде лампы с RGB-светодиодом для Gnome и Windows

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

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

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

Читать далее

Telegram BOT API 9.4: цветные кнопки и премиум эмодзи

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

Всем привет!

Сегодня Telegram выкатил Bot API версии 9.4. На первый взгляд обновление кажется небольшим, но оно кардинально меняет подход к визуалу ботов. Наконец-то мы получили инструменты для нормального UX/UI дизайна!

Давайте разберем, что нам приготовил Павел Дуров и команда в этот раз.

Если вам интересны подобные материалы, подписывайтесь на Telegram-канал «Код на салфетке». Там я делюсь гайдами для новичков, полезными инструментами и новостями.

Читать далее

Как ИИ получил руки для торговли на бирже

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

📉🐻 Как ИИ получил руки для торговли на бирже

Claude Code уже разбирается в техническом анализе, умеет искать в интернете для фундаментального, может быть запущен удаленно на сервере с iPad через Claude Code on the web, умеет анализировать файлы логов сам программируя python скрипты.

Осталось ли собрать всё это в кучу...

Читать далее

Бинарная классификация: как работает логистическая регрессия

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

Недавно мне предстояло написать реализацию LogisiticRegression для одного проекта в Школе 21, так что было необходимо разложить всё по полочкам и разобраться в бинарной классификации в целом. Хочу поделиться также этой информацией здесь, потому что не нашла статьи, которая была бы понятна и обширна лично в моём случае.

Читать далее

Цветаева и Ахмадулина. Связь поэтических миров проявляет Python

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

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

Читать далее

Визуализация 2+1D в Виртуальной Вселенной

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

Предыдущие части:

«Геометрическая головоломка на выходные»,
«Электродинамика виртуальной Вселенной»,
«Механика виртуальной Вселенной»,
«Квантовая механика виртуальной Вселенной (Часть I)»,
«Квантовая механика виртуальной Вселенной (Часть II)»
«Релятивизм виртуальной Вселенной»
«Космология виртуальной Вселенной (Часть I)»
«Космология виртуальной Вселенной (Часть II)»
«Электричество, проводимость и сверхпроводимость в виртуальной Вселенной»
«Атом в Виртуальной Вселенной (Часть I)»
«Атом в Виртуальной Вселенной (Часть II)»
«Атом в Виртуальной Вселенной (Часть III) [Химия]»

Здравствуйте, мои уважаемые читатели.

Следующим шагом я хотел приступить к описанию ядра атома в рамках описанной ранее теории. Но по комментариям и при личном обсуждении, пришёл к выводу, что теория хоть и является минималистичной, но всё-же, интуитивному её пониманию сильно мешает то, что всё обсуждение строится в 3+1 геометрических измерениях. С одной стороны — их не 11, как в теории суперструн, но и 4 — это сложно для понимания для неподготовленного человека. Да и, кого я обманываю — даже подготовленному проще оперировать формулами, чем образами в пространствах, размерностью выше трёх. Но в этой модели очень важно понимать её онтологию, суть процесса. Формулы являются лишь языком, позволяющим (вот тут будет тавтология) описать формализм системы и дать возможность оценить её качественно и количественно.

Эти размышления привели меня к мысли о необходимости дать расширенное визуальное описание системы. Я не придумал ничего лучше, чем понизить размерность. Исходно, у нас система представляет собой трёхмерную сферу S3. А давайте рассмотрим такую же модель, но на сфере S2. Да, удастся показать не всё — например, спин 1/2 здесь показать не выйдет. Но кое что должно проявиться и дать интуицию.

Читать далее

Не та 1С, которую вы знали: Полный гайд по технологии 1С: Элемент

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

Привет, Хабр! (И тебе, 1С-ник, который привык к «желтой» программке, и тебе, веб-разработчик, который до сих пор думает, что 1С - это только про накладные и бухгалтеров.)

В прошлой серии мы выяснили, что «1С:Предприятие.Элемент» - это не та «желтая программа», к которой привыкли бухгалтеры, а вполне себе модный cloud-native зверь с IDE в браузере. Но слова - это дешево. Разработчику нужно видеть код, архитектуру и понимать, как это соотносится с тем, что он уже знает (будь то 1C, Python или JavaScript).

Сегодня мы лезем под капот. Мы разберем синтаксис, систему типов, декларативный UI и узнаем, как 1С реализовала ORM, который (спойлер) удобнее многого, что вы знали, но не без своих 1С-овских замашек.

Поехали.

Читать далее

Генетическое программирование: от теории к практике

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

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

Что будет, если поручить эволюционному алгоритму самому «придумать» формулу? Разбираем генетическое программирование на наглядных примерах: от восстановления тригонометрических функций и символьной регрессии на реальном датасете до оптимизации структуры нейросетей — все эксперименты воспроизводимы в Google Colab.

Читать далее

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

Пишем свой voice-to-text на Python: 4 бэкенда и батч-обработка голосовых

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

От голосовых на 5 минут к тексту за 30 секунд: инструмент для батч-расшифровки голосовых: от локального Whisper до бесплатного Groq API, с автоопределением форматов и CLI

Читать далее

Как менялся сон моих детей: анализ 5 лет данных о сне

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

Как менялся сон моих детей: анализ 5 лет накопленных данных

За 5 лет жена скрупулезно записывала сон наших дочерей. Я взял эти данные и проанализировал: как меняется сон с возрастом, сколько спят дети на самом деле, и правда ли нормы ВОЗ работают.

Оказалось, что наши дети спят по-разному, но оба — в пределах нормы. И даже в одинаковом возрасте их паттерны сна удивительно похожи!

В статье: 📈 графики, 📊 статистика и главный вывод для родителей.

#анализданных #родительство #детскийсон #python #датасаенс

Читать далее

Один Dockerfile, два make-таргета и семинар, где студенты наконец пишут код

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

Я веду семинары по машинному обучению на ФКН ВШЭ. Чтобы понять, как работает градиентный спуск, нужно написать его руками.

И вот тут начинается проблема. Классический формат семинара: я стою перед аудиторией, пишу код, объясняю. Студенты смотрят. Кто-то конспектирует, кто-то фотографирует экран. Но не делает.

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

Читать далее

Бесплатные AI-модели от Alibaba: 1M токенов на каждую модель Qwen через Сингапур

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

Alibaba Cloud Model Studio (Сингапурский регион) даёт бесплатную квоту новым пользователям: 1 000 000 токенов на каждую модель. Не на аккаунт, а именно на каждую модель отдельно. То есть вы получаете по миллиону на Qwen-Max, Qwen-Plus, Qwen-Flash, Qwen3-Coder-Plus и так далее — параллельно.

Квота действует 90 дней с момента активации.

Что доступно

Полная линейка Qwen3:

Qwen-Max — флагман, сложные multi-step задачи, контекст 32K

Qwen-Plus — баланс качества и скорости, контекст до 1M токенов

Qwen-Flash — быстрая и дешёвая, тоже до 1M контекста

Qwen3-Coder-Plus/Flash — специализированные для кода, контекст до 1M

Qwen-VL — мультимодальные (текст + изображения)

Qwen-OCR — извлечение текста из изображений, поддержка русского

Qwen-Omni — аудио, видео, мультимодальность

Плюс открытые модели (qwen3-235b-a22b и другие) тоже доступны через API с квотой.

Читать далее

Разрабатываем игру для Telegram с нуля

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

Играть в игры весело, а ещё веселее их разрабатывать!

Сегодня мы создадим простейшую игру для Telegram, представляющую собой Mini App.

В нашем случае, это игра с «бизнес-уклоном». Часто клиенты хотят бонус, но раздавать по запросу бонусы не очень правильно. Гораздо лучше, чтобы пользователи его «заработали», выполнив какие-то действия, взаимодействуя с вашим брендом. А что может быть веселее небольшой игры с призом в конце.

В нашей игре нужно будет прыгать по платформам и собирать звёзды.

Ссылка на игру – вы можете пройти её сами.

Читать далее

Nano Banana Pro. Реальное применение, а не мемные картинки

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

Когда данных мало, а домен сильно отличается, предобученные модели перестают работать.

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

Что получилось, где работает, где нет и сколько это стоит - в статье.

Читать далее

Самописные уведомления от Claude Code в Telegram

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

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

Я люблю и практикую ChatOps. Поэтому решение пришло само: пусть агент мне пишет в телеге, когда я ему нужен.

Читать далее