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

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

     28.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Json api сервис на aiohttp: middleware и валидация

В этой статье я опишу один из подходов для создания json api сервиса с валидацией данных.

 

Сервис будет реализован на aiohttp. Это современный, постоянно развивающийся фреймворк на языке python, использующий asyncio.

     27.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Машина опорных векторов в 30 строчек

В этой статье я расскажу как написать свою очень простую машину опорных векторов без scikit-learn или других библиотек с готовой реализацией всего в 30 строчек на Python. Если вам хотелось разобраться в алгоритме SMO, но он показался слишком сложным, то эта статья может быть вам полезна.

     27.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Соглашение Эйнштейна и einsum

Удивительное дело, но в русскоязычном сегменте интернета почти нет материала, разъясняющего понятным языком соглашение Эйнштейна о суммировании. Не менее удивительно то, что материалов, позволяющих понять принцип работы функции einsum в русскоязычном интернете ещё меньше. На английском есть довольно развёрнутый ответ о работе einsum на stack overflow, а на русском только некоторое число сайтов, предоставляющих кривой перевод этого самого ответа. Хочу исправить эту проблему с недостатком материалов.

     26.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Шаги построения рекомендательной системы в обучении персонала

Широкое распространение в последние годы получили программы, которые пытаются предсказать, какие объекты будут интересны пользователю, имея определенную информацию о его профиле. До 2006 года такие алгоритмы не пользовались популярностью. Но все изменилось осенью 2006 года, когда компания Netflix предложила разработчикам 1 000 000$ за лучший алгоритм предсказания. Конкурс продлился 3 года.

     26.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Python в Visual Studio Code – февральский релиз 2021

Мы рады сообщить, что стал доступен релиз расширения Python для Visual Studio Code от февраля 2021 года. Вы можете загрузить расширение Python из Marketplace или установить его прямо из галереи расширений в Visual Studio Code. Если у вас уже установлено расширение Python, вы также можете получить последнее обновление, перезапустив Visual Studio Code. Вы можете узнать больше о поддержке Python в Visual Studio Code в документации.

Этот выпуск включает интеграцию с TensorBoard и улучшения работы с кодом с использованием Pylance. Если вам интересно, вы можете изучить полный список улучшений в нашем журнале изменений.

     25.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Расширяющийся нейронный газ

При проведении проверок с использованием моделей машинного обучения одной из часто решаемых задач является задача кластеризации. Например, необходимо разбить на несколько кластеров отзывы клиентов на мобильное приложение (задача тематического моделирования). Для задач кластеризации часто используют модель k-means. Это обусловлено её простотой и понятностью. Однако, у этого алгоритма есть один большой недостаток - необходимость изначально задать число кластеров. Эта проблема прекрасно решается с помощью расширяющегося нейронного газа. Расширяющийся нейронный газ строит граф, пытаясь приблизить распределение данных.

     24.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Семейный бюджет, Google sheets и Python

Сегодня расскажу еще одну историю из своей жизни - в этот раз не про свой “чудо-сервер” в двух частях, а про что-то более приземленное, но так или иначе связанное с технологиями. По моему субъективному мнению подсчет личных финансов крайне полезное занятие и я очень надеюсь, что данная статья замотивирует вас или поможет вам начать “считать деньги” и не влезать в кредиты и т.п.

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

     24.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Application performance management (APM) от Broadcom для мониторинга производительности приложений (включая мобильные)

В этой статье расскажем о возможностях мониторинга производительности приложений одного из лидеров квадранта Gartner c APM-решениями — Broadcom. Appdynamics, Dynatrace и New Relic достаточно известны на российском рынке. Broadcom чуть менее знаком, этакая серая лошадка, однако, имеет не уступающий всем троим функционал мониторинга приложений. А использование APM-решения от Broadcom в комплексе с другим их продуктом, зонтичной AIOps-системой DX Operations Intelligence, позволит создать единое окно мониторинга для разнокалиберного ПО и инфраструктуры. Под катом текст и скриншоты.

     24.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Опыт написания IDL для embedded

Я при работе с микроконтроллерами часто сталкивался с бинарными протоколами. Особенно, когда есть несколько контроллеров. Или же используется bluetooth low energy и необходимо написать код для обработки бинарных данных в характеристике. Помимо кода всегда требуется понятная документация.

Всегда возникает вопрос - а можно ли описать как-то протокол и сгенерировать на все платформы код и документацию? В этом может помочь IDL.

     24.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Import or from import, that is the question

