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

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

     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.

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

Шаблон фабричного метода и его реализация в Python

Перевод статьи: The Factory Method Pattern and Its Implementation in Python

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

Создание и настройка портативной сборки Jupyter Notebook и Lab на Windows. Часть 1

Когда я начинал изучение Python, устанавливал впервые Jupyter Notebook, потом пытался передать с созданное в нём приложение на предприятие, я часто сталкивался с различными проблемами. То кириллица в имени пользователя мешает, то настройки не перенеслись, то ещё чего-то. Все эти проблемы я преодолел в основном самостоятельно, используя Google и затратив немало времени на их решение.

 

По мере роста опыта я научился создавать папку, в которой лежит переносимое с одного компьютера на другой виртуальное окружение Python, настройки Jupyter и Matplotlib, портативные программы (ffmpeg и др.) и шрифты. Я мог написать дома программу, скопировать всю эту папку на компьютер предприятия, и быть уверенным, что ничего не потеряется и не сломается на ровном месте. Потом я подумал, что такую папку можно дать и новичку в Python, и он получит полностью настроенную и переносимую среду.

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

VBA и Python для автоматизации Excel и MS Office

Эта заметка более подробно раскрывает всем известный тезис: Под конкретную задачу надо выбирать наиболее подходящий инструмент применимо к офисной автоматизации.

VBA (Visual Basic for Applications), де-факто, самый популярный язык для автоматизации Microsoft Office. Доступен из коробки, помимо Excel, работает в PowerPoint, Outlook, Access, Project и других приложениях.

Если задать вопрос: «Какой язык программирования выбрать первым», то где-то в 90% всех случаев будет предложен Python. На практике здесь может быть и любой другой язык, но, исходя из популярности языка и своего опыта, буду сравнивать с ним.

     10.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

Buildbot: сказ с примерами еще об одной системе непрерывной интеграции

Buildbot, как несложно догадаться из названия, является инструментом для непрерывной интеграции (continuous integration system, ci). Про него уже было несколько статей на хабре, но, с моей точки зрения, из них не очень понятны преимущества сего инструмента. Кроме того, в них почти нет примеров, из-за чего трудно увидеть всю мощь программы. В своей статье я постараюсь восполнить эти недостатки, расскажу про внутренне устройство Buildbot'a и приведу примеры нескольких нестандартных сценариев.