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

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

     21.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи

CoffeeMiner: взлом WiFi для внедрения криптомайнера в HTML-страницы

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

Цель этой статьи — объяснить, как провести атаку MITM (человек посередине) для внедрения определённого JavaScript-кода в страницы HTML, чтобы заставить все устройства, подключённые к WiFi, майнить криптовалюту для злоумышленника.

Задача состоит в создании скрипта, который проводит автономную атаку в сети WiFi. Это то, что мы назвали CoffeeMiner, поскольку атаки такого типа можно проводить в кафе.

     20.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи

Как я писал telegram-бота и заливал его на удаленный сервер

Как только на территории РФ вступил в силу запрет на анонимность в мессенджерах, у меня дошли руки написать пост про telegram-бота. По ходу создания бота столкнулся с большим количеством проблем, которые пришлось решать по отдельности, и буквально выцеживать крупинки информации со всего интернета. И вот после нескольких месяцев страданий и мучений (кодинг – не основное моё занятие) я наконец-то закончил с ботом, разобрался со всеми проблемами и готов поведать свою историю Вам.

     20.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи

Расчёт сопел современных ракетных двигателей

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

     19.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи

Создание REST API на Falcon Falcon

В этой статье мы создадим REST API на основе фреймворка Python Falcon, потестируем производительность и попробуем его масштабировать, чтобы справиться с нагрузками.
Для реализации и тестирования нашего API нам понадобятся следующие компоненты:

 

     18.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи

OAuth аутентификация в приложении Flask Flask

Технологии OAuth уже больше 10 лет, и 99% процентов интернет-аудитории имеет аккаунт минимум на одном из ресурсов, поддерживающих OAuth. Кнопка «Войти через» есть почти на каждом ресурсе? Разберемся как это делается с применением микрофреймворка Flask.

     18.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи

Мега-Учебник Flask, Часть 7: Обработка ошибок ( издание 2018) Flask

Это седьмая глава серии Mask-Tutorial, в которой я расскажу вам, как выполнять обработку ошибок в приложении Flask.

     17.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи

Итерируемые объекты, итераторы и генераторы в Python

В статье разберемся, что такое итерируемые объекты, итераторы и генераторы. Узнаем тайну работы цикла for. Реализуем шаблон проектирования “Итератор”. А затем удалим все и сделаем “по-нормальному”, используя генераторы.

     17.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи

gc.freeze() поможет экономить память

О нововведении в CPython от инженеров из Instagram.

     16.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи

Django. Расширенные параметры поиска Django

Организация фильтрации/поиска контента с расширенными параметрами в стиле ключ/значение

     15.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи

Пишем многопользовательскую змейку на tornado

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

     15.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи

Работа с форматом AVRO в python — библиотека fastavro

В статье описывается использование формата сериализации AVRO в языке python, дается краткое описание AVRO-схемы с пояснениями наиболее неочевидных моментов, приводятся конкретные примеры кода на python. Намеренно исключены из рассмотрения вопросы эволюции схем (schema evolution), RPC и AVRO-IDL.

 

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

     15.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи

Парсим мемы в питоне: как обойти серверную блокировку

Новогодние праздники — прекрасный повод попрокрастинировать в уютной домашней обстановке и вспомнить дорогие сердцу мемы из 2k17, уходящие навсегда, как совесть Electronic Arts.

 

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

     14.01.2018       Выпуск 212 (08.01.2018 - 14.01.2018)       Статьи

Telegram бот на Python в 30 строчек кода с ИИ

Сегодня мне в голову пришла мысль: «А почему бы не написать Telegram чат-бота с ИИ, которого потом можно будет обучать?»


Сейчас сделать это совсем легко, поэтому, недолго думая, я принялся к написанию кода.
Языком я выбрал Python, т.к. на нём легче всего работать с подобного рода приложениями.

Итак, для создания Telegram чат-бота с ИИ нам потребуется:

     13.01.2018       Выпуск 212 (08.01.2018 - 14.01.2018)       Статьи

Как обучть мдль пнмть упртые скрщня

Недавно я натолкнулся на вопрос на Stackoverflow, как восстанавливать исходные слова из сокращений: например, из wtrbtl получать water bottle, а из bsktball — basketball. В вопросе было дополнительное усложнение: полного словаря всех возможных исходных слов нет, т.е. алгоритм должен быть в состоянии придумывать новые слова.

 

Вопрос меня заинтриговал, и я полез разбираться, какие алгоритмы и математика лежат в основе современных опечаточников (spell-checkers). Оказалось, что хороший опечаточник можно собрать из n-граммной языковой модели, модели вероятности искажений слов, и жадного алгоритма поиска по лучу (beam search). Вся конструкция вместе называется модель зашумлённого канала (noisy channel).

     12.01.2018       Выпуск 212 (08.01.2018 - 14.01.2018)       Статьи

Тесты на знание Python, PHP, Golang и DevOps: разбор викторины AvitoQuiz на Highload

Конференция Highload++ 2017 отгремела, и это было круто — как всегда. Мы пересматриваем доклады, вовсю пользуемся опытом, которым с нами поделились коллеги, и с удовольствием вспоминаем разные активности, которые проводились вне зоны докладов.

     11.01.2018       Выпуск 212 (08.01.2018 - 14.01.2018)       Статьи

OK Google, заведи мне машину

Будущее всё ближе. Лет 10 назад я и не мог подумать, что буду заводить машину с помощью голосовой команды!

Последние годы я с интересом наблюдал за бурным развитием голосовых ассистентов. После выхода Google Home Mini, решил что и мне уже пора попробовать, так как цена стала более-менее адекватной для «игрушки». Первый проект — интеграция голосового помощника с GSM модулем StarLine для автозапуска, контроля координат, напряжения аккумулятора и других параметров, отдаваемых сигнализацией автомобиля. Итак, поехали?

     11.01.2018       Выпуск 212 (08.01.2018 - 14.01.2018)       Статьи

Конструктор GUI Visual Tcl с поддержкой тематических виджетов

Последняя версия конструктора GUI Visual Tclопирается на использование пакета Tcl/Tk версии 8.6. Этот пакет включает в себя как классические Tk-виджеты, так и тематические виджеты (Themed Widgets) TTK. Тем удивительнее, что конструктор vTcl поддерживает только классические tk-виджеты. Отчасти это можно объяснить поддержкой в vTcl виджетов BWidget, которые исторически включают в себя виджеты для создания «записных книжек» (Notebook), combobox-ов и т.д.:

     11.01.2018       Выпуск 212 (08.01.2018 - 14.01.2018)       Статьи

Мега-Учебник Flask, Часть 5: Пользовательские логины ( издание 2018 ) Flask

Это пятый выпуск серии Flask Mega-Tutorial, в котором я расскажу вам, как создать подсистему входа пользователя.

     11.01.2018       Выпуск 212 (08.01.2018 - 14.01.2018)       Статьи

Мега-Учебник Flask, Часть 6: Страница профиля и аватары Flask

Это шестой выпуск серии Flask Mega-Tutorial, в котором я расскажу вам, как создать страницу профиля пользователя.

     10.01.2018       Выпуск 212 (08.01.2018 - 14.01.2018)       Статьи

Работаем со смарт-картами, используя Python (часть 1)

Сначала, на момент задумки, в 2014 году, данная статья планировалась как единая публикация, но, проработав материал (лень вынудила растянуть этот процесс), я понял, что необходимо её разделить на две части:

 

 

  1. Знакомство с библиотекой и написание/разбор кода специального командного процессора, который ее использует.
  2. Использование командного процессора из ч.1 для чтения содержимого файла с симки, которую я, однажды, подобрал на улице (никаких персональных данных раскрыто не будет). Узнаем, как отучить Windows встревать в наше взаимодействие с картой, а также, возможно, затронем тему выбора (активации) системного приложения на карте (если моя экспериментальная карта окажется UICC).