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

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

     18.01.2017       Выпуск 161 (16.01.2017 - 22.01.2017)       Статьи

Bitcoin in a nutshell — Protocol

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

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

     17.01.2017       Выпуск 161 (16.01.2017 - 22.01.2017)       Статьи

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

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

     16.01.2017       Выпуск 161 (16.01.2017 - 22.01.2017)       Конференции, события, встречи разработчиков

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

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

     16.01.2017       Выпуск 161 (16.01.2017 - 22.01.2017)       Конференции, события, встречи разработчиков

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

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

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

     16.01.2017       Выпуск 161 (16.01.2017 - 22.01.2017)       Статьи

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

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

     16.01.2017       Выпуск 161 (16.01.2017 - 22.01.2017)       Статьи

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

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

 

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

     15.01.2017       Выпуск 160 (09.01.2017 - 15.01.2017)       Статьи

Записи python разработчика — Ловушка при подсчете связанных объектов в Django Django

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

     14.01.2017       Выпуск 160 (09.01.2017 - 15.01.2017)       Колонка автора

Полезные инструменты: Chrome Logger

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

     12.01.2017       Выпуск 160 (09.01.2017 - 15.01.2017)       Статьи

Python: коллекции, часть 2: индексирование, слайсинг, сортировка

Данная статья является продолжением моей статьи "Python: коллекции, часть 1: классификация, общие подходы и методы, конвертация".

В данной статье мы продолжим изучать общие принципы работы со стандартными коллекциями (модуль collections в ней не рассматривается) Python.

     11.01.2017       Выпуск 160 (09.01.2017 - 15.01.2017)       Статьи

Работа с DSL: создание собственного анализатора с использованием библиотек Python

Сегодня же речь пойдет об использовании предметно-ориентированных языков (Domain-specific language, DSL) для решения конкретных задач с помощью Python.

     11.01.2017       Выпуск 160 (09.01.2017 - 15.01.2017)       Статьи

Машинное обучение — это легко

 

В данной статье речь пойдёт о машинном обучении в целом и взаимодействии с датасетами. Если вы начинающий, не знаете с чего начать изучение и вам интересно узнать, что такое «датасет», а также зачем вообще нужен Machine Learning и почему в последнее время он набирает все большую популярность, прошу под кат. Мы будем использовать Python 3, так это как достаточно простой инструмент для изучения машинного обучения. 
 

     10.01.2017       Выпуск 160 (09.01.2017 - 15.01.2017)       Статьи

Чистая архитектура в Python: пошаговая демонстрация. Часть 2

Начнем с простого определения модели StorageRoom. Как было сказано ранее, модели в чистой архитектуре очень легкие, по крайней мере, легче, чем их ORM-аналоги в фреймворках.

Раз мы следуем методологии TDD, то первое, что мы напишем, это тесты. Создадим файл tests/domain/test_storageroom.py и поместим внутри него этот код:

     10.01.2017       Выпуск 160 (09.01.2017 - 15.01.2017)       Статьи

Динамическая привязка метода к объекту

На примере известного эпизода из хорошего фильма.

     09.01.2017       Выпуск 160 (09.01.2017 - 15.01.2017)       Статьи

Переходим c Tarantool 1.5 на 1.6

Хочу рассказать историю миграции с Tarantool версии 1.5 на 1.6 в одном из наших проектов. Как вы думаете, нужно ли заниматься миграцией на новую версию, если и так все работает? Насколько легко это сделать, если у вас уже написано достаточно много кода? Как не затронуть живых пользователей? С какими трудностями можно столкнуться при таких изменениях? Какой вообще профит от переезда? Ответы на все вопросы можно найти в этой статье.

     09.01.2017       Выпуск 160 (09.01.2017 - 15.01.2017)       Статьи

Python: коллекции, часть 1: классификация, общие подходы и методы, конвертация

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

     09.01.2017       Выпуск 160 (09.01.2017 - 15.01.2017)       Статьи

Чистая архитектура в Python: пошаговая демонстрация (часть 1)

Год назад мой друг Roberto Ciatti познакомил меня с концепцией, которую Роберт Мартин называет чистой архитектурой. Дядя Боб много говорит об этой концепции на конференциях и пишет о ней очень интересные статьи. «Чистая архитектура» представляет собой способ структурирования системы программного обеспечения, набор соглашений о различных слоях и ролях их участников, нечто большее, чем строгие правила.

     07.01.2017       Выпуск 159 (02.01.2017 - 08.01.2017)       Учебные материалы

Онлайн курс "Программирование глубоких нейронных сетей на Python"

Небольшой онлайн-курс про то, что такое нейронные сети, глубокие нейронные сети и как пользоваться питоновскими библиотеками для Deep Learning. Упор делается на Keras.
Курс состоит из видеолекций и практических работ.

     07.01.2017       Выпуск 159 (02.01.2017 - 08.01.2017)       Статьи

Спектроскоп Салтана: лапласианы для фана

Рождественские дни — время отложить привычные дела и вспомнить забавы — калейдоскопы, мозаики, снежинки… Кто нарисует самую красивую звезду?

     04.01.2017       Выпуск 159 (02.01.2017 - 08.01.2017)       Статьи

Запуск Flask приложения c uWSGI, virtualenv и nginx

Пост про то, как запустить Flask веб-приложение под uWSGI в связке с nginx

     29.12.2016       Выпуск 158 (26.12.2016 - 01.01.2017)       Статьи

Стильный код на Python, или учимся использовать Flake8

Язык программирования Python очень востребован на современном рынке, он развивается изо дня в день, и вокруг него сложилось активное сообщество. Во избежание конфликтов между разработчиками-питонистами, создатели языка написали соглашение PEP 8, описывающее правила оформления кода, однако даже там отмечено, что: