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

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


Новый материал в ленте

Python Дайджест. Выпуск 161

(16.01.2017 - 22.01.2017)

поделиться выпуском 
Дайджест python,

Конференции, события, встречи разработчиков

  PyNSK #11 — первая встреча питонистов Новосибирска в 2017 году

Питонисты Новосибирска и ближайших регионов, приглашаем вас на встречу Python сообщества — PyNSK. 

22-го января (воскресенье) состоится очередная, 11-ая, встреча. Она пройдет в Культурном Центре «Этаж» и начнется в 13-00.
Регистрация по ссылке: https://bit.ly/pynsk11_reg

  Приглашаем на Moscow Python Meetup 19 января

Приглашаем разработчиков, тимлидов и всех, кто так или иначе связан с разработкой на Python, принять участие в Moscow Python Meetup, который состоится 19 января, в четверг, в московском офисе Mail.Ru Group. В программе встречи три доклада, подробности о них читайте под катом.

Статьи

  Генерация фиктивных данных с Elizabeth: Часть II

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

  VoIP телефония. Asterisk. Нестандартный подход ко всему. Часть 2

Продолжаем наш рассказ о модификации движка для VoIP оператора связи.

 

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

  Нижнее подчеркивание (_) в Python

Статья о том, как и когда использовать нижнее подчеркивание в Python.

  Bitcoin in a nutshell — Transaction

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

  Автопоиск IP-адресов

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

  Bitcoin in a nutshell — Protocol

Транзакции — это чуть ли не самый "главный" объект в сети Bitcoin, да и в других блокчейнах тоже. Поэтому я решил, что если и писать про них целую главу, то тогда нужно рассказать и показать вообще все, что можно. В частности то, как они строятся и работают на уровне протокола.

Ниже я объясню, каким образом формируется транзакция, покажу как она подписывается и продемонстрирую механизм общения между нодами.

  Распознаем цвета светофора с помощью Deep Learning Deep Learning

Как я изучил Deep Learning за 10 недель и выиграл $5000

  Bitcoin in a nutshell — Cryptography

Одна из причин, почему Bitcoin продолжает привлекать столько внимания — это его исключительная «математичность». Сатоши Накамото удалось создать систему, которая способна функционировать при полном отсутствии доверия между ее участниками. Все взаимодействия основаны на строгой математике, никакого человеческого фактора — вот в чем была революционность идеи, а не в одноранговой сети, как многие думают. Поэтому первую главу я решил посвятить именно математическим основам Bitcoin.

  VoIP телефония. Asterisk. Нестандартный подход ко всему. Часть 1

Ровно год назад к нам обратились бывшие коллеги, с предложением принять участие в модификации движка VoIP оператора связи. Задача сводилась к полной переделке личного кабинета, обеспечению масштабирования системы, создания системы биллинга, LCR, мониторинга расходов пользователей, контроля длительности разговоров, аналитики по звонкам. История закончилась печально, т.к. заложенный нами расширенный функционал системы якобы не соответствовал ТЗ, никак не формализованному на бумаге и находящемуся только в головах менеджеров оператора. В связи с тем, что за разработанный функционал, который заказчику очень понравился, менеджеры платить не захотели, отношения мы разорвали. NDA и договора у нас не было, поэтому посоветовавшись с коллегами мы решили часть наработок выложить в свободный доступ. Я думаю, что это будет серия статей. И начнём пожалуй с базовых вещей и архитектуры.

  Как различать британскую и американскую литературу с помощью машинного обучения

Однажды мне стало интересно, отличается ли британская и американская литература с точки зрения выбора слов, и если отличается, удастся ли мне обучить классификатор, который бы различал литературные тексты с точки зрения частоты использованных слов. Различать тексты, написанные на разных языках, довольно легко, мощность пересечения множества слов небольшая относительно множества слов в выборке. Классификация текста по категориям «наука», «христианство», «компьютерная графика», «атеизм», — всем известный hello world среди задач по работе с частотностью текста. Передо мной стояла более сложная задача, так как я сравнивала два диалекта одного языка, а тексты не имели общей смысловой направленности.

  Python: коллекции, часть 3: конкатенация, добавление и удаление элементов

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

  Верификация данных пользователей в онлайн приложениях

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

  Как я парсил всю базу данных игр Metacritic-а

Metacritic — англоязычный сайт-агрегатор, собирающий отзывы о музыкальных альбомах, играх, фильмах, телевизионных шоу и DVD-дисках. (с википедии).

Использованные библиотеки: lxml, asyncio, aiohttp (lxml — библиотека разбора HTML страниц с помощью Python, asyncio и aiohttp будем использовать для асинхронности и быстрого извлечения данных). Также будем активно использовать XPath. Кто не знает, что это такое, отличный туториал.

Интересные проекты, инструменты, библиотеки

  mycli - CLI для работы с MySQL, MariaDB и Percona

Это утилита в виде интерфейса командной строки, которая позволяет работать с MySQL, MariaDB и Percona. Умеет подсвечивать синтаксис, а также обладает функцией авто-дополнения

  Django 2.0 не будет поддерживать Python 2

Согласно коммиту в репозитории Django, Django не будет поддерживать Python 2

  pipdeptree - утилита для отображения дерева зависимостей

Утилита для вывода зависимостей установленных пакетов. В отличии от pip freeze, показывает вложенные зависимости, есть предупреждения о конфликтах.

  pontoon - утилита локализации от Mozilla

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

Релизы

  pex - 1.1.19

Библиотека и утилита для генерации .pex (Python EXecutable) файлов. Изменения описаны по ссылке https://allmychanges.com/p/python/pex/#1.1.19. Скачать можно по ссылке: https://pypi.python.org/pypi/pex/

  pgcli - 1.4.0

REPL для Postgres. Изменения описаны по ссылке https://allmychanges.com/p/python/pgcli/#1.4.0. Скачать можно по ссылке: https://pypi.python.org/pypi/pgcli/