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

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

     12.10.2017       Выпуск 199 (09.10.2017 - 15.10.2017)       Статьи

Обзор фреймворка Luigi для построения последовательностей выполнения задач

Luigi — фреймворк на языке Python для построения сложных последовательностей по выполнению зависимых задач. Довольно большая часть фреймворка направлена на преобразования данных из различных источников (MySql, Mongo, redis, hdfs) и с помощью различных инструментов (от запуска процесса до выполнения задач разных типов на кластере Hadoop). Разработан в компании Spotify и открыт в виде open source инструмента в 2012 году.

     10.10.2017       Выпуск 199 (09.10.2017 - 15.10.2017)       Статьи

Простая Scada на Python и Arduino

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

     10.10.2017       Выпуск 199 (09.10.2017 - 15.10.2017)       Статьи

Строим Data Pipeline на Python и Luigi

В эпоху data-intensive приложений рядовым разработчикам всё чаще приходится сталкиваться с задачами по обработке и анализу данных. Ещё десять лет назад данные большинства проектов могли уместиться на жестком диске одного компьютера в какой-нибудь реляционной базе данных типа MySQL. А задачи по извлечению и обработке хранящихся данных решались за счёт непростых (или простых) SQL запросов. С тех пор мир информационных технологий значительно поменялся. С приходом Internet of Things, мобильных телефонов и дешевого мобильного интернета, объем генерируемых данных вырос в десятки тысяч раз. Ежедневно в мире генерируются эксабайты данных. Анализировать такой поток информации вручную, а тем более извлекать полезные для бизнеса или науки данные, практически невозможно. Но технологии как и время не стоят на месте, появляются новые инструменты, наука двигает прогресс. Если вы хоть чуточку следите за новостями из мира высоких технологий, то фразы "биг дата", "машинное обучение", "глубокое обучение" вас не испугают. С приходом больших данных появились новые профессии и специализации такие как Data Scientist/Analyst (по-русски аналитик данных), Data Engineer. Задачи этих ребят тесно связаны с обработкой, анализом и хранением "нефти 21 века", т.е. информации. Но насколько эффективно они выполняются?

     10.10.2017       Выпуск 199 (09.10.2017 - 15.10.2017)       Учебные материалы

Книга «Python. unittest»

Мы собрали наш опыт использования unittest в Python в небольшую книжку и хотели бы поделиться ей с вами. В книге рассмотрены вопросы создания тестов, объединения их в группы, запуску и пропуску тестов. Данный материал распространяется бесплатно. Будем рады обратной связи и критике!

     09.10.2017       Выпуск 199 (09.10.2017 - 15.10.2017)       Статьи

Как получать оповещения от Jupyter notebook в Telegram?

Довольно просто. Нам понадобится свой телеграм-бот, один пакет и одна строчка кода

     09.10.2017       Выпуск 199 (09.10.2017 - 15.10.2017)       Статьи

Простая Scada на Python (продолжение)

Развивая тему предыдущей статьи, опишу некоторые функции для формирования объектов мнемосхемы простой SCADA программы выполненной на Python.

Объекты визуально отображают состояние аналоговых измеряемых величин из регистров
READ_INPUT_REGISTERS или READ_HOLDING_REGISTERS. Используется библиотека Tkinter.
Всего реализовано 3 объекта: горизонтальный слайдер, вертикальный слайдер и стрелочный индикатор. Отдельно описывается построение динамического тренда.

     08.10.2017       Выпуск 198 (02.10.2017 - 08.10.2017)       Статьи

Что делать, если Instagram не дал доступ к API? Дополнение

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

     07.10.2017       Выпуск 198 (02.10.2017 - 08.10.2017)       Статьи

Как отличать птиц от цветов. Или цветы от птиц

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

     06.10.2017       Выпуск 198 (02.10.2017 - 08.10.2017)       Статьи

Airflow — инструмент, чтобы удобно и быстро разрабатывать и поддерживать batch-процессы обработки данных

В этой статье я хочу рассказать об одном замечательном инструменте для разработки batch-процессов обработки данных, например, в инфраструктуре корпоративного DWH или вашего DataLake. Речь пойдет об Apache Airflow (далее Airflow). Он несправедливо обделен вниманием на Хабре, и в основной части я попытаюсь убедить вас в том, что как минимум на Airflow стоит смотреть при выборе планировщика для ваших ETL/ELT-процессов.

     06.10.2017       Выпуск 198 (02.10.2017 - 08.10.2017)       Статьи

