IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
читайте нас в Twitter

     06.09.2022       Выпуск 455 (05.09.2022 - 11.09.2022)       Статьи

Планируем идеальный поход с NetworkX и OpenStreetMap

Как создать приложение с открытым кодом для планирования пеших походов и выбора оптимального маршрута? Любой заядлый турист знает: всё, что ждёт его в походе, зависит от подготовки.

     06.09.2022       Выпуск 455 (05.09.2022 - 11.09.2022)       Статьи

Разработка «зрелищной» программы. Интерфейс оператора, GUI и маркетинг

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

     05.09.2022       Выпуск 455 (05.09.2022 - 11.09.2022)       Статьи
     05.09.2022       Выпуск 455 (05.09.2022 - 11.09.2022)       Статьи

REST API на основе Snake (Python, Mamba, Hydra и Fast API)

Сегодня я хочу попробовать что-то новое и начну исследовать мир Python. В этой статье представлен пошаговый туториал по реализации простого REST API при помощи Python, Fast API, Hydra и Mamba.

     05.09.2022       Выпуск 455 (05.09.2022 - 11.09.2022)       Статьи

Заметки дата-инженера: интеграция Kafka и PySpark

Данная статья будет полезна тем, чья деятельность связана с Data Engineering, и тем, кто только знакомится с этой славной профессией. Вы узнаете про особенности настройки и интеграции Kafka со Structured Streaming, а также увидите различные способы чтения данных, работы с водяными метками и скользящим окном.

     03.09.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Использование slots | Python

Эта статья вдохновлена моим обучением. Когда я только начинал свой Python-way, на одном из форумов увидел новое для себя понятие - слоты. Но сколько я не искал, в сети было крайне мало статей на эту тему, поэтому понять и осознать слоты было достаточно сложно. Данная статья призвана помочь начинающим в этой теме, но даже опытные разработчики, уверен, найдут здесь нечто новое.

     02.09.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Что было в голове у Гвидо, когда он создавал Python

На Хабре уже описывали историю создания Python. Но мы решили не просто пересказать события ещё раз, а увидеть их глазами Гвидо ван Россума: что он сам думал обо всём происходящем? Поэтому нашли и перевели ранние высказывания, которые помогают лучше понять, почему Python стал именно таким и что определило его популярность.

     02.09.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Груг против сложности. Я пролинтил все посты на Хабре про Python, и вот что я нашёл

В какой-то момент времени я превратился в педанта брюзгу. В фильмах малейшие нестыковки и провалы в логике портят мне весь просмотр. В чатах меня бесит it's вместо its. А в статьях про программирование... Всё плохо. За меня всё уже сказал @AlexanderAstafiev, я лишь процитирую:Простите, я не могу так больше. Я слишком хорошо знаю Python, чтобы молчать при виде такого кода. Я устал. Я не могу это читать. Простите за токсичную критику, накипело.Самое забавное, что, по моим ощущениям, везде я вижу одни и те же классы проблем. Я даже запилил сервис, где можно закинуть код и получить код ревью, и, собрав немного статистики, понял, что 50 типов ошибок достаточно, чтобы покрыть большую часть проблем в чужом коде. Но выборка у меня была небольшая, и я подумал: а что, если проверить много кода? И всё заверте...

     02.09.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Best Practices для Python

У всех разработчиков со временем нарабатывается опыт, растёт экспертиза. Когда вы много лет занимаетесь разработкой, приходит понимание каких-то общих концепций, вырабатываются правила поведения в конкретных сценариях.

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

     02.09.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Web3.0 на Python, часть 1: основы

Начиная знакомиться с Web3, было сложно найти в одном месте понятные примеры базовых операций на Web3Py. Например: просмотр баланса, отправка транзакций, минтинг NFT, взаимодействие с контрактами и тд. В этой статье я попытался собрать примеры, которые покрывают > 90% потребностей для разработки бэкенда для web3 приложений. Кстати, все примеры будут применимы и для Web3.js с поправкой на название методов и синтаксис.

     01.09.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Контроль уровня заряда батарей raspberry pi с выводом аудио оповещения

Возникла ситуация, когда необходимо выводить звук-предупреждение о разряде ибп raspberry pi.
В статье предлагается решение с использованием датчика напряжения (Voltage Sensor), arduino nano и «любимой аудио колонки школьника» — портативной «jbl go».

     01.09.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Как не быть программистом, раскурить eBPF за сутки и начать мониторить DNS

Представим: сервер может отправлять легитимные запросы, но IP, на которые он будет их слать, неизвестны. В журнале сетевого фильтра видно что запросы таки да, идут. Но не ясно - это как раз легитимные или информация уже утекает к злоумышленникам? Было бы проще если бы был известен домен на который сервер посылает данные. Увы, но PTR не в моде, а securitytrails показывает или ничего, или слишком много по этому IP.

     31.08.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Найти вероятность выпадения k (сумма выпавших значений) при бросании n кубиков (часть 2 из 2)

Продолжаем решать задачу описанную в предыдущей статье: Есть n стандартных игральных костей (6-ти гранных кубиков) со стандартным обозначением всех граней от 1 до 6. Бросаем все n кубики разом. Нужно найти вероятность выпадения числа k, а именно суммы всех значений, выпавших на этих кубиках. Доходим до 1000 кубиков.

     31.08.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Оптимизационные задачи в ритейле

Цели данной статьи:

  • рассказать про задачи в ритейле, которые могут решаться методами оптимизации,

  • продемонстрировать, как модельная задача ценообразования решается пакетами Pyomo и SciPy,

  • сравнить производительность солверов* Pyomo и SciPy на примере поставленной задачи.

     31.08.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Как выбрать в Python подходящий конкурентный API

В стандартной библиотеке Python (stdlib) предлагается три способа для конкурентного выполнения задач в программе — это модуль multiprocessing для конкурентности на уровне процессов, модуль threading для конкурентности на уровне потоков, а также модуль asyncio для конкурентности на основе корутин. Выбор такой широкий, что можно запутаться.

     31.08.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Паттерны взаимодействия с ботами в Telegram: неочевидные практики на Python и баг в мессенджере

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

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

     31.08.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Проверка нормальности распределения с использованием критерия Эппса-Палли средствами Python

Методический разбор для специалистов DataScience по применению критерия Эппса-Палли для проверки нормальности распределения средствами python

     30.08.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Как и почему перешли с Python на Go в основном сервисе рекомендаций Авито

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

     30.08.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Можно, но лучше не стоит: разбираемся в связях между объектами, функциями, генераторами и сопрограммами

Давайте проведём исследование некоторых взаимосвязей функций, объектов, генераторов и корутин в Python. На уровне теории, каждая из этих концепций очень сильно отличается от других; но динамическая природа языка позволяет им заменять друг друга на практике. Предупреждаю: мы рассмотрим рабочие, но очень странные примеры кода; я не советую вам применять их в реальных проектах!

     30.08.2022       Выпуск 454 (29.08.2022 - 04.09.2022)       Статьи

Мифы и легенды современного Python

Часто сталкиваемся с легендой, что для задачи, которая встает перед программистами, есть какой-то волшебный, лучший инструмент. К примеру, если вы хотите сделать что-нибудь бэкендовое, вам обязательно нужен PHP. А если вы хотите создать крутой современный фронтенд, то без JavaScript вам делать нечего. Если же вы такой хипстер, что хотите быстро делать фулстек фичи, то вам просто необходим Ruby. И, наконец, если у вас ML, artificial intelligence, big data или просто вам на бэкенде нужен какой-то клей, чтобы работать с данными, то вам жизненно необходим Python