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

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

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

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

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

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

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

«4 свадьбы и одни похороны» или линейная регрессия для анализа открытых данных правительства Москвы

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

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

     22.10.2017       Выпуск 200 (16.10.2017 - 22.10.2017)       Статьи

Расширяем и используем Flatpages в Django. Встраиваем CKEditor

Cегодня я хотел бы вам рассказать о том, как сделать модель, которая хранит в себе обычные страницы, а не отдельные записи в базе данных (для ListView, TemplateView и тд). Речь пойдёт о том, как расширить и дополнить существующие в Django flatpages. Но хотелось бы рассказать о проблеме, с которой я столкнулся и почему решил поделиться данным функционалом. Часто возникает ситуация, когда в админке для администратора сайта нужно реализовать функционал самой обычной страницы (одна запись в БД – это одна страница, где прописывается url, контент и доп. инфа для конкретной страницы). Тем самым можно создавать прямо из админки новые страницы с любым url и контентом.

     21.10.2017       Выпуск 200 (16.10.2017 - 22.10.2017)       Статьи

Пишем простой счётчик уникальных слов на Python с GUI на Tkinter

Данная статья написана для тех, кто только начал изучать Python. В ней я пошагово опишу создание простого счетчика слов из txt-файлов, применяя Tkinter. Исходный код написан под Python 2.7, в конце статьи я добавлю несколько комментариев относительно того, как перенести его под 3.6

     20.10.2017       Выпуск 200 (16.10.2017 - 22.10.2017)       Статьи

“Без data engineer-а ценность модели аналитика стремится к нулю” — интервью с дата инженером Николаем Марковым

Data Engineering становится все более популярным, многие компании постепенно открывают соответствующие вакансии. В связи с этим мы взяли интервью у дата инженера и преподавателя на программах “Специалист по большим данным” и “Data Engineer” Николая Маркова о том, что должны уметь data scientist-ы и data engineer-ы, чего им чаще всего не хватает и как найти свое место в анализе данных.

     20.10.2017       Выпуск 200 (16.10.2017 - 22.10.2017)       Статьи

Code review по-человечески (часть 1)

В последнее время я читал статьи о лучших практиках code review и заметил, что эти статьи фокусируются на поиске багов, практически игнорируя другие компоненты ревью. Конструктивное и профессиональное обсуждение обнаруженных проблем? Неважно! Просто найди все баги, а дальше само сложится.

Так что у меня случилось откровение: если это работает для кода, то почему не будет работать в романтичных отношениях? Итак, встречайте новую электронную книгу, которая поможет программистам в отношениях со своими возлюбленными (обложка на иллюстрации слева).

     19.10.2017       Выпуск 200 (16.10.2017 - 22.10.2017)       Статьи

Руководство по созданию расширений для Jinja2 Jinja2

Jinja2 — Python-библиотека для рендеринга шаблонов, являющаяся де-факто стандартом при написании веб-приложений на Flask и довольно популярной альтернативой встроенной системе шаблонов Django. Хотя и будучи сильно привязана к языку, Jinja2 позиционирует себя как инструмент для дизайнеров и верстальщиков, упрощающий вёрстку и отделяющий её от разработки, и пытающийся по мере возможностей изолировать не-разработчиков от Python. Вёрстка, впрочем, не единственное возможное её применение; например, в своей работе я использую шаблоны Jinja2 для генерации SQL-запросов.

     18.10.2017       Выпуск 200 (16.10.2017 - 22.10.2017)       Статьи

Сравнение и создание морфологических анализаторов в NLTK

Здравствуйте. Это статья о сравнении существующих и создании своих морфологических анализаторов в библиотеке NLTK.

NLTK — пакет библиотек и программ для символьной и статистической обработки естественного языка, написанных на языке программирования Python. Отлично подходит для людей, изучающих компьютерную лингвистику, машинное обучение, информационный поиск [1].
В данной статье я буду сопровождать примеры кодом на языке Python (версии 2.7).

     17.10.2017       Выпуск 200 (16.10.2017 - 22.10.2017)       Статьи

Вышла Odoo 11 — открытая система для автоматизации бизнеса

