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

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

     12.03.2018       Выпуск 221 (12.03.2018 - 18.03.2018)       Статьи

Тестирование проектов C/C++ с помощью Python

Хорошо известна возможность интеграции Python и C / C++. Как правило, этот прием используется для ускорения программ на Python или с целью подстройки программ на C / C++. Я хотел бы осветить возможность использование python для тестирования кода на C/C++ в IDE без поддержки системы организации тестов в IDE. С моей точки зрения это целесообразно применять в сфере разработки программного обеспечения для микроконтроллеров.

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

При разработке программ для микроконтроллеров, я сталкивался с отсутствием стандартного ввода / вывода (конечно можно переопределить функции ввода вывода и в симуляторе, выводить данные через UART — но часто UART уже задействован, да и симулятор работает не всегда корректно) и большими рисками вывести из строя аппаратное обеспечение ошибочной бизнес логикой. На стадии разработки, я реализовывал отдельные проекты, тестирующие части программы и далее на меня ложилась ответственность за запуск всех тестовых приложений после внесения изменений. Конечно, это все можно автоматизировать. Так можно работать, но я нашел способ лучше.

     11.03.2018       Выпуск 220 (05.03.2018 - 11.03.2018)       Статьи

Мульти-классификация Google-запросов с использованием нейросети на Python

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

Сегодня я бы хотел поговорить об одном из способов классификации поисковых запросов, по отдельным категориям с помощью нейронной сети на Keras. Предметной областью запросов была выбрана сфера автомобилей.

За основу был взят датасет размером ~32000 поисковых запросов, размеченных по 14ти классам: Автоистория, Автострахование, ВУ (водительское удостоверение), Жалобы, Запись в ГИБДД, Запись в МАДИ, Запись на медкомиссию, Нарушения и штрафы, Обращения в МАДИ и АМПП, ПТС, Регистрация, Статус регистрации, Такси, Эвакуация.

     10.03.2018       Выпуск 220 (05.03.2018 - 11.03.2018)       Статьи

Подвесные топливные баки для самолётов

Часто, для обеспечения большой дальности полета, к самолету снаружи подвешивают дополнительные баки. Подвесные баки бывают сбрасываемые и не сбрасываемые.

Сбрасываемые подвесные баки после расходования из них топлива сбрасываются так же, как и авиационные бомбы с замков бомбодержателей, на которые они подвешиваются.

Питание из подвесных баков осуществляется включением трубопроводов от этих баков в общую систему питания двигателя топливом через запорный или многоходовой кран.

Интересным фактом является то, что во вьетнамских джунглях после войны стали находить много сброшенных американскими самолётами топливных баков.

     10.03.2018       Выпуск 220 (05.03.2018 - 11.03.2018)       Статьи

Разбор предложений по шаблонам русского языка

Существует несколько парсеров, подходящих для русского языка. Некоторые из них могут даже выполнять синтаксический анализ, как SyntaxNet, MaltParser и AOT:

… или выявлять факты, как Tomita.

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

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

     09.03.2018       Выпуск 220 (05.03.2018 - 11.03.2018)       Статьи

Django + Vue. Реализуем вход через Google Django

Никто не любит при регистрации на сайте вводить каждый раз одно и то же: имя пользователя, электронную почту и т.д. Либо постоянно создавать и запоминать новые пароли. По этой причине, вход через сторонние приложения вроде Google, Facebook или VK очень популярен.

Такие сторонние приложения используют протокол OAuth2. В статье я не буду объяснять, что это за протокол и как его реализовать. Вместо этого реализуем вход на сайт через Google использую уже готовые библиотеки. Бэкэнд напишем на Django и Django Rest Framework, а фронтэнд на Vue.js

     08.03.2018       Выпуск 220 (05.03.2018 - 11.03.2018)       Статьи

Как не стать Python-разработчиком

Как выглядит трек обучения программированию на Python с нуля? С чего стоит начать? На чем сделать акцент? Как не потерять интерес?

Полгода я искал ответы на эти вопросы, тщательно исследуя предметную область. Я обнаружил много полезных советов. Особенно в заметке Василия Большакова и на Хекслете. Но мне не хватало структуры. Знания нарастали со всех сторон и превращались в кучу. Чтобы структурировать процесс обучения и оценить его масштаб, я собрал план.

     08.03.2018       Выпуск 220 (05.03.2018 - 11.03.2018)       Статьи
     07.03.2018       Выпуск 220 (05.03.2018 - 11.03.2018)       Статьи

Работа с Anaconda на примере поиска корреляции курсов криптовалют

