Обновить
1.73

Flask *

Микрофреймворк для создания сайтов на базе Python

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

HelpDesk из Flask и палок: как мы сделали систему заявок, которой пользуются врачи

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

Я думаю, многие айтишники не любят принимать заявки от пользователей по телефону. Многим знакома ситуация, когда служебный телефон находится в режиме «без звука», и только индикатор активности линии выдаёт, что кто‑то пытается дозвониться до IT‑отдела. Или когда айтишники редко находятся на рабочем месте, а координатора в отделе, который бы принимал заявки и передавал их затем своим коллегам, нет. Раздавать свой личный номер всем я, например, не хочу — иначе замучают потом звонками по всякой ерунде.

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

Мы с коллегой долго решали, что всё‑таки использовать для решения задачи сбора заявок от пользователей в нашей небольшой поликлинике. Пробовали различные мощные Service Desk и Help Desk‑системы, даже настроили GLPI — кто не знает, это такой «монстр», который может много: начиная от инвентаризации всех устройств в сети до работы в качестве Service Desk‑системы для сбора заявок от пользователей. Но чтобы настроить шлюз для получения почты, нужно столько лишних движений сделать, что просто диву даёшься, как можно было так «заоверинжинирить» систему, что ею просто не хочется пользоваться. К тому же работа через email — это не то, чего мы хотели. Это сложно и как‑то уж чересчур формализованно.

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

Читать далее

Новости

Делаем динамический кол-трекинг: Flask + SQLite + офлайн-конверсии Яндекс.Метрики

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

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

Чтобы алгоритм работал лучше и искал только тех, кто вероятнее готов к сделке, между собой связываются рекламное объявление, звонок и итоговая сделка. Для этого в Яндекс через офлайн-события возвращается звонок или уже факт сделки. 

В этом гайде разберём MVP на Python: он добавляет номер на лендинге под yclid, хранит выдачу в SQLite, принимает вебхук звонка от МТС Exolve, создаёт конверсию и формирует CSV под импорт в Яндекс.Метрику. Получается повторяемый поток данных от рекламного клика до офлайн-цели без ручной склейки.

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

Читать далее

ЧАСТЬ 2 — Мониторинг МФУ на Flask: новые функции, проблемы и планы

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

Опубликовал ЧАСТЬ 2: проект вырос из простого SNMP‑опрашивателя в рабочий инструмент для парка принтеров. Теперь есть склад картриджей, журнал ТО, отдельная страница парка и удобные экспорты в Excel. Пишу про реальные боли (цветные МФУ, разные прошивки, потеря данных в CSV) и о том, что планирую доделать

Читать далее

Как мы оптимизировали логику Битрикс на Python/Flask и уложили ее в 1 МБ

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

Привет, Хабр! Принес вам кейс о том, как мы с командой оптимизировали работу одного небезызвестного портала с помощью Python/Flask.

Напомню: я по-прежнему Алексей Постригайло, более 20 лет я занимаюсь системной интеграцией и управлением проектами, сейчас — старший партнер ИТ-интегратора ЭНСАЙН и рассказываю о том, что было «под капотом» в проектах нашей команды.

Поехали!

Читать далее

В 3 ночи мой бот уверенно перепутал «колики» и «голод». Я всё равно его выпустил — и вот почему

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

Я сделал Telegram-бота, который по короткому фрагменту детского плача (в MVP беру 5 секунд) пытается угадать причину из 6 классов и быстро вернуть ответ. Это не диагностика: бот может ошибаться, а шум и контекст ломают предсказание сильнее, чем хочется.​

Читать далее

Гайд по созданию международного стартапа используя vibe-coding

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

Наступил 2026 год, и у меня были новогодние праздники для создания международного стартапа - единорога 🦄. Поставил себе цель - заработать миллиард денег, поэтому проект должен быть международный(мультиязычный), чтобы увеличить трафик. Чтобы успеть за две недели, я решил использовать vibe-кодинг, а то потом ещё к ЕГЭ готовится.

VIBE-кодинг

Для написания кода я использую cursor.com версию pro - стоимость 20 $. Забегая вперёд, скажу что есть лимит токенов, и за пару неполных недель я сжёг лимиты токенов 3-учёток на проект.

