Обновить
516.88

Python *

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

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

Python и нечеткое сопоставление: решение проблемы разнобоя в адресах

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

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

📍 "д. Малое Шилово, ул. Березовая, д. 7" и "Березовая 7_М Шилово".
📍 "п. Ласьва, ул. Весенняя, д. 5" и "Весенняя 5_Ласьва".
📍 "Луговой пер 5, Краснокамск г" и "г. Краснокамск, пер. Луговой, 5".
📍 "д. Новая Ивановка, ул. Солнечная, 18" и "д.Новая Ивановка, ул.Солнечная, 18".

Уже выделенные отдельно адреса могут выглядеть как на скриншоте Экселя. А пример поставленной задачи может звучать так: «В реестре поданных объектов отметить все согласованные объекты (из общего списка согласованных)».

Если отбросить вариант ручного исполнения и обратиться к скриптам, то мне видится всего два решения:

✅ Использовать алгоритмы нечёткого сопоставления.
✅ Использовать геокодинг адресов.

Ищем приемлемый вариант сопоставления

Антиспам бот модератор в телеграм. Защищаем группу за три минуты

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

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

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

В статье вы найдете

ссылку на файлы проекта;

инструкцию, как его запустить без навыков программирования.

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

Читать далее

Руководство по восстановлению удаленных сообщений и медиаданных в Telegram

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

Удаление сообщений и файлов в Telegram часто воспринимается как необратимый процесс, но способ вернуть потерянные данные все же есть.

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

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

Восстановить!

Когда начинать ходить на собеседования продуктовому аналитику?

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

Этот вопрос волнует многих начинающих аналитиков и даже тех, кто уже частично освоил профессию, но не уверен, пришло ли время делать следующий шаг.

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

Читать далее

Делаем Телеграм-бота в Cursor AI без знания кода

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

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

С учетом моего ТЗ, стало понятно, что стандартные способы автоматизации типа IFFTS не подойдут, а существующие боты мне искать лень. Поэтому я решил сделать бота сам.

Недавно услышал про Cursor AI от Claude и уже успел протестировать его на другой задаче, поэтому был уверен, что он справится.

Читать далее

Зачем мы написали библиотеку для создания телеграм ботов на С++?

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


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

Вкратце - нет, если вы захотите написать телеграм бота, то вы (были) вынуждены делать это на python. Библиотеки на...

Читать далее

Архитектура для средненагруженных приложений: делюсь опытом и ищу ваши советы

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

Привет, коллеги! Меня зовут Санжар, я бэкенд-разработчик с опытом в настройке серверной инфраструктуры и контейнеризации для средних проектов. Сегодня хочу поделиться схемой архитектуры, которую я часто использую в своих проектах. Это не руководство к действию и не утверждение, что так нужно делать. Скорее, это возможность для меня получить обратную связь и узнать, как сделать лучше. Так что прошу вас, пишите свои идеи и советы в комментариях — это очень важно для меня. 🙂

Читать далее

Создание ETL-движка для репликации данных из Apache Hive в Clickhouse

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

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

Читать далее

Эконометрика в ритейле: как не потратить миллионы на заведомо неэффективные эксперименты

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

Всем привет! На связи команда ad-hoc аналитики X5 Tech. Если вы уже знакомы с нашими статьями, то наверняка знаете, что нашей ключевой темой является А/Б тестирование. Важной составляющей А/Б теста является дизайн: для успешного проведения эксперимента необходимо оценить размер пилотной и контрольной групп, зафиксировав предварительно ожидаемый эффект. Но возникает вопрос: как убедиться в обоснованности гипотезы и рассчитать ожидаемые эффекты от инициативы?

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

Читать далее

Контроль и порядок. Разворачиваем платформу учёта затравок для БЯМ

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

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

Под катом расскажу, как поднять платформу для учета и версионирования затравок Langfuse.

(Обложка сгенерирована DALL-E от OpenAI)

Читать далее

Гравитационные маневры

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

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

Читать далее

Практическое обучение с подкреплением: от забав с MuJoCo'м до битв на арене

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

Добрый день, уважаемые хабровчане! Я хочу поделиться с вами очень интересным проектом, над которым работал в последнее время.

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

Готовы? Тогда — вперед!

Внимание! Тяжёлые гифки под катом.

На арену!

Перенос JWT-токенов в куки: Django REST + React

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

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

Эта статья родилась из моего опыта реализации авторизации с использованием JWT-токенов, хранящихся в куки. Я решил поделиться этим опытом, чтобы зафиксировать свои знания и, возможно, помочь тем, кто столкнется с похожими задачами

Статья будет полезна тем, кто хочет разобраться в реализации авторизации с JWT-токенами в куки с помощью Django REST Framework.

Читать далее

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

Автотесты: что есть 100% покрытие API?

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

Ку! Меня зовут Евген, и я Автоматизатор тестирования на Python. В этой статье я расскажу как из вопроса ко мне «на сколько% у нас покрыта API автотестами?» Я выдал базу в виде регламента по автоматизации API.

Читать далее

Цикл в RegEx для поиска подстрок с условием

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

Я хочу поделиться своим изобретением, которое позволяет вам использовать только одно регулярное выражение, которое будет искать подстроку в строке с определенным условием. Если хотите, называйте это циклом в RegEx, которого раньше не существовало!

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

Посмотреть идеи и шаблоны

300k видеозаписей, наводим порядок

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

После того как мне удалось успешно разобраться с аудиозаписями и научиться легко клеить видео для домашнего видеоархива, мне пришла мысль: а почему бы все это не совместить? Можно ведь таким же образом распознать голоса на видео, сделать поиск, выложить куда‑нибудь для удобства доступа и резервирования. Сказано — сделано (ага, сейчас: «вошли и вышли, приключение на 20 минут»).

Читать далее

Как аналитику развернуть локальный эирфлоу и прокинуть хуки в бд?

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

Кому можем быть полезна эта статья?

В вашей компании вообще нету эирфлоу или аналога.

У вас есть эирфлоу но тестирование дага можете проводить только на проде, нету стейджа (деф контура). А если на прод еще и апрув нужен то это вообще сказка.

Вы еще не работает в компании, а на интервью уже спрашивают опыт (для джунов).

Читать далее

Видео Bad Apple в 6500 регулярных выражениях на базе поискового механизма vim

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

Если я хочу посмотреть видео — разве для этого обязательно покидать vim?

Что ж, прямо в заголовке этого поста я пообещал вам продемонстрировать Bad Apple в vim, пользуясь только поисковыми запросами. Вот Bad Apple в vim, всё, что здесь меняется — только поисковый запрос:

Читать далее

Полный цикл аналитической разработки за пару минут

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

Сталкивались ли вы в вашей компании с проблемами?

1. Невозможностью по быстрому создать таблицу. Вместо этого нужно катить миграцию, получать апрувы от DWH, следить за тем чтобы таблица была производительна и тд
2. Вам не нравится BI вашей компании или нравится но но хотелось бы делать визуализацию быстрее.

Если да, то эта статья для вас!

Читать далее

Signals в Django

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

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

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

Читать далее

Вклад авторов