Обновить
782.12

Python *

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

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

Освоение gRPC на Python: Продвинутые техники. Часть III

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

Глубокое погружение в возможности gRPC на Python: перехватчики, трассировка, рефлексия и потоки данных.

Читать далее

Hamster Kombat: автоматизация фарма и тапанья хомяка через Python с деплоем

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

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

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

Читать далее

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

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

Продолжение Части 1

4. Хэш-таблицы в dict
4.1. Как компактный dict экономит место и сохраняет порядок
4.2 Алгоритм добавления элементов в компактный dict
4.3. dict с общим доступом к ключам
4.4. Практические выводы по тому как работает dict

Читать далее

Оптимизация запросов к БД на django

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

Стоит ли использовать django в 2024? Я думаю — да. DRF очень удобен, скорость разработки очень высока (особенно, если использовать generic views, django‑filters), огромное количество готовых батареек сильно облегчает жизнь и встроенная админка хорошо подходит для большинства сайтов. Полностью асинхронные фреймворки (или переход на другой язык) не дадут большого выиграша, если ваш сервис много работает в БД — вы упретесь в её производительность и ограничения количества соединений с пулом бд. Далее я вкратце пробегусь по основным моментам и дам ссылки на документацию и готовые батарейки.

Читать далее

3 года заметок в Notion: анализ и визуализация

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

Столкнувшись со шквалом задач разной степени важности, 3 года назад я принял решение начать записывать задачи в планер/to do list который было бы удобно вести и с телефона, и с ноутбука. Выбор пал на Notion, как на популярную межоперационную платформу. За время использования планера было выполнено множество разных задач, и стало интересно провести некоторый анализ того, как и на что уходило время...

Читать далее

msgspec. Библиотека для сериализации и десериализации чего угодно

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

В повседневных задачах есть множество инструментов для работы с различными форматами данных, такими как JSON, TOML, YAML и другими.

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Возникла потребность сделать СКУД сервис на базе считывателей 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 мин
Охват и читатели4.4K

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее