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

Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE

     16.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Статьи

Устраняем зависимости между объектами в Python

Хорошо спроектированная программа состоит из объектов, отвечающих принципу единственной обязанности. Такие объекты постоянно “общаются” друг с другом, и поэтому зависимость между ними неизбежна. Но эту зависимость можно свести к минимуму с помощью: внедрения зависимости (dependency injection), использования именованных параметров и изоляции внешних сообщений. Об этих методах пойдет речь в статье.

     15.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Статьи

Пишем x86-64 комплятор JIT с нуля в стоковом Python

В этой статье я покажу, как написать рудиментарный, нативный x86-64 just-in-time компилятор (JIT) на CPython, используя только встроенные модули.

Код предназначен для UNIX-систем, таких как macOS и Linux, но его должно быть легко транслировать на другие системы, типа Windows. Весь код опубликован на github.com/cslarsen/minijit.

Цель — сгенерировать в рантайме новые версии нижеприведённого ассемблерного кода и выполнить их.

     15.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Статьи

Механизм общения браузера и сервера на языке Python

Разбираемся как браузер общается с веб сервером с помощью языка Python.

     12.11.2017       Выпуск 203 (06.11.2017 - 12.11.2017)       Статьи

Как программно управлять WiFi маршрутизатором TP-Link с помощью Python requests

Однажды передо мной встала задача реализации программного управления одним из распространенных домашних Wi-Fi маршрутизаторов TP-Link TL-WR841N, у которого, к сожалению, нет интерфейса управления через командную строку (telnet, SSH). Я хотел, чтобы мой Telegram бот, реализованный на Python на базе SBC в локальной домашней сети, на основе моих команд выполнял следующие функции управления маршрутизатором

     11.11.2017       Выпуск 203 (06.11.2017 - 12.11.2017)       Статьи

Руководство к созданию собственного когортного отчёта по возвратности

Когортный анализ возвратности пользователей является мощным способом для понимания разных групп клиентов — их поведения и значимости для бизнеса. Однако итоговые таблицы бывает трудно понять с первого раза, а с ходу придумать, как их построить, ещё сложнее.

В статье будет описан относительно простой, но полезный алгоритм построения когортой таблицы, а также приведены наброски кода с Python/Pandas и SQL. Если Вам необходимо программно реализовать построение когортного отчёта или просто интересно узнать этот алгоритм — прошу под кат.

     10.11.2017       Выпуск 203 (06.11.2017 - 12.11.2017)       Статьи

Запуск/отладка Python скриптов в контейнерах LXC/LXD из под VS Code

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

     09.11.2017       Выпуск 203 (06.11.2017 - 12.11.2017)       Статьи

Генерация кода на Python при помощи Hy

Hy — диалект Лиспа, который встроен в питон.

Благодаря тому, что Hy трансформирует свой Лиспоподобный код в Абстрактное Синтаксическое Дерево (AST) питона, с помощью Hy весь прекрасный мир питона — на кончиках пальцев и в форме Лиспа.

     09.11.2017       Выпуск 203 (06.11.2017 - 12.11.2017)       Статьи

Оптимизация портфеля ценных бумаг средствами Python

На финансовом рынке обращается, как правило, несколько типов ценных бумаг: государственные ценные бумаги, муниципальные облигации, корпоративные акции и т.п.

Если у участника рынка есть свободные деньги, то их можно отнести в банк и получать проценты или купить на них ценные бумаги и получать дополнительный доход. Но в какой банк отнести? Какие ценные бумаги купить?

     07.11.2017       Выпуск 203 (06.11.2017 - 12.11.2017)       Статьи

«Рок это жёстко» или я.музыка как граф

Я очень давно пользуюсь яндекс музыкой для поиска «что послушать». Чаще всего, я просто хожу по похожим исполнителям приятных мне групп, однако, этот метод уже давно не даёт результатов. Какое-то время мои потребности закрывало я.радио с фильтром по жанру, но и его репертуар на удивление скуп. Настало время решать проблему глобально, и вот что из этого получилось =)

     05.11.2017       Выпуск 202 (30.10.2017 - 05.11.2017)       Статьи

ScadaPy — использование OPC UA