В академ-городке Лувэн-ла-Нёв (Louvain-la-Neuve) недалеко от Брюсселя около недели назад прошла 3-х дневная конференция Odoo Experience 2017, которая собрала разработчиков и пользователей Odoo со всего мира.

Я там был, пиво пил, и про Odoo говорил. А этот пост пишу для тех, кто про Odoo ничего не слышал, или до сих пор не пробовал эту прекрасную платформу.

Odoo — это самая популярная в мире открытая платформа для бизнес-приложений, которая развивается с 2005 года (TinyERP -> OpenERP -> Odoo). 

     17.10.2017       Выпуск 200 (16.10.2017 - 22.10.2017)       Статьи

История взлома всех игр в Telegram

Сейчас компьютерные игры везде. Присутствуют они и в Telegram. Расскажу о том, как были взломаны практически все игры этого мессенджера, обойдя самых первоклассных игроков, находящихся в топах скорбордов. Хочу поделится результатами исследований. О различных методиках взлома, читинга и путях обхода логики игр под катом.

     16.10.2017       Выпуск 200 (16.10.2017 - 22.10.2017)       Статьи

Поиск решения для быстрого создания интерфейсов СУБД

Практически каждый человек сталкивается с ведением какого-либо учета, сбором и анализом данных: от использования таблиц в экселе до работы с данными в клиент-банковском приложении. Повсеместно для такого учета используются различные системы управления базами данных (СУБД).

В статье я хотел бы рассказать о своем пути поиска такой системы.

     16.10.2017       Выпуск 200 (16.10.2017 - 22.10.2017)       Статьи

ScadaPy возможности применения modbus протокола

 

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

     16.10.2017       Выпуск 200 (16.10.2017 - 22.10.2017)       Статьи

Русскоязычный чат-бот Boltoon: создаем виртуального собеседника

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

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

На мой взгляд, в этом что-то есть… 


Тем не менее, о чат-ботах много говорят на Хабре. Они могут быть самые разные. Популярностью пользуются боты на базе нейронных сетей прогнозирования, которые генерируют ответ пословно. Это очень интересно, но затратно с точки зрения реализации, особенно для русского языка из-за большого количества словоформ. Мной был выбран другой подход для реализации чат-бота Boltoon. 

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

Цветы, муха и хорошо отрепетированное случайное машинное обучение

В предыдущей серии я пытался сделать из мухи разумное существо. Коротко — не вышло. Муха упорно не хотела учиться. 

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

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

Обучение проходило кое-как, результата не было. Затем, оставив попытки обучения по уважительным причинам (как то — вечер субботы, ночь и утро воскресенья), я все же думал, что делать дальше. Какие-то возможные решения были намечены в конце первой статьи, с них и продолжил.

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

Как научить свою нейросеть анализировать морфологию

Недавно мы рассказывали про генератор стихов. Одной из особенностей языковой модели, лежащей в его основе, было использование морфологической разметки для получения лучшей согласованности между словами. Однако же у использованной морфоразметки был один фатальный недостаток: она была получена с помощью “закрытой” модели, недоступной для общего использования. Если точнее, выборка, на которой мы обучались, была размечена моделью, созданной для Диалога-2017 и основанной на закрытых технологиях и словарях ABBYY.

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

Minecraft. Создание копировального аппарата

Предлагаем вместе создать в игре Minecraft копировальный аппарат

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

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

Jupyter Widgets для реализации UI машины Тьюринга

Хочу поделиться опытом в быстром создание интерфейса в Jupyter Notebook. Если у тебя есть какая-то задача, для которой нужен простой UI, и ты почему-то захотел сделать её в Юпитере, то добро пожаловать под кат.

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

Ломаем модифицированный AES-256

Недавно в институте я столкнулся с любопытной криптографической задачей, которой хотел бы поделиться с Сообществом. Одним предложением задачу могу обозначить, как "Атака на LSX-шифр, не содержащий нелинейной компоненты, на основе открытых текстов". Так как русскоязычных примеров решения таких учебных «головоломок» встречается немного, а сама задача рекомендована для начинающих свой путь специалистов, я считаю, что такая статья может быть интересна юному криптоаналитику. Пожалуйте под кат.