Обновить
512K+

Python *

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

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

Прогнозирование вспышек инфекций

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

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

Важное ограничение: эпидемиологическая динамика в этом MVP синтетическая. Реальными были названия муниципалитетов, площадь, численность населения, плотность и температура из Яндекс Погоды. Показатели вакцинации, число случаев, заболеваемость и целевая метка генерировались программно.

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

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

Читать далее

Новости

Свинство в действии: расширяем синтаксис питона

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

Около 3-х лет назад, я написал статью о том, как я открыл для себя язык программирования gleam. Тогда я отметил, что gleam не так уж сильно отличается от питона.

Сейчас я решил продолжить дискурс и перенести его в практическую плоскость. Я сделал форк CPython и попросил DeepSeek немного поиграться с синтаксисом. Хорошо, что в питоне обновили парсер - он теперь достаточно гибкий.

В общем, если смотреть с формальной стороны - получился новый язык. Он немного расширяет питон (то есть, является суперсетом), но совсем чуть-чуть. Оставаясь при этом верным главному синтаксическому принципу - значимым пробелам. Целевые рантаймы для этого языка - CPython и BEAM. Они очень разные, поэтому отлично дополняют друг друга.

На картинке вы видите знак вопроса. Он связан с тем, что у нового языка пока нет окончательного названия. Есть только некоторые идеи - они связаны, простите, со свиньями. Также, в конце будет опрос - нужны ли минипиги в программировании. Ответьте, пожалуйста, это очень важно.

Читать далее

Программа поиска по PDF. Разбираем PageIndex, Streamlit и ссылки на страницы

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

«Срок гарантии — 18 месяцев». Красивый ответ. А если в договоре написано 12? Или число 18 стоит в разделе о хранении, а модель просто зацепилась за него?

В чате такие ошибки прячутся за гладкой фразой. Я хотел иной маршрут: задать вопрос к PDF, получить ответ и одним нажатием открыть физическую страницу исходного файла, на которую ссылается модель. Так появился PDF Desk — небольшое приложение на Python, Streamlit, PageIndex и PDFium. Один активный документ. Никакой базы пользователей. Индекс и исходный PDF остаются на компьютере; при использовании внешней модели текст документа всё равно уходит её провайдеру.

Дальше — где проходит граница между SDK и приложением. Почему голый /models не годится для проверки подключения. Из чего собран идентификатор индекса. И почему ссылка на существующую страницу ещё не значит, что ответ доказан. В конце живой прогон DeepSeek, включая браузер, и сценарии, для которых этого прогона мало.

Читать далее

Как я собрал бота коммерческих предложений на чистом stdlib и рендерю PDF через headless Chrome

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

Я дизайнер интерфейсов и работаю как фрилансер. На каждое коммерческое предложение у меня уходило часа три: смета в таблице, вёрстка, экспорт, проверка. Шаги одни и те же, меняются цифры и состав работ. В конце июля я упаковал этот процесс в Telegram-бота, который задаёт семь вопросов и присылает PDF со сметой, сроками, этапами и кейсами.

Расскажу, как смета собирается из свободного текста, почему PDF рендерит Chrome, как бот приводит обложки кейсов к одной пропорции и зачем ему мини-приложение. В конце грабли эксплуатации и цифры за два месяца.

Читать далее

Как я создал СуперЗавуч — программу для генерации расписаний занятий

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

Привет, Хабр! Я бы хотел рассказать о том, как я создал программу для составления расписаний для учебных заведений - СуперЗавуч.

СуперЗавуч - современная программа для составления расписаний уроков для школ, лицеев и колледжей. Программа позволяет создать расписание за несколько минут и имеет много параметров для конфигураций.

Читать далее

Typing в Python 3.11–3.14: что изменилось и как это использовать уже сейчас

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

За последнее время я прочитал множество репозиториев, где в Pyhton пользуются типизацией и почти везде синтаксис не новее 3.11: Optional, TypeVar на уровне модуля, Generic[T], кавычки вокруг опережающих ссылок. При этом у Python 3.10 поддержка закончилась, и разработчики языка дали нам новых удобных инструментов и чтобы ими пользоваться не всегда нужно обновляться до последней версии. В этой статье расскажу, какие основные фишки появились за последние несколько лет и как ими пользоваться даже в проектах на старых версиях.

Читать далее

Семь занятий по локальному RAG на Python от файла до ответа с источниками

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