В предыдущих нескольких статьях, мною были описаны возможности применения протокола modbus для создания собственной Scada системы на базе python. В этот раз хочется поделиться опытом построения системы опроса подчиненных устройств с использованием ОРС технологии. 
Недостатки OPC серверов в том, что их можно использовать только в операционных системах семейства Microsoft Windows (как правило они платные), а об устройствах использующих ОС Linux можно было забыть. 

     05.11.2017       Выпуск 202 (30.10.2017 - 05.11.2017)       Статьи

Народный мониторинг ESP8266 MQTT Micropython

Как быстро, без особых вложений, начать выкладывать метеоданные на народный мониторинг?
Опишу одно из решений на базе ESP8266.

Алгоритм работы простой: контроллер раз в пять минут подключается к wi-fi, соединяется с брокером, замеряет температуру и шлет её брокеру. В остальное время находится в режиме сна.
Данная статья не рассматривает вопросы установки micropython на esp8266 и физического подключения датчика. Это всё легко гуглится.

     04.11.2017       Выпуск 202 (30.10.2017 - 05.11.2017)       Статьи

Телеграм-бот для домашнего видео-наблюдения из подручных материалов

 

Эта статья содержит некоторое количество программного кода, написанного на языке Python. Ввиду того, что автор статьи по профессии является сисадмином, но не программистом — стиль и качество этого кода, могут вызвать проявление неконтролируемых эмоций у профессионалов. Пожалуйста, немедленно прекратите чтение если вид неаккуратного или неоптимального кода может негативно сказаться на вашем психическом состоянии.

     03.11.2017       Выпуск 202 (30.10.2017 - 05.11.2017)       Статьи

Гибкая система управления доступом на уровне объектов-записей

 

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

     02.11.2017       Выпуск 202 (30.10.2017 - 05.11.2017)       Статьи

Пишем список дел на Python 3 для Android через QPython3 и SL4A

Движок QPython (и QPython 3) для Android – вещь по-прежнему плохо изученная, и особенно что касается его встроенной библиотеки Scripting Layer For Android (SL4A), она же androidhelper. Эту библиотеку написали несколько сотрудников Google по принципу 20% свободного времени, снабдили ее спартанской документацией, которую почти невозможно найти, и отправили в свободное плавание. Я искал информацию об SL4A по крупицам, но со временем нашел практически все, что мне нужно.

     01.11.2017       Выпуск 202 (30.10.2017 - 05.11.2017)       Статьи

О разработке одного desktop-приложения на Python

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

     28.10.2017       Выпуск 201 (23.10.2017 - 29.10.2017)       Статьи

Убираем радиальное искажение с фото и видео при помощи библиотеки openCV и языка python

В данной статье будет рассказываться о применении библиотеки машинного зрения (openCV) для удаления эффекта радиального искажения (дисторсии) с фото и видео. Данный эффект также известен как эффект рыбьего глаза (fisheye) или distortion. Решение написать данную статью было принято после нескольких дней поиска информации в интернете. Не смотря на то, что есть гайды на английском языке, они не объясняют как правильно установить openCV, чтобы все работало. В статье присутствует готовый код.

 

     26.10.2017       Выпуск 201 (23.10.2017 - 29.10.2017)       Статьи

Синтаксический анализ в NLTK

Здравствуйте. Это статья об синтаксическом анализе предложений, их представлении. Для разбора предложений будет использоваться пакет NLTK и язык программирования Python (версии 2.7).

     25.10.2017       Выпуск 201 (23.10.2017 - 29.10.2017)       Статьи

Мониторинг событий git clone и git push на локальном GitLab сервере

Иногда возникает желание мониторить локальный GIT сервер на предмет кто (ФИО из LDAP), какой проект и откуда(ip-адрес) клонит или пушит.

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

Мой рецепт не претендует на универсальность, я надеюсь он многим пригодится как, отправная точка.

     25.10.2017       Выпуск 201 (23.10.2017 - 29.10.2017)       Статьи

Где перспективно и адекватно использовать Python

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

     23.10.2017       Выпуск 201 (23.10.2017 - 29.10.2017)       Статьи

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

Вопросы, которые разобраны в статье:

• Как собрать и подготовить данные для построения модели?
• Что такое нейронная сеть и как она устроена?
• Как написать свою нейронную сеть с нуля?
• Как правильно обучить нейронную сеть на имеющихся данных?
• Как интерпретировать модель и ее результаты?
• Как корректно оценить качество модели?