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

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

     20.04.2019       Выпуск 278 (15.04.2019 - 21.04.2019)       Статьи

Python Testing с pytest. ГЛАВА 3 pytest Fixtures

Эта книга — недостающая глава, отсутствующая в каждой всеобъемлющей книге Python. Frank Ruiz Principal Site Reliability Engineer, Box, Inc.

     20.04.2019       Выпуск 278 (15.04.2019 - 21.04.2019)       Статьи

Python Testing с pytest. Builtin Fixtures, Глава 4

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

     20.04.2019       Выпуск 278 (15.04.2019 - 21.04.2019)       Статьи

Python Testing с pytest. Плагины, ГЛАВА 5

Достаточно мощный pytest прямо из коробки, становится еще лучше, когда вы добавляете в него микс из плагинов. Кодовая база pytest структурирована настройками и расширениями, и есть хуки, доступные для модификации и улучшений через плагины.

     20.04.2019       Выпуск 278 (15.04.2019 - 21.04.2019)       Статьи

Python Testing с pytest. Использование pytest с другими инструментами, ГЛАВА 7

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

     20.04.2019       Выпуск 278 (15.04.2019 - 21.04.2019)       Статьи

Python Testing с pytest. Конфигурация, ГЛАВА 6

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

     17.04.2019       Выпуск 278 (15.04.2019 - 21.04.2019)       Статьи

Ищем утечки памяти в приложениях на Python

В Zendesk мы используем Python для создания продуктов с машинным обучением. В приложениях с использованием машинного обучения одними из самых распространенных проблем, с которыми мы столкнулись, являются утечка памяти и всплески. Код на Python обычно выполняется в контейнерах с помощью фреймворков распределенной обработки, таких как Hadoop, Spark и AWS Batch. Каждому контейнеру выделяется фиксированный объем памяти. Как только выполнение кода превысит заданное ограничение памяти, контейнер прекратит свою работу из-за ошибок, возникающих по причине нехватки памяти.

     17.04.2019       Выпуск 278 (15.04.2019 - 21.04.2019)       Статьи

SciPy, оптимизация с условиями

SciPy (произносится как сай пай) — это основанный на numpy математический пакет, включающий в себя также библиотеки на C и Fortran. С SciPy интерактивный сеанс Python превращается в такую же полноценную среду обработки данных, как MATLAB, IDL, Octave, R или SciLab.

 

В этой статье рассмотрим основные приемы математического программирования — решения задач условной оптимизации для скалярной функции нескольких переменных с помощью пакета scipy.optimize. Алгоритмы безусловной оптимизации уже рассмотрены в прошлой статье. Более подробную и актуальную справку по функциям scipy всегда можно получить с помощью команды help(), Shift+Tab или в официальной документации.

     17.04.2019       Выпуск 278 (15.04.2019 - 21.04.2019)       Статьи

Django: Размещайте логику вне шаблонов (и представлений)

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

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

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

     16.04.2019       Выпуск 278 (15.04.2019 - 21.04.2019)       Статьи

Реализация словаря в Python

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

     16.04.2019       Выпуск 278 (15.04.2019 - 21.04.2019)       Статьи

Определяем породу собаки: полный цикл разработки, от нейросети на Питоне до приложения на Google Play

Прогресс в области нейросетей вообще и распознавания образов в частности, привел к тому, что может показаться, будто создание нейросетевого приложения для работы с изображениями — это рутинная задача. В некотором смысле, так и есть — если вам пришла в голову идея, связанныя с распознаватием образов, не сомневайтесь, что кто-то уже что-то подобное написал. Все, что от вас требуется, это найти в Гугле соответствующий кусок кода и «скомпилировать» его у автора.

В этой статье мы рассмотрим задачу создания определителя пород собак (Dog Breed Identifier): создадим и обучим нейросеть, а затем портируем ее на Java для Android и опубликуем на Google Play.
 

     16.04.2019       Выпуск 278 (15.04.2019 - 21.04.2019)       Статьи

Перевод: Улучшение безопасности сайта Django с помощью заголовков запросов

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

     15.04.2019       Выпуск 278 (15.04.2019 - 21.04.2019)       Статьи

Инструкция: как тестировать ansible-роли и узнавать о проблемах до продакшена

В этой статье я хочу рассказать о нашем опыте тестирования ansible-ролей.

 

