Обновить
826.91

Python *

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

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

Телеграмм бот для инсулинотерапии

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

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

-        калькулятор перехода на помповую инсулинотерапию;

-        калькулятор болюса;

-        калькулятор расчета ХЕ по упаковке продукта;

-        таблица продуктов с переводом в ХЕ.

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

!!!Данный бот предназначен исключительно для тестирования и определения актуальности разработки и не может использоваться для определения настроек помпы или количества инсулина без рекомендации врача!!!

Читать далее

MinIo и Boto3: маленький гайд по созданию скрипта для объектного хранилища на python

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

MinIo, как система объектного хранилища данных, заслуженно пользуется любовью разработчиков: инструмент приятный и, довольно, простой в использовании и освоении. Вот и для одного из наших крупных проектов на работе недавно возникла потребность в использовании S3 хранилища, мы, однако, по корпоративным соображениям выбрали для применения в продакшене другой инструмент, а именно - IONOS (компания у нас немецкая и на ионосе много еще чего завязано), но для тестов и для локального запуска скриптов ничего лучше MinIo в голову нам не пришло. Подобное сочетание при этом вызвало необходимость в использовании такой Python библиотеки, которая могла бы работать и "на наших, и на ваших", а в нашем случае и на MinIo, и на IONOS (поменял параметры в конфиге и тот же самый код, что работал локально, начинает работать и с продакшеном) и этой библиотекой стал Boto3 (стандартный пакет minio для этих целей не подходил). Именно об этой констелляции - Python, MinIo и Boto3 - дальше мне и хотелось бы рассказать, ну а если вместо MinIo вы захотите использовать что-то другое, то "поменял параметры в конфиге и тот же самый код, что работал локально, начинает работать и с продакшеном".

Читать далее

Интеграция модели GPT-4 Omni в телеграм бота на Python

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

13 мая 2024 года, OpenAI официально представила новую модель Omni. 

Преимущества модели в том, что она умеет работать со всем контентом (текстом, звуком и изображениями) и знает 50 языков.

И сегодня мы интегрируем эту модель в небольшого бота на Python.

Читать далее

Паттерн Unit of Work в Python с SQLAlchemy

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

Unit of Work отслеживает все объекты, которые были загружены в память и изменены в ходе выполнения программы. Он управляет их состояниями и сохраняет изменения в базе данных в конце транзакции. Это делается с использованием сессий, которые действуют как контейнеры для всех изменений.

Когда работа завершена, Unit of Work выполняет commit для всех изменений, сохраняя их в базе данных. Если что-то пошло не так, выполняется rollback, и база данных возвращается в состояние до начала транзакции.

В данной статье рассмотрим, как реализовать паттерн Unit of Work с использованием SQLAlchemy.

Читать далее

rupersonaagent: как добавить эмоциональности русскоязычному персонифицированному диалоговому агенту

Время на прочтение7 мин
Охват и читатели547

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

Читать далее

Матрица Вандермонда

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

Александр Теофил Вандермонд (28 февраля 1735 - 1 января 1796) - французский музыкант и математик, известный благодаря своей работе в области высшей алгебры.

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

В честь Александра Теофила был назван специальный класс матриц - матрицы Вандермонда, о котором пойдет речь в данной статье. [1]

Читать далее

Создание и обработка медицинской базы данных с помощью python/R

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

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

Необходимо сформировать базу данных пациентов с перенесенным заболеванием COVID-19 (один выписной эпикриз ДО заболевания COVID-19, один выписной эпикриз во время заболевания и один ПОСЛЕ заболевания).

Telegram для контактов: @doctor_pogozhy

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

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

Всем привет! Хочу поделиться недавним проектом, в котором я разрабатывал плагин для распознавания текста на иврите. Задача была непростая, особенно учитывая, что клиент уже пытался использовать Tesseract OCR, но точность распознавания оставляла желать лучшего. В этой статье расскажу о том, с какими трудностями я столкнулся и как их преодолел.

Читать далее

Телеграм-бот магазин на Python. Создание с нуля

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

В этой статье я покажу, как сделать Telegram-бота для онлайн-магазина на Python, который позволяет пользователям просматривать каталог товаров, добавлять их в корзину и оформлять заказы. Мы также рассмотрим, как интегрировать платежи и работать с базой данных для хранения информации о товарах и корзинах пользователей.

