![](https://webcf.waybackmachine.org/web/20240720165934im_/https://habrastorage.org/r/w780/getpro/habr/upload_files/c98/818/099/c98818099494c751c6d5b04a3b45a877.jpg)
Глубокое погружение в возможности gRPC на Python: перехватчики, трассировка, рефлексия и потоки данных.
Высокоуровневый язык программирования
Глубокое погружение в возможности gRPC на Python: перехватчики, трассировка, рефлексия и потоки данных.
Друзья, приветствую! Сейчас наблюдается невероятный интерес к телеграмм игре Hamster Kombat. Все тапают этого несчастного хомяка в надежде, что когда-то можно будет продать монеты за реальные деньги. Пока мы все в ожидании, давайте я расскажу, как автоматизировать процесс фарма и тапанья хомяка через Python, используя один интересный проект.
В завершении статьи я поделюсь с вами двумя способами, которые позволят развернуть нашего бота удаленно.
Продолжение Части 1
4. Хэш-таблицы в dict
4.1. Как компактный dict
экономит место и сохраняет порядок
4.2 Алгоритм добавления элементов в компактный dict
4.3. dict
с общим доступом к ключам
4.4. Практические выводы по тому как работает dict
Стоит ли использовать django в 2024? Я думаю - да. DRF очень удобен, скорость разработки очень высока(особенно, если использовать generic views, django-filters), огромное количество готовых батареек сильно облегчает жизнь и встроенная админка хорошо подходит для большинства сайтов. Полностью асинхронные фреймворки(или переход на другой язык) не дадут большого выиграша, если ваш сервис много работает в БД - вы упретесь в её производительность и ограничения количества соединений с пулом бд. Далее я вкратце пробегусь по основным моментам и дам ссылки на документацию и готовые батарейки.
Столкнувшись со шквалом задач разной степени важности, 3 года назад я принял решение начать записывать задачи в планер/to do list который было бы удобно вести и с телефона, и с ноутбука. Выбор пал на Notion, как на популярную межоперационную платформу. За время использования планера было выполнено множество разных задач, и стало интересно провести некоторый анализ того, как и на что уходило время...
В повседневных задачах есть множество инструментов для работы с различными форматами данных, такими как JSON, TOML, YAML и другими.
msgspec
— это инструмент, который может работать со всеми этими форматами и при этом быть быстрым и простым в использовании. Для всех форматов один импорт, что в рамках работы с данной библиотекой является преимуществом. Если вам необходимо парсить много разных форматов данных, то эта библиотека точно подойдет вам.
Поисковые системы — без них не представить сегодняшний мир, они облегчают доступ к информации и улучшают пользовательский опыт. Однако, чтобы поисковая система работала эффективно, необходимы некоторые алгоритмы для обработки строк. Одни из них — Knuth-Morris-Pratt и Boyer-Moore.
Их мы и рассмотрим в сегодняшней статье, начнем с первого.
Типы dict
и set
в Python построены на основе хэш-таблиц. В этой статье объясняется как использование хэш-таблиц определяет сильные и слабые стороны этих типов контейнеров.
Вот некоторые вопросы, на которые отвечает эта статья:
• Насколько эффективны dict
и set
в Python?
• Почему элементы множества неупорядоченны?
• Почему мы не можем использовать любой объект Python в качестве ключа dict
или элемента set
?
• Почему порядок ключей dict
зависит от порядка вставки?
Недавно мы с командой решили проверить возможность переноса существующих решений на базе Oracle Hyperion Planning на платформу «Форсайт», чтобы примерно понимать сложность, трудозатраты и сроки такого рода проектов. Второй задачей стало создание демо-стенда для бюджетирования HR ресурсов в максимально короткие сроки. Тут звезды сошлись идеально: у нас есть готовая реализация на Oracle Hyperion Planning, есть дедлайн, который как всегда близок, а значит пришло время делать проект.
Привет, Хабр! Меня зовут Дмитрий, я аналитик данных и программный эксперт на курсе Python для анализа данных в Яндекс Практикуме. Решил поделиться тем, как реализованы условные операторы в Python: статья поможет вам составить впечатление о Python и улучшит ваше понимание условных операторов, при этом изложенные ниже принципы могут помочь и в других языках программирования и в формулах Excel или гугл-таблиц.
Тестирование — это не просто написание кода, который проверяет другой код. Это в самом деле настоящее мастерство, требующее тщательной проработки, чтобы избежать ошибок, способных затруднить работу.
В этой статье разберемся с тремя основными антипаттернами тестирования в Python.
От проката дисков до рекомендательных систем
Представьте себе, сколько компании вкладывают, чтобы подманить вас к товару. Сегодня будто не спрос рождает предложение, а предложение взывает к желаниям.
Рекомендательные системы Netflix разрабатывались для повышения общего стримингового времени, продления подписки. Нужно, чтобы поток сериалов так и лился в ваши головы, а вы неустанно тыкали на кнопку подписки каждый месяц или не вздумывали даже ее отменять.
Хотя все начиналось с DVD дисков и проката…
История Netflix началась в 1997 году, когда Рид Хастингс и Марк Рэндольф основали компанию в Скотс‑Вэлли, Калифорния. Первоначально Netflix позиционировалась как онлайн‑сервис по аренде DVD‑дисков, используя интернет для заказа и почтовую службу для доставки.
Создадим бота, использующего API OpenAI. И так развернем его на сервере, чтобы не настраивать проксирование запросов к API OpenAI (который заблокирован для пользователей из России), и не использовать иностранные VPS.
Возникла потребность сделать СКУД сервис на базе считывателей RFID меток Impinj R420. Поискав готовые варианты доступные для работы с Python наткнулся только на Impinj Speedway Connect — ПО, которое умеет слать считанные метки в реальном времени на ваш http API (например FastApi или Flask) и работает на RFID считывателях Impinj Speedway. Стоимость лицензии составляет около $250 за считыватель. Без лицензии вы можете использовать Speedway Connect в демонстрационном режиме с ограничением на 500 считываний меток до перезагрузки устройства.
В этой статье вы узнаете, как использовать и подключить RFID считыватель поддерживающий протокол LLRP, используя только Python. Мы подробно рассмотрим все шаги, от подключения считывателя к роутеру до настройки конфигурации и обработки меток.
Несмотря на то, что математика сегодня — это глубокий андерграунд, работы 3Blue1Brown вдохновляют и пробуждают внутри что‑то из далёкого детства, где весь мир был непостижимой игровой площадкой, а из кислого были только муравьиные жопки. Чтобы хоть немного прикоснуться к прекрасному, мною была сделана попытка визуализировать простую формулу из комбинаторики. Делюсь опытом.
Статья посвящена небольшому личному исследованию по изменению стоимости квадратного метра в Варшаве, Минске, Москве и Санкт-Петербурге. Для простоты и скорости везде использовал chatgpt-4 с последующей ручной перепроверкой всех выдаваемых значений. Будет много неожиданных результатов и занимательных графиков, так что приступим!
Привет, Хабр!
Давайте знакомиться: меня зовут Никита Соболев, я core‑разработчик CPython, mypy и typeshed. Некоторое время назад я понял, что на русском языке довольно мало контента про устройство CPython внутри. В основном доклады с конференций и статьи. Где‑то про память, где‑то про GIL, где‑то про парсер. Но чтоб системно и по всем основным частям в одном месте — такого я не нашел.
И решил сделать своё! Под катом я расскажу, как я делаю «Лучший курс по Питону»* на ютюбе. Почему он бесплатный. И почему он такой, какой есть. А еще я расскажу, какая польза будет разработчикам от его просмотра.
Друзья, приветствую! К сожалению, не хватает времени, чтобы чаще публиковаться, и надеюсь, что вы ждали этой статьи.
Как вы поняли из названия, сегодня мы поговорим про авторизацию и аутентификацию. Прежде чем вы приступите к прочтению статьи, настоятельно рекомендую вам ознакомиться с прошлым материалом по теме разработки собственного API через FastApi.
Здравствуйте! Меня зовут Игорь, и я руковожу несколькими направлениями в команде DevOps-инженеров, включая направление мониторинга.
Сегодня я хочу рассказать вам о нашем уникальном решении для Zabbix. Это решение позволяет быстро уведомлять о найденных уязвимостях, формировать список этих уязвимостей и предоставлять дополнительную информацию о них.
Возьмите вкусняшек, чайку и присаживайтесь поудобнее.
Всем привет! Меня зовут Сергей Яхницкий. Я пишу на Python уже больше шести лет, техлид в Яндекс Такси, Python-евангелист и член Python-комитета Яндекса (аналог Python Steering Council).
Человек я простой, звёзд с Гитхаба не хватал: до того, как я устроился в Такси, я мирно писал маленькие бэкенды на Python. А потом меня прорвало: кодогенерации, CI/CD, кучи тестов, монорепа и прочее. Вот тут-то моя питоничья душа и воспряла. Решил я всё автоматизировать, обновить всё, что движется, а что не движется — подвигать и обновить. Из этого вышел мой рассказ.
Этот пост широко освещает изменения последних нескольких лет и куда в принципе движется Python. Пост будет полезен как новичкам, которые только ещё изучают Python, так и опытным специалистам, которые думают о языке разработки в долгосрочной перспективе.