Сделал бесплатный курс для тех кто хочет научиться создавать локальные ИИ приложения на Python. За семь занятий разберём помощника, который ищет по вашим документам, отвечает на вопросы и показывает исходные фрагменты для проверки.

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

В local‑docs‑ai вокруг этой цепочки собран короткий курс. Семь занятий, одна программа. Она читает Markdown и TXT, ищет подходящие фрагменты через локальную embedding‑модель, передаёт их языковой модели и показывает исходный текст с именами файлов и номерами строк. Есть терминальные команды и окно в браузере.

Маршрут рассчитан на человека, которому знакомы функции, списки и словари Python. Сначала запускаем готовый пример. Затем разбираем его по частям, меняем документы и учимся различать два сбоя: поиск промахнулся или модель неверно пересказала найденное. В этой статье пройдём весь механизм; код и отдельные занятия лежат в одном репозитории.

Читать далее

Кедр: SACD ISO в FLAC, написанный в Cursor

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

Мне нужна была утилита под macOS, которая берёт образ Super Audio CD и делает из него FLAC. Обычный путь «открыть ISO в ffmpeg» здесь не работает: внутри не PCM, а однобитный DSD, часто ещё сжатый в DST. В итоге получился Кедр. Окно на Electron, само преобразование делает локальный Python, альбом с машины никуда не уходит.

И сразу честно, как это писалось. Я не набирал проект руками файл за файлом. Это вайбкодинг в Cursor: я говорил, что должно получиться, смотрел результат и возвращал в чат то, что сломалось уже на настоящем диске. Модель хорошо собирает каркас и плохо угадывает, как себя ведёт Homebrew ffmpeg 9 на конкретном DSF. Ниже как раз про это. Без тех прогонов на своём Mac утилита бы так и осталась «ну вроде открывается».

Читать далее

DBML Diagram для IntelliJ IDEA с офлайн превью и открытым исходным кодом

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

Привет! На связи Boost for Java. Развиваем DBML Diagram — open source плагин для IntelliJ IDEA и других совместимых IDE на платформе IntelliJ. Он строит ER-диаграмму рядом с открытым .dbml-файлом: меняете описание таблиц и связей — превью обновляется прямо в редакторе. Построение диаграммы работает локально, без отправки схемы во внешний сервис.

В этой статье покажем возможности версии 0.1.0, пользу работы со схемами прямо в IntelliJ IDEA и устройство плагина. Отдельно расскажем о планах интеграции с dbdiagram.io для публикации локальных изменений в общую схему.

Проект открыт: будем рады предложениям, примерам проблемных схем и участию в разработке.

Плагин в JetBrains Marketplace · Исходный код на GitHub

Читать далее

Сравнение регионов Казахстана

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

Я собрал больше 32 тысяч объявлений с Krisha и данные БНС по зарплатам, ценам, тарифам и переездам. Потом посчитал, сколько остаётся от зарплаты после аренды, еды и коммуналки, и сравнил это с тем, куда на самом деле переезжают люди.

Как живут в Казахстане...

Как нейросети выбирают источники для ответов и почему половину ссылок получают два ресурса в нише

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

Я задал пяти нейросетям с включённым поиском 20 вопросов покупателя услуги продвижения и выписал домены из ссылок под ответами. Вышло 211 сайтов, и на 161 из них сослалась только одна нейросеть. Сайтов, на которые ссылаются три нейросети и больше, всего 17, и они стоят в 79% ответов со ссылками. Два из них, Sostav и vc.ru, — больше чем в половине. Через шесть недель девять сайтов из этих 17 снова оказались общими для трёх нейросетей и больше.

Читать далее

Как работает шифровальная машина Lorenz SZ 42 (для телетайпа)

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

В прошлом году я написал пост про известную шифровальную машину нацистов Как работает машина Enigma M3 (для флота) / Хабр .

Enigma широко использовалась в немецких вооружённых силах, включая армию и флот.

Но куда менее известной является машина Lorenz SZ 42, хотя она была не менее важна.

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

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

Кроме того, в процессе работы над материалом было найдено довольно много первоисточников, которые неплохо сохранить внутри такой статьи. В самом низу есть cайты, архивы, интерактивные модели и первоисточники, в статье много кода на Python.

Погрузиться в историю ...

Как документировать API: частые ошибки и лучшие практики для создания своего руководства

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

Через дата-инженеров Далее проходят десятки описаний интеграций в совершенно разных форматах, даже в Excel. Формально такая API-документация есть, но пользоваться ей больно, а иногда и вовсе невозможно.

Разбираем, чем «болеют» документации, как сделать понятное руководство со Swagger и без него, посмотрим лучшие практики создания API-документации.