Читать далее

Строим сервис, который повышает собираемость показаний счетчиков ЖКХ

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

Привет, Хабр!

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

В статье разберём Python-сервис, который отправляет персонализированные SMS, принимает ответы и подключает голосовой вызов для тех, кто не ответил.

Читать далее

Как я с DeepSeek писал информационную систему (электронный журнал) для образовательного центра за пару дней

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

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

Центров этих в районе десятка по стране. И до этого года все они работали на базе общей информационной системы.

Меня попросили что-то придумать с этим. О том, что нас отключат от системы, я узнал немного заранее. Рассмотрел open-source варианты систем, которые могут выполнять подобную задачу, и пришел к выводу, что проще написать такую систему с нуля (приоритетом было, чтобы преподаватели легко перешли на новую систему). Но прикидывая, сколько моих человеко-часов уйдет на эту задачу (да ещё и бесплатно), я плавно сливался с этой темы.

Собственно, я и не собирался ничего делать, но вспомнил, что хотел испытать, на что способна ИИ-шка при написании подобных задач с нуля. Обычно я мучаю DeepSeek и пару других gpt для простеньких скриптов, фикса багов, других проблем с Легаси, и просто для тупых вопросов. Поэтому решил в DeepSeek эту задачку и закинуть. Такого, честно, я не ожидал :)


Читать далее

За два дня после Хабра: как из пет-проекта выросло почти полноценное приложение

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

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

И вот что получилось

Как за 5 дней с помощью Claude я создал приложение для кошки с диабетом (и кажется запустил стартап)

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

У моей кошки Манишки диабет. Ей 13 лет, весит она всего 3 кг, и каждый день я меряю ей сахар глюкометром и колю инсулин. Первые месяцы записывал показания в блокнот на холодильнике — просто дата, время, цифра. Потом понял что так динамику не увидишь, перешёл на Excel с формулами и цветными ячейками. Потом написал Python‑скрипт который рисовал графики и сохранял их картинками.

А что из этого получилось — смотрите под катом!

Читать далее

Надоело включать VPN для Zwift? История создания reZwift с серверами в России

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

Последние пару лет я регулярно слышал от знакомых велосипедистов одни и те же жалобы на Zwift: "Опять не работает Zwift", "20 евро каждый месяц дорого".

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

В статье рассказываю:

• Как реализовал серверную обработку интеграций (Garmin, Intervals.icu) для работы без VPN
• Почему выбрал Flask и как интегрировал его с протоколом Zwift
• Как организовал AES-256 шифрование учетных данных
• Какие проблемы возникли с неофициальным Garmin API
• Как сделал современный UI на чистом CSS без React
• Метрики производительности и планы развития

Технический стек: Flask, SQLite, Cryptography, Garth, Jinja2, CSS3.

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

Читать кейс полностью

Как работает Blind LDAP Injection — на примере реального CTF-задания

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

Всем привет! Меня зовут Ян, я старший специалист по пентестам в компании Xilant. Сегодня предлагаю вместе разобраться с довольно сложным CTF-заданием, посвящённому слепой LDAP-инъекции (Blind LDAP Injection).

Оно будет особенно интересным, ведь его смогли решить всего около 50 человек из примерно 500. Мне удалось получить флаг одним из первых десяти участников — за 2 часа, причём без глубокого опыта работы с LDAP протоколами.

Решение и код лежат также на моём Github (ни один чат-бот не пострадал).

Читать далее

Заказ звонка из email-рассылки с умным определением времени и задачей в CRM в один клик

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

Привет. Сегодня мы создадим полноценный инструмент повышения конверсии в звонок для email- и CRM-маркетологов. Речь пойдет о системе заказа обратного звонка прямо из письма.

Пользователь получает письмо с кликабельным календарем для выбора даты. Нажав на подходящий день, мы самостоятельно определяем время звонка и автоматически ставим задачу менеджеру в amoCRM.

Читать далее

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

Разработка Битрикс-бота: история о том, как документация врала, а облака смеялись

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

Привет, Хабр! (И тебе, случайный читатель, который зашёл сюда просто потому, что заскучал в корпоративном чате.)

