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

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

     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)       Статьи

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

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

     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, описывающее правила оформления кода, однако даже там отмечено, что: 

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

Как запрограммировать пословицу?

Пожалуй, можно описать с помощью программного кода почти все, что нас окружает. И хорошо, что почти, это позволяет нам не погружаться полностью в матрицу. Да, еще довольно трудно запрограммировать поведение отдельно взятых политиков, ведь как можно описать то, что не поддается логике? А вот мудрость, как противовес этому — можно. 

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

Быстрый Data Mining или сравнение производительности C# vs Python (pandas-numpy-skilearn)

Разбираясь со Spark Apache, столкнулся с тем, что после достаточно небольшого усложнения алгоритмов подготовки данных расчеты стали выполняться крайне медленно. Поэтому захотелось реализовать что-нибудь на C# и сравнить производительность с аналогичным по классу решением на стеке python (pandas-numpy-skilearn). Аналогичным, потому что они выполняются на локальной машине. Подготовка данных на C# осуществлялась встроенными средствами (linq), расчет линейной регрессии библиотекой extremeoptimization.

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

Реализация правил (действий) в карточной онлайн игре

Немного людей которые никогда не играли в настольные экономические игры, такие как монополия, рынок, миллионер. Мы с друзьями играли в них дни на пролёт. Со временем, после зазубривания всех правил, и десятков сыгранных партий, хотелось чего-то большего. И мы начали рисовать игры сами. Сначала маленькие, и в большей степени копирующие возможности тех игр, что мы выдели раньше, но потом приходили и свои идеи. В конце доходило до того, что игра располагалась на 9 листах формата А4, а её правила были настолько нетерпимыми к новичкам, что кроме нас никто не мог научиться в неё играть (хотя в монополию со мной играли родители). Там было много всего, строительство, экономика, игровое взаимодействие (например подставы или взаимопомощь). Десятки видов оружия, машин. Чтобы стрелять нужны были патроны. С некоторыми ранениями можно было продолжать играть, с другими путь в больницу, и т.п.

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

Опыт портирования проекта на Python 3

Хочу поделиться опытом портирования проекта с Python 2.7 на Python 3.5. Необычными засадами и прочими интересными нюансами.

     23.12.2016       Выпуск 157 (19.12.2016 - 25.12.2016)       Статьи

Финансовый Telegram-бот за 30 минут с Market Data API

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

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

     21.12.2016       Выпуск 157 (19.12.2016 - 25.12.2016)       Статьи

Быстрый курс Redux + websockets для бэкендера

Это краткое руководство и обучение по фронтэнеду для бэкендера. В данном руководстве я решаю проблему быстрого построения пользовательского интерфейса к серверному приложению в виде одностраничного веб-приложения (single page app).

     21.12.2016       Выпуск 157 (19.12.2016 - 25.12.2016)       Статьи

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

Elizabeth — это библиотека для языка программирования Python, которая помогает генерировать фиктивные данные. Один из простейших примеров использования библиотеки — это заполнение баз данных для приложений на Flask или Django. На данный момент библиотека поддерживает 16 языковых стандартов и 18 классов-провайдеров, предоставляющих разного рода данные.

     20.12.2016       Выпуск 157 (19.12.2016 - 25.12.2016)       Статьи

Книга Лучано Рамальо «Python. К вершинам мастерства»

На днях дочитал книгу Лучано Рамальо «Python. К вершинам мастерства». Пожалуй, это лучшая техническая книга, которая мне попадалась за последние время. Это объемная книга, содержащая 768 страниц, но при этом читается она достаточно легко. Сразу надо сказать, что книга Рамальо — не учебник для начинающих, вы уже должны знать Python хотя бы на начальном уровне, представлять себе, что такое объектно-ориентированное программирование и иметь хотя бы общее представление о шаблонах проектирования. 

     16.12.2016       Выпуск 156 (12.12.2016 - 18.12.2016)       Статьи

Обработка событий мыши и клавиатуры на графиках Matplotlib

Иногда при использовании библиотеки Matplotlib требуется добавить возможность пользователю взаимодействовать с нарисованным графиком — выделять интересующие области, перетаскивать объекты на графике и т.п. Для подобных задач библиотека Matplotlib позволяет обрабатывать различные события, связанные с действиями мышью и нажатиями клавиш. 

     15.12.2016       Выпуск 156 (12.12.2016 - 18.12.2016)       Статьи

Отладка вашей ОС: урок по выделению памяти

Всё началось, как и многие другие расследования, с баг-репорта.

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

     14.12.2016       Выпуск 156 (12.12.2016 - 18.12.2016)       Статьи

Синтаксический анализ текстов с помощью SyntaxNet

Для одной из задач мне понадобился синтаксический анализатор русскоязычных текстов. Что это такое. Например, у нас есть предложение «Мама мыла раму». Нам нужно получить связи слов в этом предложении в виде дерева.
Из этого дерева понятно, что связаны слова «мама» и «мыла», а также «мыла» и «раму», а слова «мама» и «раму» напрямую не связаны.