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

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

     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

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

Облака атомных колебаний

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

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

Логирование в Python: руководство разработчика

Сталкивались ли вы с трудностями при отладке Python-кода? Если это так — то изучение того, как наладить логирование (журналирование, logging) в Python, способно помочь вам упростить задачи, решаемые при отладке.

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

Асинхронный django: status update

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

Проект называется vinyl. У него есть репозиторий. Пользоваться им можно и нужно! Про то, как это делать, можно узнать из README - я думаю, всё вполне соответствует ожиданиям от асинхронной версии. Здесь я хочу рассказать про то, что, как говорится, удалось узнать в процессе.

     27.08.2022       Выпуск 453 (22.08.2022 - 28.08.2022)       Статьи

Анализ различий подачи новостей в Telegram-каналах

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

     25.08.2022       Выпуск 453 (22.08.2022 - 28.08.2022)       Статьи

Jira, Jirа! Повернись к лесу задом, ко мне передом

Повсеместная цифровизация не только в телевизоре. Она теперь повсюду нас окружает, на работе и не только. Типичным представителем являются трекеры действий (системы Сервис Деск, проектные системы, документообороты и пр.). Общей болевой точкой всех этих систем являются сложная объектная и процессная модель и фокус на поддержку операционного обслуживания. Шаг влево или вправо в попытках понять всю картину целиком повергает аналитиков в уныние и порождает безуспешные проекты на многие месяцы. А вопрос этот висит в воздухе, в том или ином виде, почти ежедневно.

 

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

     25.08.2022       Выпуск 453 (22.08.2022 - 28.08.2022)       Статьи

Blender, захват движения, нейронные сети

Blender отличный 3d редактор, открытый документированный код, убирает ограничения в реализации творческих фантазий. Большая "фанатская база" сгенерировала решения под разные задачи, ускоряя творческий процесс. Периодически получаю практический опыта в Blender, главное в саморазвитие, ставить цель c желаемым результатом, повторение действий из уроков не рабочий способ получения знаний для меня. Выбираю цель, с учетом собственного интереса, предварительно проверяю на отсутствие готового решения, что бы не лишить себя этапов развития. Моим критериям соответствует - анимация персонажа в Blender, с использованием нейронных сетей. Существуют статьи, видео, рабочие коммерческие решения, но нет готового подходящего мне, только части головоломки которые нужно собрать.

     24.08.2022       Выпуск 453 (22.08.2022 - 28.08.2022)       Статьи

Крах на финишной прямой, или как написать нетестируемый код

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

     24.08.2022       Выпуск 453 (22.08.2022 - 28.08.2022)       Статьи

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

В последнее время всё большее число компаний внедряют в свою работу различные облачные сервисы, такие как CRM системы, системы управления складом, автоматизация записи клиентов и др. Рано или поздно любой бизнес сталкивается с необходимостью анализировать данные. Облачные системы в большинстве случаев имеют ряд готовых отчетов. Но если требуется более детальный анализ, то данные, как правило, можно забрать с помощью  API и поместить во внешнюю базу (хранилище данных), с которым уже удобно работать аналитикам.

     24.08.2022       Выпуск 453 (22.08.2022 - 28.08.2022)       Статьи

Все, что вам нужно знать об Airflow DAGs, ч.3.1 — Создание шаблонов

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

     23.08.2022       Выпуск 453 (22.08.2022 - 28.08.2022)       Статьи

12 мобильных офлайн-игр, чтобы научить ребенка программировать

Учить детей программировать с помощью мобильных игр – это уже классика. Собрала для вас подборку 12 игр и каждую протестировала. Есть варианты для дошкольников и школьников. Приложения работают в офлайн-режиме, поэтому можно отключить интернет и спокойно оставить малыша с телефоном. Он ничего случайно не купит и не зайдет, куда не нужно. И заниматься можно в любом месте, даже на даче с плохой связью! 

     23.08.2022       Выпуск 453 (22.08.2022 - 28.08.2022)       Статьи

Подбираем скины в Counter-Strike: Global Offensive в цвет сумочки

Многопользовательская Counter-Strike: Global Offensive наполнена различными раскрасками для оружия разной степени редкости и привлекательности. Некоторые игроки гонятся за уникальными скинами, а другие выбирают на основе субъективного вкуса. Помимо официальной торговой площадки Steam, скины можно купить на сторонних ресурсах, доверие к которым невелико. Но в обоих случаях нет фильтра по цвету.

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