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

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

     08.09.2015       Выпуск 90 (07.09.2015 - 13.09.2015)       Статьи

Программа-помощник для освоения слепой печати на клавиатуре в Linux

Хочу показать и рассказать о небольшой программке, которая принесла пользу.

Однажды на работе мне написал друг. Диалог у нас состоялся примерно следующий:
— Привет, я тут обучаюсь технике слепой печати. Дело в том, что на линуксе нет программки, которая могла бы мне помочь. В общем, может ты сможешь быстренько написать такую?

Так как помочь другу — святое дело, да и задача выглядела интересной, помочь я согласился. В итоге получилось вот что: Кому интересно, подробности ниже 

     04.09.2015       Выпуск 89 (31.08.2015 - 06.09.2015)       Статьи

Centrifuge + Go = Centrifugo – harder, better, faster, stronger

В сентябре прошлого года была опубликована последняя статья о Центрифуге — сервере с открытым исходным кодом для обмена сообщениями в режиме реального времени. Теперь в списке хабов, в которые публикуется этот пост, присутствует Go. И неспроста, как можно понять уже из заголовка, Центрифуга была портирована с Python на Go — так появилась Centrifugo. О причинах миграции, о плюсах и минусах Go, а также о том, как эволюционировал проект с момента предыдущей публикации – читайте под катом.

     05.09.2015       Выпуск 89 (31.08.2015 - 06.09.2015)       Статьи

Разработка абстрактной модели графа зависимости, её визуализация и применение

Автор рассказывает разработке нодового виджета на PySide, и о том с какими проблемами ему пришлось столкнуться.

     03.09.2015       Выпуск 89 (31.08.2015 - 06.09.2015)       Статьи

Работа с текстовыми данными в scikit-learn (перевод документации) — часть 2

Данная статья представляет перевод главы, обучающей работе с текстовыми данными, из официальной документации scikit-learn. Начало статьи вы можете прочесть в части 1. Обучение классификатора Теперь, когда мы выделили признаки, можно обучать классификатор предстазывать категорию текста. Давайте начнем с Наивного Байесовского классификатора, который станет прекрасной отправной точкой для нашей задачи. scikit-learn включает в себя несколько вариантов этого классификатора. Самый подходящий для подсчета слов — это его поли номинальный вариант: >>> from sklearn.naive_bayes import MultinomialNB >>> clf = MultinomialNB().fit(X_train_tfidf, twenty_train.target)

     02.09.2015       Выпуск 89 (31.08.2015 - 06.09.2015)       Статьи

Программа конференции PYCON RUSSIA 2015

Привет, Хабр! Осталось три недели до третьей международной конференции python-разработчиков Pycon Russia 2015, которая пройдет в Екатеринбурге 18-19 сентября. Мы доделываем итоговую сетку и обговариваем детали последних докладов, но 90% программы готово. Итак, что вас ждет в этом году.

     31.08.2015       Выпуск 89 (31.08.2015 - 06.09.2015)       Статьи

Почему не все так просто с MongoDB

В последнее несколько лет MongoDB приобрела огромную популярность среди разработчиков. То и дело в интернете появляются всякие статьи как очередной молодой популярный проект выкинул на свалку истории привычные РСУБД, взял в качестве основной базы данных MongoDB, выстроил инфраструктуру вокруг неё, и как все после этого стало прекрасно. Даже появляются новые фреймворки и библиотеки, которые строят свою архитектуру целиком на Mongo (Meteor.js например). По долгу работы я примерно 3 года занимаюсь разработкой и поддержкой нескольких проектов, которые используют MongoDB в качестве основной БД, и в этой статье хочу рассказать, почему на мой взгляд с MongoDB далеко не все так просто, как написано в мануалах, и к чему вы должны быть готовы, если вдруг решите взять MongoDB в качестве основной БД в ваш новый модный стартап :-) Все что описано ниже можно воспроизвести с использованием библиотеки PyMongo для работы с MongoDB из языка программирования Python. Однако скорее всего с аналогичными ситуациями вы можете столкнуться и при использовании других библиотек для других языков программирования.

     31.08.2015       Выпуск 89 (31.08.2015 - 06.09.2015)       Статьи

Стоимость жилья как функция координат

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

     24.08.2015       Выпуск 88 (24.08.2015 - 30.08.2015)       Статьи

Типичные вопросы о Python

В этом FAQ'e на русском языке собраны типичные вопросы о Python

     24.08.2015       Выпуск 88 (24.08.2015 - 30.08.2015)       Статьи

Криптография на Python: шифрование информации и создание электронных цифровых подписей с помощью пакета PyCrypto

