Обновить
512K+

Python *

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

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

Как алгоритмы KMP и Boyer-Moore улучшают поисковые системы

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

Поисковые системы — без них не представить сегодняшний мир, они облегчают доступ к информации и улучшают пользовательский опыт. Однако, чтобы поисковая система работала эффективно, необходимы некоторые алгоритмы для обработки строк. Одни из них — Knuth-Morris-Pratt и Boyer-Moore.

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

Читать далее

Python. Внутреннее устройство множеств set и словарей dict. Часть 1 из 2

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

Типы dict и set в Python построены на основе хэш-таблиц. В этой статье объясняется как использование хэш-таблиц определяет сильные и слабые стороны этих типов контейнеров.

Вот некоторые вопросы, на которые отвечает эта статья:

• Насколько эффективны dict и set в Python?
• Почему элементы множества неупорядоченны?
• Почему мы не можем использовать любой объект Python в качестве ключа dict или элемента set?
• Почему порядок ключей dict зависит от порядка вставки?

Читать далее

Делаем новых людей за 12 строк кода: как с Python ускорить подготовку демо-стенда по HR планированию и соблюсти закон

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

Недавно мы с командой решили проверить возможность переноса существующих решений на базе Oracle Hyperion Planning на платформу «Форсайт», чтобы примерно понимать сложность, трудозатраты и сроки такого рода проектов. Второй задачей стало создание демо‑стенда для бюджетирования HR ресурсов в максимально короткие сроки. Тут звезды сошлись идеально: у нас есть готовая реализация на Oracle Hyperion Planning, есть дедлайн, который как всегда близок, а значит пришло время делать проект.

Читать далее

Базовые аспекты условных операторов в Python

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

Привет, Хабр! Меня зовут Дмитрий, я аналитик данных и программный эксперт на курсе Python для анализа данных в Яндекс Практикуме. Решил поделиться тем, как реализованы условные операторы в Python: статья поможет вам составить впечатление о Python и улучшит ваше понимание условных операторов, при этом изложенные ниже принципы могут помочь и в других языках программирования и в формулах Excel или гугл-таблиц.

Читать далее

Антипаттерны тестирования: как не стоит писать тесты в Python. Часть 1

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

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

В этой статье разберемся с тремя основными антипаттернами тестирования в Python.

Читать далее

Netflix знает о нас все?

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

От проката дисков до рекомендательных систем

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

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

Хотя все начиналось с DVD дисков и проката…

История Netflix началась в 1997 году, когда Рид Хастингс и Марк Рэндольф основали компанию в Скотс‑Вэлли, Калифорния. Первоначально Netflix позиционировалась как онлайн‑сервис по аренде DVD‑дисков, используя интернет для заказа и почтовую службу для доставки.

Читать далее

Telegram bot, взаимодействующий с API OpenAI без проксирования. Разработка на Python

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

Создадим бота, использующего API OpenAI. И так развернем его на сервере, чтобы не настраивать проксирование запросов к API OpenAI (который заблокирован для пользователей из России), и не использовать иностранные VPS.

Читать далее

Как использовать RFID считыватель с помощью Python

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

Возникла потребность сделать СКУД сервис на базе считывателей RFID меток Impinj R420. Поискав готовые варианты доступные для работы с Python наткнулся только на Impinj Speedway Connect — ПО, которое умеет слать считанные метки в реальном времени на ваш http API (например FastApi или Flask) и работает на RFID считывателях Impinj Speedway. Стоимость лицензии составляет около $250 за считыватель. Без лицензии вы можете использовать Speedway Connect в демонстрационном режиме с ограничением на 500 считываний меток до перезагрузки устройства.

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

Читать далее

Использование Manim + Python для визуализации. Перестановка (комбинаторика)

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

Несмотря на то, что математика сегодня — это глубокий андерграунд, работы 3Blue1Brown вдохновляют и пробуждают внутри что‑то из далёкого детства, где весь мир был непостижимой игровой площадкой, а из кислого были только муравьиные жопки. Чтобы хоть немного прикоснуться к прекрасному, мною была сделана попытка визуализировать простую формулу из комбинаторики. Делюсь опытом.

Читать далее

Недвижимость и ее инфляционная «защищенность» в реальных цифрах

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

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

Читать далее

Как я решил сделать серию видео про устройство интерпретатора CPython

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

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