В конце — чек-лист для написания и проверки документации.

Читать далее

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

Сканер 152-ФЗ выписал нарушения Госуслугам, РЖД и Т‑Банку. Разбираем как так вышло

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

Ошибка линтера стоит пяти минут. Ошибка сканера, который проверяет сайты на соответствие 152-ФЗ, выглядит иначе: «ваш сайт нарушает закон». Если сайт при этом в порядке, а отчёт уже ушёл клиенту, расплачивается чужая репутация.

Мы пишем такой сканер. Отчёт по нему получает не владелец сайта, а веб‑студия, которая ведёт сотню клиентских сайтов, и дальше отдаёт его клиенту под своим логотипом. То есть за нашу выдуманную находку краснеть будет она.

Так что перед запуском мы отложили новые проверки и месяц занимались противоположным: искали, где сканер врёт. Написали три инструмента, которые ищут ошибки в нашем же коде, и прогнали через них полсотни самых неудобных сайтов Рунета. Трижды. Нашлось восемь ловушек. Ни одну из них не увидел клиент — но увидел бы, если бы мы просто запустились.

Все восемь ловушек

Книга: «Простой Python. Современный стиль программирования. 3-е изд.»

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

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

Читать далее

2 100 писем и ноль ответов: разбор холодной рассылки в банки и фонды

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

За две недели мы отправили около 2 100 приглашений в отраслевой опрос: специалистам по рискам в банках и инвестиционных фондах. Базу собрали сами. Организации взяли из открытого реестра юрлиц GLEIF, сайты искали через Wikidata и автокомплит Clearbit, адреса собирали со страниц контактов. Из холодной рассылки не ответил никто.

Под катом разбор по шагам. Почему среди 1 301 адреса с сайтов финансовых компаний нет ни одного со словом risk. Как локальный DNS в режиме fake-ip превратил проверку доменов в формальность. Почему почтовые шлюзы банков отбили письма, отправленные из Gmail. И как рассылка однажды завершилась без единой ошибки и не отправила ни одного письма. С кодом на Python и цифрами.

Читать разбор

ExtremeCleaner: чистит кэш и показывает, что ещё удалить, чтобы освободить место

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

ExtremeCleaner — незаменимый инструмент для контроля занятого места на диске. Он не только чистит кэш, но и показывает, что ещё съедает гигабайты: большие AI-модели (Ollama, LM Studio), старые сохранения игр и миры Minecraft, забытые загрузки и видео, образы виртуальных машин, почтовые базы, записи звонков, кэши Spotify и видеоредакторов, старые версии программ.

Три вкладки: безопасная очистка в корзину, ваши файлы для ручного разбора и системные места (гибернация, WinSxS, точки восстановления, кэш обновлений) с инструкциями, как их подсократить при желании. Каждый пункт объяснён: что это и опасно ли трогать.

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

Читать далее

Бэкфилл должен был пометить одну строку, а пометил 321. Разбор миграции, которую пропустил зелёный тест

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

У нас есть сервис, который собирает продавцам XML-фид для автозагрузки Авито. В воскресенье 27 сентября я выкатил миграцию данных. По моему расчёту она ставила новый признак ровно одному объявлению. После выкатки признак стоял у 321. Вреда не случилось, потому что я пересчитал помеченные строки раньше, чем фид успел пересобраться. Ниже код, запросы и мой главный промах: условие я считал в голове, а на проде не прогнал ни разу.

Читать далее

Как я уделал Microsoft, но это никому не нужно (кайфую сам)

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

Я не программист. Я модель и писатель. Мне просто надоело печатать, поэтому я попросил ChatGPT помочь сделать собственную голосовую диктовку для Windows. С какими сложностями столкнулся и что из этого вышло?

Читать далее

Откуда ИИ-модели берут топ компаний: в 62% ответов со ссылками есть чужая подборка

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

Я разобрал ответы ИИ-моделей на вопросы со словами лучшие, топ и рейтинг и смотрел, откуда взялся список. Из 208 ответов со ссылками на источники в 130, это 62%, стоит готовая подборка: чей-то топ-10, рейтинг или сравнение.

Ответы собраны по 32 проектам из разных ниш, от бухгалтерского аутсорсинга до фулфилмента, всего их 368, ссылки были у 208. Попасть в ответ — это во многом попасть в подборки, которые находит ИИ-модель. В конце — как проверить свою нишу за 3–5 вопросов и что делать с каждой найденной подборкой.

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