В Ostrovok.ru в качестве менеджера конфигураций мы используем ansible. Недавно мы пришли к необходимости тестирования ролей, но, как оказалось, инструментов для этого существует не так много — самым популярным, пожалуй, является фреймворк Molecule, поэтому мы решили использовать его. Но оказалось, что его документация умалчивает о многих подводных камнях. Достаточно подробного руководства на русском нам не удалось найти, поэтому мы решили написать эту статью.

     15.04.2019       Выпуск 278 (15.04.2019 - 21.04.2019)       Статьи

Отображение и оптимизация вывода на терминал в вебе

Не так давно я столкнулся с довольно простой и одновременно интересной задачей: реализация read-only терминала в веб приложении. Интереса задаче придавали три важных аспекта:

 

  • поддержка основных ANSI Escape sequences
  • поддержка минимум 50 000 строк данных
  • отображение данных по мере их поступления.

     15.04.2019       Выпуск 278 (15.04.2019 - 21.04.2019)       Статьи

Введение в библиотеку Python lxml

lxml – это библиотека, которая позволяет легко обрабатывать XML и HTML файлы, а также может использоваться для парсинга веб-страниц. Существует множество готовых парсеров XML/HTML, но для получения лучших результатов или при определенных задачах разработчики вынуждены писать свои собственные парсеры. Это как раз та ситуация когда возникает необходимость в lxml библиотеке. Ключевые преимущества этой библиотеки заключаются в том, что она проста в использовании, чрезвычайно быстра при анализе больших документов, очень хорошо документирована и обеспечивает простое преобразование исходных данных в типы данных Python, что упрощает манипулирование файлами.

     15.04.2019       Выпуск 278 (15.04.2019 - 21.04.2019)       Статьи

Основы Natural Language Processing для текста

Обработка естественного языка сейчас не используются разве что в совсем консервативных отраслях. В большинстве технологических решений распознавание и обработка «человеческих» языков давно внедрена: именно поэтому обычный IVR с жестко заданными опциями ответов постепенно уходит в прошлое, чатботы начинают все адекватнее общаться без участия живого оператора, фильтры в почте работают на ура и т.д. Как же происходит распознавание записанной речи, то есть текста? А вернее будет спросить, что лежит в основе соврменных техник распознавания и обработки? На это хорошо отвечает наш сегодняшний адаптированный перевод – под катом вас ждет лонгрид, который закроет пробелы по основам NLP. Приятного чтения!

     14.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи

Сводка новостей от pythonz.net: 07.04.2019 — 14.04.2019

А теперь о том, что происходило в последнее время на других ресурсах.

     12.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи

Не ORMом единым

Я руковожу отделом партнерской разработки (Partners Development) в сервисе бронирования отелей Ostrovok.ru. В этой статье я хотел бы рассказать про то, как на одном проекте мы использовали Django ORM.

     12.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи

Подсчитываем энергобюджет радиолинии для спутника формата CubeSat

Думаю, нужно коротко пояснить, почему вдруг такая, казалось бы, тривиальная тема с подсчетом энергобюджета и почему именно спутники CubeSat? Ну, здесь всё достаточно просто: моя короткая педагогическая практика показала (мне), что тема эта хоть и базисная, но далеко не всеми с первого раза понимаемая, а более того имеющая несколько неочевидных в первом прочтении вопросов. Тем более, что, казалось бы, по таким базовым вещам до сих пор публикуют статьи в IEEE и делают это далеко не студенты. Почему именно CubeSat? Здесь всё ещё проще: формат спутника интересный (сам факт существования микро- и наноспутников, как выяснилось, повергает многих в состояние короткого шока), а потому как нельзя кстати подходящий для учебных целей.

     12.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи

Иллюзия иммутабельности и доверие как основа командной разработки

Вообще я C++ программист. Ну так получилось. Подавляющее большинство коммерческого кода, который я написал за свою карьеру, — это именно C++. Мне не очень нравится такой сильный перекос моего личного опыта в сторону одного языка, и я стараюсь не упускать возможности написать что-нибудь на другом языке. И мой текущий работодатель внезапно такую возможность предоставил: я взялся сделать одну не самую тривиальную утилиту на Java. Выбор языка реализации был сделан по историческим причинам, да я и не возражал. Java так Java, чем менее мне знакомо — тем лучше.

     11.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи

Использование Google Lighthouse для аудита веб-приложений

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