Сегодня я расскажу вам историю о том, какая задача посетила меня на этот раз и как я сделал «корпоративного бота с возможностью оценки сотрудников» — казалось бы, простая задача, но…

Читать далее

От консоли к веб-интерфейсу: создание автоматического веб-инсталлятора для ALD Pro на Flask и Python

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

Программисты делятся на два типа: те, кто автоматизирует установку ALD Pro, и те, кто ещё не понял, сколько времени они теряют. Когда-то я вручную прописывал DNS, как средневековый монах переписывающий манускрипты, но потом осознал, что компьютеры должны работать вместо нас. В этой статье — мой путь от консольных скриптов, которые пугали коллег, до веб-интерфейса, где даже бухгалтер (почти) разберётся.

Читать далее

Один кадр против спуфинга: как мы определяем фейковые лица без видео и биометрии

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

Иногда пользователи пытаются пройти биометрическую верификацию не совсем честно. Иногда — совсем нечестно. Кто-то показывает фото на экране другого телефона, кто-то — печатает лицо на бумаге и машет им в камеру. 

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

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

В этой статье мы расскажем, как он научил систему это делать. Без волшебства: только кастомный датасет, ансамбль CNN и несколько костылей — куда без них.

Читать далее

Соединяем физику и лирику. Как я собрал рекомендательную систему для стихов с помощью Flask, sqlite-vec и Hugging Face

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

Для песен рекомендательные системы есть, для книг — есть, для фильмов — есть, для стихов — нет. Непорядочек 🤔

Используя Flask, Jinja2, Sentence-Transformers и sqlite-vec, собрал первый прототип рекомендательной системы для стихов. Для машины измерить в цифрах схожесть двух стихов трудно. А для человека — в самый раз. Прикрутил форму оценки рекомендаций, собрал человеческий фидбек.

В статье подробно рассказываю о деталях конструкции.

Читать далее

Сделано с любовью и TensorFlow: моя первая нейронка с нуля (без GPU и с бюджетом $0)

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

Когда я впервые села за компьютер с мыслью: «А не обучить ли мне нейросеть?» у меня не было понимания как это сделать и с чего начать. Зато была любовь к собакам, интерес к машинному обучению и желание разобраться, как всё работает. Так родился проект HappyPuppy - моя первая нейронка, которая распознаёт сибирского хаски и французского бульдога на фотографии. Просто загрузите фото (jpg, jpeg, png до 1MB) с вашим питомцем и модель предскажет породу.

Далее я расскажу, как на домашнем Маке появилась и выросла моя первая сверточная нейронная сеть (CNN): от идеи до работающей модели — её создание, обучение и тестирование.

Эта история будет особенно полезна новичкам в мире ИИ без опыта в программировании.

Ссылка на код на GitHub, архитектура модели и маленький ликбез по сверточным нейронным сетям будут в конце статьи.

А сейчас — история создания по шагам.

Читать далее

Как сделать платежи в медцентрах понятнее для пациентов

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

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

Чтобы менеджеры и операторы не тратили время на подобный контроль, а добросовестные клиенты получали поощрения, мы построили простую систему напоминаний с игровой механикой. Это рассылка сообщения через SMS API от МТС Exolve, при этом данные о клиентах и сделках храним в CRM-системе Битрикс24.

Читать далее

FastOpenAPI: автодокументация OpenAPI для разных фреймворков на Python

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

Всем привет! Меня зовут Никита Рыженков, и я хочу поделиться опытом разработки библиотеки FastOpenAPI. Это инструмент, который приносит удобный стиль маршрутизации FastAPI и автоматическую документацию OpenAPI в целый ряд Python-фреймворков. Идея родилась из личной боли: в одном проекте приходилось поддерживать OpenAPI-документацию сразу в нескольких фреймворках, и я устал дублировать решения под каждый из них. Вдохновившись лаконичностью FastAPI, я решил создать унифицированный подход для Flask, AioHttp, Sanic, Falcon, Starlette, Quart, Tornado – назвал его FastOpenAPI​. В этой статье расскажу, какие проблемы решает FastOpenAPI, как он устроен внутри и как им пользоваться с примерами кода под каждый поддерживаемый фреймворк.

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