Обновить
782.12

Python *

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Start testing

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

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

Введение

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

Пишем шахматы на двоих на Pygame

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

Дело было вечером, делать было нечего. Решил запрограммировать шахматы на двоих. Делать их будем на Pygame, а как - сейчас расскажу.

Читать далее

Делители

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

Есть такая задача: сколько у числа n делителей? Вот к примеру у числа 4 три делителя: 1, 2 и 4, а у числа 6 – четыре: 1, 2, 3 и 6. Задачи такого рода часто встречаются на всяческих литкодах, и публика с воодушевлением их колупает. Ну и правильно.

Наивное решение выглядит так:

Читать далее

Telegram Боты на Aiogram 3.x: Простой бот на вебхуках с локальным запуском и деплоем

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

Друзья, приветствую!

Если вы следите за моими статьями, то знаете, что на Хабре у меня опубликовано более 10 объемных публикаций на тему разработки телеграмм ботов через замечательный Python-фреймворк Aiogram 3.

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

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

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

В общем, будет интересно и позновательно!

Читать далее

Автоматизация бизнес-процессов и причем тут латиночка из Бразилии

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

Устал от стандартного подхода к саппорту своего продукта через Jira? Надоели миллион уведомлений на почту о изменениях в таске? Раздражает скорость ответа на тикет? Тогда мы идем к тебе...

Подробности без смс и регистрации

Как и зачем считать сбалансированный precision score

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

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

Почему так, почему это может приводить к ошибкам при отладке моделей, и как этого избежать с помощью сбаланированного precision score - в этой заметке.

Читать далее

Использование численного метода Монте-Карло для вычисления многомерных интегралов

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

Еще в 1940-х годах, Джон фон Нейман и Станислав Улам изобрели моделирование Монте-Карло или численный метод Монте-Карло. Они назвали его в честь известного места азартных игр в Монако, поскольку этот метод имеет те же случайные характеристики, что и игра в рулетку.

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

Метод Монте-Карло используется в реальной жизни, например, в задачах, связанных с физикой, создании искусственного интеллекта, прогнозировании погоды и так далее, а также имеет огромное применение в финансах, где числовой метод Монте-Карло используется для расчёта стоимости акций, прогнозировании продаж, управления проектами и многого другого.[1]

Основное преимущество использования Монте-Карло заключается в том, что этот метод обеспечивает множество возможных результатов и вероятность каждого из большого пула случайных выборок данных, однако, метод зависит от предположений, и это иногда может быть сложной задачей. Некоторые другие преимущества Монте‑Карло: он изучает поведение системы без её построения, обеспечивает в целом точные результаты, по сравнению с аналитическими моделями, помогает обнаружить неожиданное явление и поведение системы, а также выполнить анализ «что, если». [2]

Читать далее

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

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

В данной статье хочу рассказать про сервис load-testing-hub, главная задача которого это сбор, агррегация, анализ и визуализация данных о нагрузочном тестировании

Расскажу о том, какие проблемы решает сервис, как он помогает оценивать производительность выпускаемых релизов, а также поделюсь примерами его использования

Рассмотрим основные возможности load-testing-hub, такие как создание наглядных графиков и отчетов, сравнение результатов нагрузочных тестов

Читать далее