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

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

     04.12.2018       Выпуск 259 (03.12.2018 - 09.12.2018)       Статьи

Тест беговела при помощи трехосевого акселерометра

Вопрос физического развития собственных детей всегда актуален. Младшему сыну исполнилось три года, захотелось помимо прогулок подыскать ему занятия со спортивным уклоном. Поскольку он проявляет интерес к различным видам транспорта, выбор естественным образом пал на беговел. А насмотревшись зажигательных видео, как дети постарше трюкачат на беговелах, я решил немного более подробно исследовать вопрос. Вооружившись IMU от Амперки на 10 степеней свободы, Raspberry Zero W с блоком питания и 40 строками кода на Питоне я пошел в беговелошколу. Что из этого вышло — смотрите под катом )

     04.12.2018       Выпуск 259 (03.12.2018 - 09.12.2018)       Статьи

Сортировки слиянием

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

 

  1. Ищутся (как вариант — формируются) упорядоченные подмассивы.
  2. Упорядоченные подмассивы соединяются в общий упорядоченный подмассив.

     01.12.2018       Выпуск 258 (26.11.2018 - 02.12.2018)       Статьи

Краткое руководство по Dash — Python веб-фреймворк для создания дэшбордов. Installation + Dash Layout

Сегодня предлагаю погрузиться в один из удобнейших веб-фреймворков в связке c Python под названием Dash. Появился он не так давно, пару лет назад благодаря разработчикам фреймворка plotly. Сам Dash является связкой Flask, React.Js, HTML и CSS.

     30.11.2018       Выпуск 258 (26.11.2018 - 02.12.2018)       Статьи

Решаем crackme от Лаборатории Касперского

В один прекрасный день разные каналы в телеграмме начали кидать ссылку на крэкмишку от ЛК, Успешно выполнившие задание будут приглашены на собеседование!. После такого громкого заявления мне стало интересно, насколько сложным будет реверс. О том, как я решал этот таск можно почитать под катом (много картинок).

     30.11.2018       Выпуск 258 (26.11.2018 - 02.12.2018)       Статьи

Создание арта с помощью DCGAN

Полгода назад я начал изучать машинное обучение, прошел пару курсов и получил некоторый опыт в этом. Затем, видя самые разные новости о том, какие нейронные сети крутые и много могут делать, я решил попробовать изучить их. Начал читать книгу Николенко про глубокое обучение и в ходе чтения у меня появилось несколько идей (которые не новы для мира, но для меня представляли огромный интерес), одна из которых — создать нейросеть, которая генерировала бы для меня арт, который казался бы классным не только мне, "отцу рисующего ребёнка", но и другим людям. В этой статье я постараюсь описать путь, который я прошел для того, чтобы получить первые удовлетворяющие меня результаты.

     29.11.2018       Выпуск 258 (26.11.2018 - 02.12.2018)       Статьи

Предсказание оттока пользователей с помощью метода RFM

Представьте: телефонный звонок в три часа ночи, вы берете трубку и слышите крик о том, что больше никто не пользуется вашим продуктом. Страшно? В жизни, конечно, все не так, но если не уделять должное внимание проблеме оттока пользователей, можно оказаться в похожей ситуации.

Мы уже подробно рассказали, что такое отток: углубились в теорию и показали, как превратить нейросеть в цифрового оракула. Специалисты студии Plarium Krasnodar знают еще один способ предсказания. О нем мы и поговорим.

     28.11.2018       Выпуск 258 (26.11.2018 - 02.12.2018)       Статьи

Транспайлер-цепь Python → 11l → C++ [для ускорения Python-кода и не только]

В данной статье рассматриваются наиболее интересные преобразования, которые выполняет цепочка из двух транспайлеров (первый переводит код на языке Python в код на новом языке программирования 11l, а второй — код на 11l в C++), а также производится сравнение производительности с другими средствами ускорения/исполнения кода на Python (PyPy, Cython, Nuitka).

     27.11.2018       Выпуск 258 (26.11.2018 - 02.12.2018)       Статьи

Внутренности Python. Пасхалки

Привет! На хабре было довольно много статей про пасхалки питона, но вроде нигде не упоминалось про то, как все это устроено изнутри. Думаю, что будет интересно прежде всего начинающим питонистам. Об этом и пойдет речь под катом!

     26.11.2018       Выпуск 258 (26.11.2018 - 02.12.2018)       Статьи

Нагрузочное тестирование с locust. Часть 2

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

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

     26.11.2018       Выпуск 258 (26.11.2018 - 02.12.2018)       Статьи

Пасьянсная сортировка

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

Так что, если уважаемый математик (и бывалый карточный фокусник) не врёт, то с практической ценностью алгоритма всё в порядке.

А теперь следите за руками.

     25.11.2018       Выпуск 257 (19.11.2018 - 25.11.2018)       Статьи

А сколько вы потратили время на фильмы?

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

     25.11.2018       Выпуск 257 (19.11.2018 - 25.11.2018)       Статьи
     24.11.2018       Выпуск 257 (19.11.2018 - 25.11.2018)       Статьи