Долго мучился с PyCrypto, в итоге получилась эта статья и полная реализация следующего протокола: Этап отправки: 1. Алиса подписывает сообщение своей цифровой подписью и шифрует ее открытым ключом Боба (асимметричным алгоритмом). 2. Алиса генерирует случайный сеансовый ключ и шифрует этим ключом сообщение (с помощью симметричного алгоритма). 3. Сеансовый ключ шифруется открытым ключом Боба (асимметричным алгоритмом). Алиса посылает Бобу зашифрованное сообщение, подпись и зашифрованный сеансовый ключ. Этап приёма: Боб получает зашифрованное сообщение Алисы, подпись и зашифрованный сеансовый ключ. 4. Боб расшифровывает сеансовый ключ своим закрытым ключом. 5. При помощи полученного, таким образом, сеансового ключа Боб расшифровывает зашифрованное сообщение Алисы. 6. Боб расшифровывает и проверяет подпись Алисы.

     20.08.2015       Выпуск 87 (17.08.2015 - 23.08.2015)       Статьи

Стабилизация таймлапс-видео на калькуляторе (IPython+OpenCV)

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

     17.08.2015       Выпуск 87 (17.08.2015 - 23.08.2015)       Статьи

Использование фильтра Калмана для определения производных измеряемой величины

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

     15.08.2015       Выпуск 86 (10.08.2015 - 16.08.2015)       Статьи

Анонс steampak 0.1.0: Steam и Python

Краткий анонс новой библиотеки, позволяющей играм/приложениям, написанным на Python получать доступ к функциональности, предлагаемой платформой Steam.

     13.08.2015       Выпуск 86 (10.08.2015 - 16.08.2015)       Статьи

Перенаправление данных из COM-порта в Web

Недавно на хабре была статья «Отображаем данные из Serial в Chrome Application» о том, как красиво представить данные, отправляемые Arduin-кой в Serial. По-моему, ребята предложили очень красивое решение, которое с одной стороны выглядит достаточно простым, а с другой позволяет получить прекрасный результат с минимумом усилий. В комментариях к статье было высказано сожаление о том, что такое решение не заработает под Firefox-ом и высказана идея, что «можно еще написать простенький веб-сервер с выдачей html на основе этой штуки». Меня эта идея «зацепила», быстрый поиск в google готового решения не выдал, и я решил реализовать идею сам. И вот, что из этого вышло.

     12.08.2015       Выпуск 86 (10.08.2015 - 16.08.2015)       Статьи

Блог в reStructuredText разметке

Автор показал как создать блог используя rst разметку.

     12.08.2015       Выпуск 86 (10.08.2015 - 16.08.2015)       Статьи

Оформление графиков в Matplotlib

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

     10.08.2015       Выпуск 86 (10.08.2015 - 16.08.2015)       Статьи

Работа с текстовыми данными в scikit-learn (перевод документации) — часть 1

Данная статья представляет перевод главы, обучающей работе с текстовыми данными, из официальной документации scikit-learn. Цель этой главы — это исследование некоторых из самых важных инструментов в scikit-learn на одной частной задаче: анализ коллекции текстовых документов (новостные статьи) на 20 различных тематик. В этой главе мы рассмотрим как: загрузить содержимое файла и категории выделить вектора признаков, подходящих для машинного обучения обучить одномерную модель выполнять категоризацию использовать стратегию grid search, чтобы найти наилучшую конфигурацию для извлечения признаков и для классификатора

     09.08.2015       Выпуск 85 (03.08.2015 - 09.08.2015)       Статьи

Vagrant, Python, Pycharm = (удобная, работа, Windows)

Django — широко известный и один из наиболее развитых фреймворков для веб-разработки. Django написан на Python и, следовательно, для работы с ним потребуется установленный интерпретатор Python. Это не представляет никаких проблем, если мы работаем в среде Linux. Однако события принимают совсем другой оборот, если приходится заниматься разработкой на Python под Windows.

     05.08.2015       Выпуск 85 (03.08.2015 - 09.08.2015)       Статьи

ipgeobase в Nginx

Когда возникает задача — по адресу посетителя получать его город и налоговый (автомобильный) код региона, кажется — да это же просто, в инете полно таких штук! А потом смотришь: одни платные, другие нельзя у себя развернуть, третьи можно, но это ресурсозатратно, четвертые о регионах РФ ничего не знают… И тут на помощь спешит больной мозг программиста с навязчивой идеей: «Нет у других — сделай сам»

     04.08.2015       Выпуск 85 (03.08.2015 - 09.08.2015)       Статьи

Основы разработки Web-приложения. Часть 1 - REST, CRUD...Test!

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

     04.08.2015       Выпуск 85 (03.08.2015 - 09.08.2015)       Статьи

Событийно-ориентированный бэктестинг на Python шаг за шагом. Часть 2

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