Цель этой статьи — предоставить легкое введение в анализ данных с использованием Anaconda. Мы пройдем через написание простого скрипта Python для извлечения, анализа и визуализации данных по различным криптовалютам.

     07.03.2018       Выпуск 220 (05.03.2018 - 11.03.2018)       Статьи

Создание и хостинг телеграм бота. От А до Я

В этой статье я хочу показать процесс создания бота от написания BotFather-у до деплоинга бота на Heroku.

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

     06.03.2018       Выпуск 220 (05.03.2018 - 11.03.2018)       Статьи

Мега-Учебник Flask, Часть XIV: Ajax

Это четырнадцатая часть Мега-Учебника Flask,k, в которой я собираюсь добавить функцию перевода текста в реальном времени, используя службу перевода Microsoft и немного JavaScript.

     06.03.2018       Выпуск 220 (05.03.2018 - 11.03.2018)       Статьи

Коэффициент Джини. Из экономики в машинное обучение

Коэффициент Джини (Gini coefficient) — метрика качества, которая часто используется при оценке предсказательных моделей в задачах бинарной классификации в условиях сильной несбалансированности классов целевой переменной. Именно она широко применяется в задачах банковского кредитования, страхования и целевом маркетинге. Для полного понимания этой метрики нам для начала необходимо окунуться в экономику и разобраться, для чего она используется там.

     01.03.2018       Выпуск 219 (26.02.2018 - 04.03.2018)       Статьи

Коллаборация Visual Studio Code и Anaconda

Не так давно было объявлено о включении Visual Studio Code в дистрибутив Anaconda, что несомненно является большим шагом в развитии инструментов анализа данных с открытым исходным кодом.

Anaconda, основанная Трэвисом Олифантом, автором NumPy, стала неотъемлемым инструментом в области работы с данными, имеющая в своем арсенале большое количество библиотек и плагинов, которые охватывают большинство аналитических случаев. Поскольку Python является интерпретированным языком, с поддержкой REPL, вы можете тестировать фрагменты кода из командной строки, работать с источниками данных перед запуском более сложных скриптов.

     28.02.2018       Выпуск 219 (26.02.2018 - 04.03.2018)       Статьи

Мега-Учебник Flask, Часть XIII: I18n и L10n

Это тринадцатая часть серии Мега-Учебник Flask, в которой я расскажу вам, как реализовать поддержку нескольких языков для вашего приложения. В рамках этой работы вы также узнаете о создании собственных расширений CLI для flask.

     27.02.2018       Выпуск 219 (26.02.2018 - 04.03.2018)       Статьи

Классификация объектов в режиме реального времени


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

     27.02.2018       Выпуск 219 (26.02.2018 - 04.03.2018)       Статьи

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

Беспоисковый метод — простой, надёжный и универсальный метод расчёта настроек субоптимальных регуляторов, включая и такие алгоритмы как ПД, ПДД и ПИДД [1].

Однако, приведенная в [1] программная реализация данного метода имеет ряд недостатков, что затрудняет его применение в микропроцессорных регулирующих приборах.

     26.02.2018       Выпуск 219 (26.02.2018 - 04.03.2018)       Статьи

Как собрать сильную команду аналитиков и инженеров данных? Опыт компании Wish. Часть 2

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

     26.02.2018       Выпуск 219 (26.02.2018 - 04.03.2018)       Статьи

Регулярные выражения в Python от простого к сложному. Подробности, примеры, картинки, упражнения

Решил я давеча моим школьникам дать задачек на регулярные выражения для изучения. А к задачкам нужна какая-нибудь теория. И стал я искать хорошие тексты на русском. Пяток сносных нашёл, но всё не то. Что-то смято, что-то упущено. У этих текстов был не только фатальный недостаток. Мало картинок, мало примеров. И почти нет разумных задач. Ну неужели поиск IP-адреса — это самая частая задача для регулярных выражений? Вот и я думаю, что нет.
Про разницу (?:...) / (...) фиг найдёшь, а без этого знания в некоторых случаях можно только страдать.

     23.02.2018       Выпуск 218 (19.02.2018 - 25.02.2018)       Статьи

Балуемся с унарными операторами в Python

>>> +--+_+-+_++_+--_+_-_+-+-+-___++++_+-_-+++_+-+_--++--_ 'ПРИВЕТ, ХАБР!'


Что это было? Да, вы не ошиблись — это азбука Морзе с плюсиками вместо точек прямо в синтаксисе Питона!

     21.02.2018       Выпуск 218 (19.02.2018 - 25.02.2018)       Статьи

Методы конструирования тестовых функций

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

     21.02.2018       Выпуск 218 (19.02.2018 - 25.02.2018)       Статьи

Мега-Учебник Flask, Часть XII: Даты и время (издание 2018) Flask

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