Читать далее

Как простые NLP модели видят слова? | NLP | Пишем свой TF-IDF

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

Когда начинаешь погружаться в сферу NLP, сразу задумываешься, как модели представляют себе наш текст/наши слова? Ведь не логично бы звучало, если модель обрабатывала наши слова, как обычную последовательность букв. Это было бы не удобно и не понятно(как проводить операции со словами?).

Есть разные методы преобразования слов. Один из самых известных для не самых сложных моделей: TF-IDF.

Читать далее

Как создать многопользовательского телеграм бота с использованием PyTelegramBotAPI?

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

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

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

Интегрируем pandas с электронными таблицами: три способа

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

Pandas идеально подходит для работы с табличными данными – он способен открывать файлы Excel и проводить внутри преобразования. Более того, сохранить датафрейм тоже можно в файл Excel. Это делает удобной интеграцию pandas с офисным пакетом: результаты можно сразу красиво оформить для выступления на конференции или передачи коллегам, которые занимаются только “мокрой” биологией и не работают с инструментами data science.

Давайте посмотрим, как это делается. Если мы импортировали pandas под именем pd:

Читать далее

Исследование влияния сопроводительного письма на приглашение к собеседованию. Или как я сделал 1000 откликов на вакансии

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

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

Читать далее

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

Машинное обучение в обучении человека. Развитие проекта RuLearn

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

Уже больше года я занимаюсь проектом RuLearn. Это довольно большое мобильное приложение на ~10000 строчек кода, которое реализует метод интервальных повторений, об истории проекта можно прочитать в моих предыдущих публикациях 1 и 2. Проект получился удачным, и даже побывал в числе победителей школьного московского конкурса "Инженеры будущего". Школьного, потому автор проекта - школьник :)

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

Как я провел летние каникулы

Большое руководство по сетям и шифрованию трафика в Linux (часть 1)

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

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

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

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

Читать далее

Головоломка «Сапёр» на Python в 66 строк и ее решение вероятностным алгоритмом

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

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

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

Читать далее

Как нейросети выдают кредиты?

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

Ни для кого не секрет, что кредитный скоринг — это вполне распространенная практика оценки заемщика. Чтобы условный чернорабочий с зарплатой 40 тысяч не взял 5 ипотек, а страна не превратилась в одну большую "Игру на понижение"... 

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

В этой статье рассказываем, как работали алгоритмы машинного обучения раньше и как

Читать далее

Hardpy. Nucleo-f401 example — автоматизируем тестирование электроники на производстве на Python

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

Как автоматизировать тестирование электроники на производстве на Python на примере тестирования и прошивки отладочной платы Nucleo-F401.
Разбор использования функций HardPy - открытого фреймворка для создания тестовых станций для производства электроники на pytest.

Start testing

Феномен Рунге

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

Введение

Карл Давид Тольме Рунге (30 августа 1856 - 3 января 1927) - выдающийся немецкий математик, физик и спектроскопист. Обучался в Берлинском университете, где получил степень PhD, являлся профессором математики в Ганноверском университете, а также главой кафедры прикладной математики в Гёттингене. [1]

в 1901 году Карл открыл "Феномен Рунге" - в численном анализе эффект нежелательных колебаний, возникающий при интерполяции полиномами высоких степеней - о котором пойдёт речь в данной статье. [2]

Но прежде, чем мы окунёмся глубже в изучение данного феномена, давайте поговорим об интерполяционном многочлене Лагранжа, на примере которого мы и разберём Феномен Рунге.

Интерполяционный многочлен Лагранжа

Полином Лагранжа - это математическая функция, позволяющая записать полином n-степени, который будет соединять все заданные точки из набора значений, полученных опытным путём или методом случайной выборки. Многочлен в форме Лагранжа в явном виде содержит значения функций в узлах интерполяции, поэтому он удобен, когда значения функций меняются, а узлы интерполяции неизменны. Число арифметических операции, необходимых для построения многочлена Лагранжа, пропорционально и является наименьшим для всех форм записи. [3]

Полином Лагранжа в общем виде выглядит следующим образом:

Читать далее

Точность спортивных прогнозов на основе коэффициентов ставок

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

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

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

(b) Имеет ли значение, какую букмекерскую контору или биржу ставок мы выберем, если доступны две или более?

Читать далее