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

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

     22.02.2019       Выпуск 270 (18.02.2019 - 24.02.2019)       Статьи

Опыт построения инфраструктуры на микросервисной архитектуре

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

 

У нас в небольшом банке были большие проблемы: 3 python монолита связанных чудовищным количеством синхронных RPC взаимодействий с большим объемом legacy. Что бы хотя бы отчасти решить все возникающие при этом проблемы было принято решение перейти на микросервисную архитектуру. Но прежде чем решиться на такой шаг нужно ответить на 3 основных вопроса:

 

  • Как разбить монолит на микросервисы и какими критериями следует при этом руководствоваться.
  • Каким образом микросервисы будут взаимодействовать?
  • Как осуществлять мониторинг?

     21.02.2019       Выпуск 270 (18.02.2019 - 24.02.2019)       Статьи

OpenAI Gym+ROS+Gazebo: обучение автономного робота в домашних условиях. Часть 1

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

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

     21.02.2019       Выпуск 270 (18.02.2019 - 24.02.2019)       Статьи

Jupyter Notebook в Netflix

В последнее время Jupyter Notebook стал очень популярен среди специалистов Data Science, став де-факто стандартом для быстрого прототипирования и анализа данных. В Netflix, стараемся раздвинуть границы его возможностей еще дальше, переосмысливая то, чем может быть Notebook, кем может быть использован, и что они могут могут с ним делать. Мы вкладываем много сил, чтобы воплотить наше видение в реальность.

 

В данной статье мы хотим рассказать почему считаем что Jupyter Notebooks настолько привлекательным и что вдохновляет нас на этом пути. Кроме того, опишем компоненты нашей инфраструктуры и сделаем обзор новых способов использования Jupyter Notebook в Netflix.

     20.02.2019       Выпуск 270 (18.02.2019 - 24.02.2019)       Статьи

Жизненный цикл статьи на Хабре: пишем хабрапарсер. Часть вторая

В первой части пятничного анализа была рассмотрена методика сбора некоторой статистики этого замечательного сайта. Изначально не было плана делать продолжение, но в комментариях возникли интересные мысли, которые захотелось проверить. Например, какие статьи имеют больше просмотров, опубликованные в будние или в выходные дни?

     20.02.2019       Выпуск 270 (18.02.2019 - 24.02.2019)       Статьи

Как мы решали задачу продолжения плейлистов на RecSys Challenge и заняли 3 место

В 2018 наша команда традиционно приняла участие в RecSys Challenge. Это ежегодный конкурс по рекомендательным системам, проводимый в рамках конференции RecSys. Он не такой масштабный, как конкурсы на Kaggle, но считается одним из самых престижных соревнований по рекомендательным системам. В этот раз задача была музыкальной — нужно было построить систему автоматического продолжения плейлистов. В этом посте я подробно рассказываю о нашем решении. Приглашаю под кат.

     19.02.2019       Выпуск 270 (18.02.2019 - 24.02.2019)       Статьи

Sublime Text и Language Server Protocol

Language Server Protocol (LSP) Language Server Protocol (LSP) - протокол для общения между IDE и языковым сервером. Сервер предоставляет такие функции, как автокомплит, переход к функции (goto) и прочее. Т.е. когда IDE нужно показать автокомплит на языке, скажем, python - происходит запрос к специальному серверу. В ответе возвращаются необходимые данные, которые IDE уже может отобразить. Радует то, что это инициатива крупной компании - Microsoft. Но в чем же смысл, ведь в большинстве IDE это итак уже работает ...

     19.02.2019       Выпуск 270 (18.02.2019 - 24.02.2019)       Статьи

Прогноз состояния VoIP-сети на основе текстовых лог-файлов SIP-сервера приложений

Контроль за состоянием сигнальной сети VoIP является одним из важных условий, позволяющих UCaaS-провайдеру предоставлять клиентам гарантированный уровень качества таких услуг как аудио- и видеовызовы, приём и передача факсов. Обычно такой контроль осуществляется с помощью различных систем мониторинга, сбора и анализа трафика, анализа CDR. Некоторые из параметров сигнальной сети достаточно трудно, а часто и невозможно оценить указанными способами.

     19.02.2019       Выпуск 270 (18.02.2019 - 24.02.2019)       Статьи

Концепция полиморфизма в ORM Django

Свободный перевод статьи "Modeling Polymorphism in Django With Python" В статье описано идея использования полиморфизма в моделях ORM Django то есть создание возможности изменения базовой структуры под конкретные задачи.

     18.02.2019       Выпуск 270 (18.02.2019 - 24.02.2019)       Статьи

Англоязычная кроссплатформенная утилита для просмотра российских квалифицированных сертификатов x509

Сегодня использование цифровых сертификатов X509 v.3 стало обыденным делом. Все больше людей используют их для доступа на сайт Госуслуги, ФНС, электронные торги и т.д. И все больше людей хотят знать что же находится в этом «сундуке» под названием сертификат. И если сертификат является аналогом паспорта, то как его можно прочитать/просмотреть. Да, в операционных системах присутствуют различные утилиты для просмотра. Но рядовому гражданину они мало что дадут. Возьмем для примера утилиту gcr-viewer, которая по сути является стандартным средством для просмотра в Linux-системах, а значит и в отечественных ОС:

     18.02.2019       Выпуск 270 (18.02.2019 - 24.02.2019)       Статьи

Изучаем Python: модуль argparse