Давайте знакомиться: меня зовут Никита Соболев, я core‑разработчик CPython, mypy и typeshed. Некоторое время назад я понял, что на русском языке довольно мало контента про устройство CPython внутри. В основном доклады с конференций и статьи. Где‑то про память, где‑то про GIL, где‑то про парсер. Но чтоб системно и по всем основным частям в одном месте — такого я не нашел.

И решил сделать своё! Под катом я расскажу, как я делаю «Лучший курс по Питону»* на ютюбе. Почему он бесплатный. И почему он такой, какой есть. А еще я расскажу, какая польза будет разработчикам от его просмотра.

Читать далее

Создание собственного API на Python (FastAPI): Авторизация, Аутентификация и роли пользователей

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

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

Как вы поняли из названия, сегодня мы поговорим про авторизацию и аутентификацию. Прежде чем вы приступите к прочтению статьи, настоятельно рекомендую вам ознакомиться с прошлым материалом по теме разработки собственного API через FastApi.

Читать далее

Как мы Zabbix с MaxPatrol подружили

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

Здравствуйте! Меня зовут Игорь, и я руковожу несколькими направлениями в команде DevOps-инженеров, включая направление мониторинга.

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

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

Читать далее

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

Работает — не трожь: зачем обновлять Python в долгоживущих проектах

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

Всем привет! Меня зовут Сергей Яхницкий. Я пишу на Python уже больше шести лет, техлид в Яндекс Такси, Python-евангелист и член Python-комитета Яндекса (аналог Python Steering Council).

Человек я простой, звёзд с Гитхаба не хватал: до того, как я устроился в Такси, я мирно писал маленькие бэкенды на Python. А потом меня прорвало: кодогенерации, CI/CD, кучи тестов, монорепа и прочее. Вот тут-то моя питоничья душа и воспряла. Решил я всё автоматизировать, обновить всё, что движется, а что не движется — подвигать и обновить. Из этого вышел мой рассказ.

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

Читать далее

Глубокое погружение в хуки pytest: как и зачем их использовать

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

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

Читать далее

Компилятор за выходные: наконец-то ассемблер

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

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

Ну а когда оно заработает, предлагаю решить задачу: как сэмулировать побитовые операции and-not-xor-or при помощи четырёх арифметических.

Читать далее

Парсинг Telegram-канала: Извлечение id комментаторов. Python + Telethon

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

Список подписчиков тг‑канала часто представляет собою священную тайну и просто так никто не станет делиться паствой трафиком. Поэтому получить конкретный список людей сложно, но вот комментаторов под постами никто не скрывает (возможно ли это?).

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

Читать далее

Программируем систему окружающей среды из игры Divinity: Original Sin 2 на Python

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

В этой статье мы попробуем запрограммировать логику работы поверхностей из Divinity: Original Sin 2, ролевой игры с пошаговой боевой системой от создателей Baldur's Gate 3. Суть системы в том, что заклинание или предмет может создать в игровом мире поверхность (облако пара, лёд) из пива, яда, нефти, огня и т. д. Каждая поверхность по‑своему взаимодействует с персонажами. Более того, под воздействием других заклинаний или предметов поверхности будут динамически меняться — их можно благословить или проклясть, прогреть или заморозить, наэлектризовать или полностью уничтожить.

Читать далее

Исследуя мир изображений: PicTrace и искусственный интеллект в действии

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

.В современном мире, где количество визуальной информации растет с каждым днем, умение быстро и точно находить аналогичные изображения становится все более важным. Представьте, что вы можете загрузить изображение, и в считанные секунды получить список самых похожих на него картинок из большой базы данных. Звучит интересно? Именно этого я добиваюсь достичь в своём веб‑приложение — PicTrace.

Что же такое PicTrace и как эта платформа помогает решать такие задачи? Каким образом она использует мощь OpenCV и TensorFlow для обработки изображений? Почему сочетание структурного сравнения и ключевых точек делает мой подход интересным?

Читать далее

Бутстрап и доверительные интервалы: от теории к практике на Python

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

Привет!

Бутстрап — мощный статистический метод, позволяющий оценить распределение выборочных статистик. В Data Science бутстрап применяется в большом спектре задач.

В статье я постараюсь понятным языком рассказать про особенности, ограничения и сценарии применения бутстрапа, а также я познакомлю вас с различными схемами бутстрапа: Эфронов интервал (простой, но дает смещенную оценку), интервал Холла (несмещенный за счет центрирования) и t-процентильный интервал (несмещенный, шире других, лучшая асимптотика).

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

Читать далее