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

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

     11.09.2019       Выпуск 299 (09.09.2019 - 15.09.2019)       Статьи

Проектирование дашбордов для веб-аналитики e-commerce сайта. Часть 3: SEO-канал

Для аналитики динамики позиций поисковых фраз потребуется выгрузки из Яндекс.Вебмастера и Google Search Console. Для оценки «полезности» прокачивания позиции поисковой фразы будут полезны данные о частотности. Их можно получить из Яндекс.Директа и Google Ads. Ну а для анализа поведения технической стороны сайта воспользуемся Page Speed Insider.

     11.09.2019       Выпуск 299 (09.09.2019 - 15.09.2019)       Статьи

JWT: Атака на цифровую подпись VS MAC-атака

Во время последнего пентеста я наткнулся на схему авторизации на основе JSON Web Token (или просто JWT). JWT состоит из трех частей: заголовок, полезная нагрузка, информация для верификации. Первая часть заголовка содержит имя алгоритма, который в дальнейшем будет использоваться для верификационной части JWT. Это опасно, так как злоумышленник может изменить эту информацию и таким образом (возможно) проконтролировать, какая схема будет использоваться сервером для проверки.

     11.09.2019       Выпуск 299 (09.09.2019 - 15.09.2019)       Статьи

Сравнение популярных CLI-библиотек для Python: click, cement, fire и другие

Для удобства чтения обзор разделён на два поста: в первом сравнивается шесть самых популярных библиотек, во втором — менее популярные и более специфичные, но всё же заслуживающие внимания.

     11.09.2019       Выпуск 299 (09.09.2019 - 15.09.2019)       Статьи

Скоро Django 3

Не так долго осталось ждать декабря, на который запланирован выпуск новой версия каркаса для веб-разработки Django. Уже сейчас можно ознакомиться с альфа версией готовящегося выпуска.

Рассмотрим, чего нам ждать от новинки.

     10.09.2019       Выпуск 299 (09.09.2019 - 15.09.2019)       Статьи

Хабрастатистика: как живет Хабр без geektimes

Данная статья является логическим продолжением рейтинга Лучших статей Хабра за 2018 год. И хотя год еще не закончился, но как известно, летом произошли изменения в правилах, соответственно, стало интересно посмотреть, повлияло ли это на что-нибудь.

     10.09.2019       Выпуск 299 (09.09.2019 - 15.09.2019)       Статьи

Угадай меня, если сможешь: прогнозирование рейтинга фильма до его выхода

Недавно мне на глаза попался датасет на Kaggle с данными о 45 тысячах фильмов с Full MovieLens Dataset. Данные содержали не только информацию об актерах, съемочной команде, сюжете и т.п., но и оценки, выставленные фильмам пользователями ресурса (26 миллионов оценок от 270 тыс.пользователей).

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

     09.09.2019       Выпуск 299 (09.09.2019 - 15.09.2019)       Статьи

Jupyter Notebook для начинающих: учебник

Jupyter Notebook – невероятно мощный инструмент для интерактивной разработки и представления проектов в области наук о данных.

     08.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

Как обойти капчу, используя звук

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

     07.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

Рост. Вес. Три соседа

В нём есть данные о росте и весе 10 000 мужчин и женщин. Никакого описания. Ничего «лишнего». Только рост, вес и метка пола. Эта таинственная простота мне понравилась.

     07.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

Передача двухмерных списков из python в DLL

Решил несколько дополнить статью C/C++ из Python.
Передача стандартных типов, таких как int, bool, float и так далее довольно проста, но мало необходима. С такими данными быстро справится и сам python, и врядли у кого-то возникнет необходимость вынесения части такого кода в библиотеку C/C++.

А вот передача больших массивов данных, или еще лучше двумерных массивов данных, или даже двумерных массивов объектов.

     07.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

Python + OpenCV + Keras: делаем распознавалку текста за полчаса

После экспериментов с многим известной базой из 60000 рукописных цифр MNIST возник логичный вопрос, есть ли что-то похожее, но с поддержкой не только цифр, но и букв. Как оказалось, есть, и называется такая база, как можно догадаться, Extended MNIST (EMNIST).

Если кому интересно, как с помощью этой базы можно сделать несложную распознавалку текста, добро пожаловать под кат.

     06.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

Разработка ТамТам-бота на Python

После появления Bot API у мессенджера ТамТам, я как истинный, а значит ленивый программист, создал 2 библиотеки Python для работы с ним:

 

  • open API клиента (далее — OAC) — изначально сгенерировал её при помощи OpenAPI Generator на основе схемы API, затем адаптировал с учётом особенностей генератора;
  • оболочку для этого клиента — TamTamBot (далее — TTB), упрощающую работу с OAC.

Так появился некий ТамТам Python SDK.

     06.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

Глючный код на Python: 10 самых распространенных ошибок, которые допускают разработчики


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

Имея это в виду, в этой статье представлен «топ-10» тонких, трудных для обнаружения ошибок, которые могут допустить даже продвинутые разработчики Python.

     06.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

C/C++ из Python

Про то как вызывать Python из C написал в прошлой статье, теперь поговорим как делать наоборот и вызывать C/C++ из Python. Раз начал писать об этом, то раскроем всю тему до конца. Тем более, что ни чего сложного здесь нет тоже.

     06.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

Перепрограммируем кассу и печатаем на ней Киану Ривза. Часть 2. ПО для ПК

В предыдущей статье я кратко описал свою прошивку для ККТ ШТРИХ-ФР-К, которая позволяет управлять термоголовкой, движками и соответственно выводить на печать все что угодно. В этой части я покажу как написать софт, который будет общаться с кассой и форматировать картинку для печати.

     05.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

Бенчмарк RPC систем (и Inverted Json)

Сравниение различных инструментов (RabbitMQ, Crossbar.io, Nats.io, Nginx и др.) для организации RPC между микросервисами.

     05.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

Подборка @pythonetc, август 2019

Новая подборка советов про Python и программирование из авторского канала @pythonetc.

     04.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

Python из C

В прошлом году появилась необходимость дополнить старый проект написанный на C функционалом на python3. Не смотря на то, что есть статьи на эту тему я помучился и в том году и сейчас когда писал программы для статьи. Поэтому приведу свои примеры по тому как работать с python3 из C под Linux (с тем что использовал). Опишу как создать класс и вызвать его методы, получить доступ к переменным. Вызов функций и получение переменных из модуля. А также проблемы с которыми я столкнулся и не смог их понять.

     04.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

Книга «Путь Python. Черный пояс по разработке, масштабированию, тестированию и развертыванию»

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

     03.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

Феерический screensaver для Kodi

Проект предназначен для создания «Феерического» хранителя экрана с минимальным количеством исходного кода на языке Python. Проект является простейшим плагином для мультимедиа центра Kodi.