Есть три стадии знаний: ты используешь инструмент, ты понимаешь как он работает, ты можешь учить других работать этим инструментом. Потихонечку начал перетекать в третью и стал задавать себе вопросы, которые раньше не задавал. Например, что лучше: import module или from module import function? Я решил разобраться в этом чуть поглубже, ответы на StackOverflow меня не удовлетворили. Для тех, кому лень читать: все варианты хороши.

     23.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Языку программирования Python исполнилось 30 лет

Время идет быстро, и Python, одному из самых популярных языков программирования современности, исполнилось 30 лет. Впервые о нем стало известно в конце февраля 1991 года, когда Гвидо ван Россум опубликовал первый выпуск Python в группе alt.sources. Работа над языком велась два года, изначальной задачей было создание скриптового языка для работы с операционной системой Amoeba. Язык этот должен был быть более высокого уровня, чем Си, плюс представлял бы удобный доступ к системным вызовам операционной системы.

     22.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Краткость — сестра таланта: Как сделать Transformer/Summarizer на Trax

В новой курсеровской специализации «NLP» от deeplearning.ai в качестве библиотеки глубокого обучения используется Trax. В последнем курсе подробно разбирается механизм внимания и его использование в архитектуре Transformer, в том числе в таких «новеллах» как BERT и T5. Имея некоторое количество свободного времени специализацию можно пройти за несколько недель, что я собственно и сделал, соблазнившись возможностью построить собственный трансформер. Очень хотелось сделать модель, которая может работать с текстами на русском языке.

     22.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Продолжаем прокачивать Ansible

Vladislav ? Shishkov, [17.02.21 20:59] Господа, есть два вопроса, касаются кастомной долгой операции, например, бекапа: 1. Можно ли через ансибл прикрутить прогрессбар выполнения кастомного баша? (если через плагин, то пните в какой-нибудь пример или документацию плиз) 2. Вроде хочется для этого баша написать плагин, но встает вопрос, как быть и как решать моменты выполнения, которые идемпотентны?

     20.02.2021       Выпуск 374 (15.02.2021 - 21.02.2021)       Статьи

Поддержка токенов PKCS#11 с ГОСТ-криптографией в Python. Часть I

Поддержка криптографических токенов PKCS#11 с российской криптографией в скриптовых языках (Python, Tcl) давно находится в моём поле зрения. Это, прежде всего, пакет TclPKCS11 и реализованная на его базе кроссплатформенная утилита cryptoarmpkcs. Утилита cryptoarmpkcs написана на tcl/tk и функционирует на различных платформах, включая Android. Пакет TclPKCS11 версии 1.0.0 заточен на работу именно с токенами, поддерживающими ГОСТ Р 34.11-2012 и ГОСТ Р 34.10-2012. Он позволяет генерировать ключевые пары по ГОСТ Р 34.10-2012 с длиной закрытого ключа 256 и 512 бит, формировать и проверять электронную подпись. Все это можно наглядно видеть в утилите cryptoarmpkcs, в которой в качестве криптодвижка используется именно этот пакет

     20.02.2021       Выпуск 374 (15.02.2021 - 21.02.2021)       Статьи

Ускоряем код на Python с помощью Nim

Nim – статически типизированный, компилируемый, объектно-ориентированный язык программирования. Nim создавался, чтобы быть таким же быстрым как С и таким же выразительным как Python, и к тому же, расширяемым как Lisp. Благодаря синтаксическому сходству с Python, Nim станет отличным выбором языка для расширения, если с C вам не по пути.

     17.02.2021       Выпуск 374 (15.02.2021 - 21.02.2021)       Статьи

Как образовательный коптер помогает научиться программировать на Python, и что не так с Lua

Почти 4 года прошло с выпуска первой статьи об учебном квадрокоптере Геоскан Пионер. За это время формат конструктора для сборки учебного квадрокоптера успел набрать популярность - он хорошо подходит как для организации учебного процесса со школьниками или студентами, так и для использования на различных хакатонах, соревнованиях, или при выполнении на его базе исследовательских проектов.

     16.02.2021       Выпуск 374 (15.02.2021 - 21.02.2021)       Статьи

Подбор гиперпараметров ML-модели с помощью HYPEROPT

В машинном обучении гиперпараметрами называют параметры модели, значения которых устанавливаются перед запуском процесса её обучения. Ими могут быть, как параметры самого алгоритма, например, глубина дерева в random forest, число соседей в knn, веса нейронов в нейронный сетях, так и способы обработки признаков, пропусков и т.д. Они используются для управления процессом обучения, поэтому подбор оптимальных гиперпараметров – очень важный этап в построении ML-моделей, позволяющий повысить точность, а также бороться с переобучением. На сегодняшний день существуют несколько популярных подходов к решению задачи подбора