Ночью спит спокойно мама — мы собираем OpenCV для Raspbian'a

Последние пару недель были непростыми для нашей команды. Выпускали OpenCV 4, а вместе с ним готовились к Intel's OpenVINO toolkit R4, в состав которого входит OpenCV. Думаешь, отвлекусь на время, посмотрю, как обычно, форумы про OpenCV, да комментарии пользователей, и тут на тебе, модно стало говорить что OpenCV не IoT, что под Raspberry Pi собрать — припоя не хватает, что на ночь make -j2 ставить — утром будет готово, если повезёт.

 

Поэтому предлагаю дружно взяться за руки и посмотреть, как же можно собирать библиотеку OpenCV для 32-битной операционной системы, исполняемой на ARM процессоре, используя ресурсы машины с 64-битной OS, движимой отличной архитектурой CPU. Колдовство не иначе!

     23.11.2018       Выпуск 257 (19.11.2018 - 25.11.2018)       Статьи

Ускорение SQLAlchemy для архитектурных космонавтов

Всем привет! Меня зовут Алексей Старков — это я, в свои лучшие годы, работаю на заводе.
Теперь я работаю в Qrator Labs. В основном, всю свою жизнь, я занимался C и C++ — люблю Александреску, «Банду Четырех», принципы SOLID — вот это всё. Что и делает меня архитектурным космонавтом. Последние пару лет пишу на Python, потому что мне это нравится.

     22.11.2018       Выпуск 257 (19.11.2018 - 25.11.2018)       Статьи

Data Science проект от исследования до внедрения на примере Говорящей шляпы

Месяц назад Лента запустила конкурс, в рамках которого та самая Говорящая Шляпа из Гарри Поттера определяет предоставивших доступ к социальной сети участников на один из четырех факультетов. Конкурс сделан неплохо, звучащие по-разному имена определяются на разные факультеты, причем схожие английские и русские имена и фамилии распределяются схожим образом. Не знаю, зависит ли распределение только от имен и фамилий, и учитывается ли как-то количество друзей или другие факторы, но этот конкурс подсказал идею этой статьи: попробовать с нуля обучить классификатор, который позволит распределять пользователей на различные факультеты.

     21.11.2018       Выпуск 257 (19.11.2018 - 25.11.2018)       Статьи

[Перевод] Программирование с PyUSB 1.0

PyUSB 1.0 — это библиотека Python обеспечивающая легкий доступ к USB. PyUSB предоставляет различные функции

     20.11.2018       Выпуск 257 (19.11.2018 - 25.11.2018)       Статьи

Нагрузочное тестирование с locust

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

Когда речь заходить о тестировании производительности — в первую очередь все думают о JMeter’е — он бесспорно остается самым известным инструментом с самым большим количеством плагинов. Мне же JMeter никогда не нравился из-за неочевидного интерфейса и высокого порога вхождения, как только возникает необходимость протестировать не Hello World приложение.

И вот, окрыленный успехом проведения тестирования в двух различных проектах, решил поделится информацией об относительно простом и удобном софте — Locust

     18.11.2018       Выпуск 256 (12.11.2018 - 18.11.2018)       Статьи

VotingClassifier в sсikit-learn: построение и оптимизация ансамбля моделей классификации

В рамках реализации большой задачи по Sentiment Analysis (анализ отзывов) я решил уделить некоторое время дополнительному изучению её отдельного элемента — использованию VotingClassifier из модуля sklearn.ensemble как инструмента для построения ансамбля моделей классификации и повышению итогового качества предсказаний. Почему это важно и какие есть нюансы?

     17.11.2018       Выпуск 256 (12.11.2018 - 18.11.2018)       Статьи

Как я понял, что ем много сладкого, или классификация товаров по чекам в приложении

В этой статье мы хотим рассказать, как мы создали решение для классификации названий продуктов из чеков в приложении для учёта расходов по чекам и помощника по покупкам. Мы хотели дать пользователям возможность просматривать статистику по покупкам, собранную автоматически на основе отсканированных чеков, а именно распределить все купленные пользователем товары по категориям. Потому что заставлять пользователя самостоятельно группировать товары — это уже прошлый век. Есть несколько подходов для решения такой задачи: можно попробовать применить алгоритмы кластеризации с разными способами векторного представления слов или классические алгоритмы классификации. Ничего нового мы не изобрели и в этой статье лишь хотим поделиться небольшим гайдом о возможном решении задачи, примерами того, как делать не надо, анализом того, почему не сработали другие методы и с какими проблемами можно столкнуться в процессе.

     17.11.2018       Выпуск 256 (12.11.2018 - 18.11.2018)       Статьи

Работа с PostgreSQL в Python

PostgreSQL, пожалуй, это самая продвинутая реляционная база данных в мире Open Source Software. По своим функциональным возможностям она не уступает коммерческой БД Oracle и на голову выше собрата MySQL.

Если вы создаёте на Python веб-приложения, то вам приходиться работать с БД. В Python самой популярной библиотекой для работы с PostgreSQL является psycopg2. Эта библиотека написана на Си на основе libpq.