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

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

     01.01.2018       Выпуск 211 (01.01.2018 - 07.01.2018)       Статьи
     01.01.2018       Выпуск 211 (01.01.2018 - 07.01.2018)       Статьи
     01.01.2018       Выпуск 211 (01.01.2018 - 07.01.2018)       Статьи

ScadaPy — создание мнемосхем

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

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

     29.12.2017       Выпуск 210 (25.12.2017 - 31.12.2017)       Статьи

Мастерская интернет-разработчика — Монтируем Google Drive диск через gdfs на Ubuntu 17.04

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

Для этого нам необходимо будет установить клиентскую библиотеку для работы с API Google, драйвер gdfs, получить код авторизации и настроить автоматическое монтирование при загрузке сервера.

     29.12.2017       Выпуск 210 (25.12.2017 - 31.12.2017)       Статьи

Импорт и преобразование словаря LinguaLeo в флэш-карты Anki

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

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

Что если нам попытаться скрестить ужа с ежом использовать преимущества двух платформ? Взять сами слова из Лингва Лео вместе со всеми медиафайлами и информацией и использовать ресурсы Anki для их запоминания.

     29.12.2017       Выпуск 210 (25.12.2017 - 31.12.2017)       Статьи

Оптимизация стадии инициализации Django

Если у вас Django проект работает на синхронных воркерах и вы периодически их перезапускаете (например, в gunicorn это опция --max-requests), полезно было бы знать, что по-умолчанию после каждого перезапуска воркера, первый запрос к нему обрабатывается гораздо дольше, чем последующие.

     28.12.2017       Выпуск 210 (25.12.2017 - 31.12.2017)       Статьи

Определение формата файла с помощью Python

Совсем недавно я столкнулся с проблемой: по необьяснимым причинам карта памяти начала забрасывать все файлы в папку LOST.DIR без расширений. За долгое время там накопилось более 500 файлов разного типа: картинки, видео, аудио, документы. Самостоятельно понять формат файла было невозможным, по этому я стал искать способ решения этой проблемы программным путем.

     28.12.2017       Выпуск 210 (25.12.2017 - 31.12.2017)       Статьи
     28.12.2017       Выпуск 210 (25.12.2017 - 31.12.2017)       Статьи
     28.12.2017       Выпуск 210 (25.12.2017 - 31.12.2017)       Статьи
     28.12.2017       Выпуск 210 (25.12.2017 - 31.12.2017)       Статьи
     28.12.2017       Выпуск 210 (25.12.2017 - 31.12.2017)       Статьи

Random Forest in Python

A Practical End-to-End Machine Learning Example.

     28.12.2017       Выпуск 210 (25.12.2017 - 31.12.2017)       Статьи
     27.12.2017       Выпуск 210 (25.12.2017 - 31.12.2017)       Статьи

Математические модели релейно-импульсных регуляторов

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

Практика промышленного использования микропроцессорных регулирующих приборов (МРП) показала, что “идеальные алгоритмы” физически не реализуемы. Синтезированная на их основе АСР не отражает поведение реальной системы [1].

     27.12.2017       Выпуск 210 (25.12.2017 - 31.12.2017)       Статьи

Вредные заклинания в программировании

С тех пор, как я посмотрел легендарное видео Wat Гэри Бернхардта, меня завораживает странное поведение некоторых языков программирования. Некоторые из них таят больше сюрпризов, чем другие. Например, для Java написана целая книга с описанием пограничных ситуаций и странной специфики. Для C++ вы просто можете почитать сами спецификации всего за $200.

Далее поделюсь с вами моей коллекцией самых неожиданных, забавных и всё-таки валидных «заклинаний» программирования. По сути, использование этих особенностей поведения ЯП считается пагубным, поскольку ваш код никоим образом не должен быть непредсказуемым. Хорошо, что многие линтеры уже осведомлены и готовы посмеяться над вами, если попробуете какое-то из перечисленных дурачеств. Но как говорится, знание — сила, так что начнём.

     26.12.2017       Выпуск 210 (25.12.2017 - 31.12.2017)       Статьи
     26.12.2017       Выпуск 210 (25.12.2017 - 31.12.2017)       Статьи

Пробуем q-learning на вкус, повесть в трех частях

Эта статья — небольшая заметка о реализации алгоритма q-learning для управления агентом в стохастическом окружении. Первая часть статьи будет посвящена созданию окружения для проведения симуляций — мини-игр на поле nxn, в которых агент должен как можно дольше продержаться на удалении от противников, движущихся случайным образом. Задача противников, соответственно, его настигнуть. Очки начисляются за каждый ход, проведенный агентом в симуляции. Вторая часть статьи затронет основы q-learning алгоритма и его имплементацию. В третьей части попробуем поменять параметры, которые определяют восприятие окружения агентом. Проанализируем влияние этих параметров на результативность его игры. Акцент я специально сместил в сторону использования минимального количества сторонних модулей. Цель — прикоснуться к самой сути алгоритма, так сказать потрогать руками. Для реализации будем использовать только «pure» python 3.

     26.12.2017       Выпуск 210 (25.12.2017 - 31.12.2017)       Статьи

Где хранить бизнес логику в Django Django

Толстые модели (fat models), тонкие представления (thin views), тупые шаблоны (stupid templates) - один из распространенных подходов к структурированию Django приложений. Цель подхода - вынести бизнес логику из представлений и шаблонов, и поместить ее в модели. Очевидно, что представления и шаблоны не должны содержать бизнес логику, так как они имеют совсем другие обязанности. Но выносить логику в модели не лучший вариант. Это приводит к тому, что модели становятся слишком большими и имеют слишком много обязанностей. Получаются так называемые объекты боги (god objects). Из-за их сложности код сложно понять, тестировать и поддерживать.