Если вы занимаетесь обработкой и анализом данных с использованием Python, то вам, рано или поздно, придётся выйти за пределы Jupyter Notebook, преобразовав свой код в скрипты, которые можно запускать средствами командной строки. Здесь вам и пригодится модуль argparse. Для новичков, привыкших к Jupyter Notebook, такой шаг означает необходимость покинуть зону комфорта и перейти в новую среду. Материал, перевод которого мы публикуем сегодня, написан для того, чтобы облегчить подобный переход.

     17.02.2019       Выпуск 269 (11.02.2019 - 17.02.2019)       Статьи

Задача классификации глазами школьника: определение наличия автомобиля на парковке по кадрам с камеры видеонаблюдения

Дано: видео-поток с камеры видеонаблюдения, на котором имеется фрагмент 100x50 пикселей с изображением конкретно парковочного места, на котором может присутствовать или отсутствовать лишь конкретный автомобиль.

Задача: определить наличие или отсутствие автомобиля на парковочном месте.

     16.02.2019       Выпуск 269 (11.02.2019 - 17.02.2019)       Статьи

Удалённое управление UART'ом через Web

Работал я как-то на одном заводе, где лепили всякую электронику, не шибко сложную, и иногда подпадавшую под определение «Интернет вещей». По большей части, всякие датчики для охранных систем: датчики дыма, шума, проникновения, огня и всякое другое. Ассортимент изделий был широчайший, партии иногда были меньше 500 штук, и едва ли не под каждое изделие приходилось делать отдельный Test Fixture — по сути, просто жестяная коробка, в которую изделие на тестах ставилось, прижималось крышкой, и снизу контактные иглы прижимались к контактным точкам на печатной плате, как-то так:

     16.02.2019       Выпуск 269 (11.02.2019 - 17.02.2019)       Статьи

20 игр, чтобы научить ребёнка программированию

Я считаю, что лучше начинать программировать с юного возраста — 4-5 лет, потому что кодинг активно развивает у детей когнитивные функции мозга, и это впоследствии помогает им отлично усваивать точные науки. А попробовать себя в программированию можно через обучающие игры

     16.02.2019       Выпуск 269 (11.02.2019 - 17.02.2019)       Статьи

MQTT/UDP, предвесенние итоги: дистанционная конфигурация и цифровая подпись

Зима кончается, и это повод подвести очередную черту и рассказать, что нового появилось в MQTT/UDP.

     16.02.2019       Выпуск 269 (11.02.2019 - 17.02.2019)       Статьи

«Начинайте с митапов», или Нужны ли вообще курсы по программированию

 

  • Что мотивирует людей идти на курсы по программированию?
  • Есть ли жизнь работа после курсов?
  • Чем отличаются онлайн-курсы от офлайновых?
  • Кому они будут полезны, а кому обучение до лампочки?
  • Как выбрать курс и с чего начать учиться программированию?

 

     16.02.2019       Выпуск 269 (11.02.2019 - 17.02.2019)       Статьи

Жизненный цикл статьи на хабре: пишем хабрапарсер

Многие постоянные читатели и авторы сайта наверное задумывались о том, какой жизненный цикл имеют опубликованные здесь статьи. И хотя интуитивно это и так более-менее ясно (очевидно например, что статья на первой странице имеет максимальное число просмотров), но сколько конкретно?

     14.02.2019       Выпуск 269 (11.02.2019 - 17.02.2019)       Статьи

Самые быстрые Python веб-фреймворки в 2019

В 2018 году Python укрепил свои позиции популярности среди программистов и вошел в Top 3 самых популярных языков на github. Все больше и больше людей переходит на светлую сторону…то есть Python. Появилось еще большее количество разработчиков, которые интересуются данным языком и ведут разработку своих проектов с его помощью. Одним из популярных направлений для Python является web-разработка. Хочется, чтобы не только процесс разработки был удобным и быстрым, но и сами проекты могли похвастаться скоростью и стабильностью работы.

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

Поэтому мы решили составить сравнительный анализ популярных фреймворков, которые не потеряют, мы надеемся, своей актуальности на протяжении всего 2019 года и определить самый быстрый из них.

     13.02.2019       Выпуск 269 (11.02.2019 - 17.02.2019)       Статьи

Знакомство с простейшей нейронной сетью и ее пошаговая реализация

Как-то раз я наткнулся на книгу под названием «Создай свою нейросеть», автор которой -Тарик Рашид и после прочтения остался доволен, в отличие от многих других методичек по нейронным сетям, которые по-своему, несомненно, хороши, в этой книге все подавалось простым языком c достаточным количеством примеров и советов

По этой же книге я и хочу пройтись пошагово, а именно по практической части — написанию кода простой нейронной сети.

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

     13.02.2019       Выпуск 269 (11.02.2019 - 17.02.2019)       Статьи

Устранение рекурсии в Python

На протяжении последних 20 лет я восхищался простоте и возможностям Python, хотя на самом деле никогда не работал с ним и не изучал подробно.

 

В последнее время я присмотрелся к нему поближе — и он оказался действительно приятным языком.

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

     13.02.2019       Выпуск 269 (11.02.2019 - 17.02.2019)       Статьи

Холиварный рассказ про линтеры

Все мы пишем код. Много кода. Само собой, бывают ошибки. Иногда это просто кривой код, а иногда цена ошибки — взорванный космический корабль. Конечно, никто не делает намеренных косяков, все в меру возможностей стараются следить за качеством, но без инструментов статического анализа вряд ли можно быть уверенным, что всё идеально.

Линтеры помогают приводить код к единому стилю и избегать ошибок. Правда, только в том случае, если вы готовы к страданиям, а не отмахиваетесь в конце концов «pylint: disable», только чтобы оно отстало. Какой должен быть линтер, и почему таки не обойтись Pylint, знает Никита Соболев (sobolevn), который понимает и любит линтеры настолько, что даже свою компанию назвал так, чтобы их не расстраивать — wemake.services.