Торговый робот для веб-дизайнеров

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

     06.10.2017       Выпуск 198 (02.10.2017 - 08.10.2017)       Статьи

Как настроить логирование в Django

Настройка логов и их внешнего вида в Django

     05.10.2017       Выпуск 198 (02.10.2017 - 08.10.2017)       Статьи

Django ORM — медленный? Оптимизируем (хардкорно) Django

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

     05.10.2017       Выпуск 198 (02.10.2017 - 08.10.2017)       Статьи

Изучаем блокчейн на практике

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

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

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

     04.10.2017       Выпуск 198 (02.10.2017 - 08.10.2017)       Видео

Организация разработки с нуля. С чего начать?

Максим Богуславский (Gett, Full Stack Team Lead) @ MoscowPython 49
"Вы первый разработчик в отделе. Проект начинается с чистого листа. С чего начать работу и как организовать работу?"
Слайды: http://www.moscowpython.ru/meetup/49/start-dev-from-zero/
Статья по мотивам выступления: https://maxbogus.blogspot.ru/2017/09/blog-post.html

     04.10.2017       Выпуск 198 (02.10.2017 - 08.10.2017)       Видео

Machine Learning without PhD :)

Байрам Аннаков (CEO App in the Air) @ MoscowPython Meetup 49
"Расскажем и покажем, как обучать машины и нейросети для решения простых и не очень задач классификации и распознавания".
Слайды: http://www.moscowpython.ru/meetup/49/ml-no-phd/

     03.10.2017       Выпуск 198 (02.10.2017 - 08.10.2017)       Статьи

Английские субтитры с Лео

 

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

     03.10.2017       Выпуск 198 (02.10.2017 - 08.10.2017)       Видео

Сказ про то, как Go обгонял Python

Расскажу про своё исследование способов достижения высокой производительности на разных штуках из мира Python. Какие результаты были достигнуты на практике при создании одинаковых решений на Go и Python. Представлю свои результаты сравнения с эталоном производительности Go. В докладе будет про: python, go, cython, uvloop, aiohttp, asyncio, sanic и д.р.

     29.09.2017       Выпуск 197 (25.09.2017 - 01.10.2017)       Статьи

Расширяем модель User в Django Django

Для работы с пользователями, Django предоставляет готовую модель User. Часто, одной этой модели недостаточно. Приходится ее расширять, либо переписывать, если не устраивает стандартная реализация.

     27.09.2017       Выпуск 197 (25.09.2017 - 01.10.2017)       Статьи

Хотите рейтинги значимости проектов с GitHub? Их есть у нас!

На прошлой неделе наткнулся на репозиторий «Made in Russia» — один из многочисленных однотипных репозиториев Ионики, с перечислением проектов, принадлежащих авторам, указавшим в профиле ту или иную страну.

Из-за того, что данные не живые, a собранные из дампа, содержимое репозиториев довольно быстро теряет актуальность, а разворачивать Node и всю кухню проекта, чтобы обновить дамп — дело долгое и скучное. Потому лично я не очень верю в развитие упомянутых проектов. Однако же я верю, что можно сделать лучше и интереснее.

Лучше и интереснее, развивая идею, я попытался сделать в новом проекте — CodeOrigins
 

     27.09.2017       Выпуск 197 (25.09.2017 - 01.10.2017)       Вакансии

Вакансия: разработчик в improvado.io

improvado.io - агрегация, анализ и визуализация больших рекламных данных. 

Куча модных технологий и buzzwords, в числе которых: Big Data, Machine Learning.
Главный офис располагается в Сан-Франциско. Центр разработки - в Томске.
Компания успешно прошла программу акселерации в 500 Startups и уже получила более 3 миллионов долларов инвестиций от крайне известных людей в маркетинговой индустрии из Кремниевой долины. 

Что мы предлагаем?

- Работа в офисе, в центре Томска;
- Гибкий график с плавающим началом дня;
- Бесплатные обеды в офисе;
- Уютное рабочее место;
- Футбол;
- Курсы английского языка;
- И, конечно же, крутая команда и взаимоуважение!

Какие навыки нам необходимы?

- Опыт разработки на Python;
- Плюсом будет: опыт Django, Apache Spark, PostgreSQL, Tornado.

Зарплата: 

- От 70 000 до 150 000, по результатам собеседования.

Если твой опыт соответствует требованиям - будем рады ознакомиться с твоим резюме!
Присылай на ivan@improvado.io