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

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

     04.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

Обучение и оценка модели с Keras

Это руководство охватывает обучение, оценку и прогнозирование (выводы) моделей в TensorFlow 2.0 в двух общих ситуациях:

 

  • При использовании встроенных API для обучения и валидации (таких как model.fit(), model.evaluate(), model.predict()). Этому посвящен раздел «Использование встроенных циклов обучения и оценки»
  • При написании кастомных циклов с нуля с использованием eager execution и объекта GradientTape. Эти вопросы рассматриваются в разделе «Написание собственных циклов обучения и оценки с нуля».

     03.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

QR генератор на python

Простой генератор qr кодов на python. В статье будет предложена версия консольная и с графическим интерфейсом

     03.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

Авто-дополнение кода и проверка типов для boto3

Сейчас мало кто пишет большие проекты на Python без аннотации типов. Это и просто, и позволяет отловить кучу ошибок еще на этапе написания кода, да и работает очень шустро. Но стоит добавить в зависимости boto3, и mypy начинает пестрить сообщениями о том, что аннотаций типов для boto3 не существует в природе.

 

Не страшно, существует же официальный генератор аннотаций для boto3 botostubs. Только он официально не выпускался, не обновляется и с mypy не работает.

Есть и замечательный boto3-type-annotations, но тоже немного заброшен, и поддержки mypy всё еще нет.

Как же проверять типы для boto3, а бонусом получить автодополнение кода?

     03.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

Python для тестировщика: как маленькие скрипты c pandas помогают в тестировании больших наборов данных

Я работаю тестировщиком на проекте, суть которого состоит в сборе и хранении различных данных и формировании на их основе разных отчетов и файлов-выгрузок. При формировании таких отчетов учитывается большое количество условий для отбора данных и поэтому при тестировании приходится много работать с SQL-запросами в БД. Но для проверки правильности отбора данных и поиска лишних/пропавших данных этого зачастую не хваетает, поэтому пришлось искать дополнительные инструменты для этого.

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

     03.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

Уникальный WSGI веб сервер c использованием ESP8266. Часть 1

Данная статья является первой частью моего туториала по разработке достаточно необычного WSGI сервера. В данной статье я поясню теоретическую часть своей задумки.

Основная аудитория — начинающие разработчики, знакомые с Python но желающие познать дзен работы http протокола.

     03.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

OpenVINO хакатон: распознаем голос и эмоции на Raspberry Pi

30 ноября — 1 декабря в Нижнем Новгороде прошелOpenVINO хакатон. Участникам предлагалось создать прототип продуктового решения с использованием Intel OpenVINO toolkit. Организаторами был предложен список примерных тем, на которые можно было ориентироваться при выборе задачи, но финальное решение оставалось за командами. Кроме этого, поощрялось использование моделей, которые не входят в продукт.

     31.01.2020       Выпуск 319 (27.01.2020 - 02.02.2020)       Статьи

Переписываем генератор паролей

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

     31.01.2020       Выпуск 319 (27.01.2020 - 02.02.2020)       Статьи

Web-приложения на Flask: как бороться с циклическими импортами

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

     30.01.2020       Выпуск 319 (27.01.2020 - 02.02.2020)       Статьи

Пишем сервис одноразовых записок на Python

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

 

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

Для решения этой проблемы мы напишем свой сервис самоуничтожающихся шифрованных записок на языке Python с использованием модуля cryptography и фреймворка Flask и развернем его на облачном сервисе Heroku.

     30.01.2020       Выпуск 319 (27.01.2020 - 02.02.2020)       Статьи

Alpine собирает Docker билды под Python в 50 раз медленней, а образы в 2 раза тяжелей

Alpine Linux — часто рекомендованный как базовый образ для Docker`а. Вам говорят, что использование Alpine сделает ваши билды меньше, а процесс сборки быстрей.

Но если вы используете Alpine Linux для Python приложений, то он:

 

  • Делает ваши билды намного медленней
  • Делает ваши образы больше
  • Тратит ваше время
  • И в итоге может стать причиной ошибок в рантайме
Давайте рассмотрим почему же Alpine рекомендуют, но почему вам все же не стоит использовать его в месте с Python.

     30.01.2020       Выпуск 319 (27.01.2020 - 02.02.2020)       Статьи

Библиотеки для декодирования видео. Сравнение на Python и Rust

Многие задаются вопросом — насколько медленный Python в операциях декодирования? Правда ли, что компилируемые языки дают прирост скорости во всем, чего касаются? Что быстрее: OpenCV или ничего? Ответы на эти и другие бесполезные вопросы под катом вы прочитать не сможете. Там обычное скучное исследование производительности в конкретной задаче.
Все заинтересовавшиеся, добро пожаловать!

 

     30.01.2020       Выпуск 319 (27.01.2020 - 02.02.2020)       Статьи

Простое руководство по дистилляции BERT

Если вы интересуетесь машинным обучением, то наверняка слышали про BERT и трансформеры.

 

BERT — это языковая модель от Google, показавшая state-of-the-art результаты с большим отрывом на целом ряде задач. BERT, и вообще трансформеры, стали совершенно новым шагом развития алгоритмов обработки естественного языка (NLP). Статью о них и «турнирную таблицу» по разным бенчмаркам можно найти на сайте Papers With Code.

     30.01.2020       Выпуск 319 (27.01.2020 - 02.02.2020)       Статьи

Как я 1000 дней пользовался OpenHAB, а затем перешел на Home Assistant

Однажды в 2016 году мне потребовалось настроить удаленный сбор показаний счетчиков в квартире. К текущему моменту (январь 2020 года) там внедрена комплексная домашняя автоматизация с возможностью перекрытия воды и полного удаленного обесточивания (и обратного включения) электроэнергии.

 

     29.01.2020       Выпуск 319 (27.01.2020 - 02.02.2020)       Статьи

Как я преподавал, а потом методичку по Python писал

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

     29.01.2020       Выпуск 319 (27.01.2020 - 02.02.2020)       Статьи

В зоне доступа. Находим расстояние от точки до области и сокращаем запросы обратного геокодинга

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

     28.01.2020       Выпуск 319 (27.01.2020 - 02.02.2020)       Статьи

Экспорт Google Forms + загрузка Google Script через REST API (Python)


У нас было две гугл-формы, 75 вопросов в каждой, 5 бизнес-пользователей, которые активно правили эти формы, а еще гугл-скрипт, экспортирующий форму в JSON. Не то что бы его было сложно каждый раз запускать руками, но раз начал автоматизировать свою работу, то иди в этом увлечении до конца.

В официальной документации сам черт ногу сломит, поэтому под катом мы подробно рассмотрим удаленную загрузку и запуск Google Apps Script через REST API, используя Python.

     28.01.2020       Выпуск 319 (27.01.2020 - 02.02.2020)       Статьи

Пережевывая логистическую регрессию

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

     28.01.2020       Выпуск 319 (27.01.2020 - 02.02.2020)       Статьи

Как научить телефон видеть красоту

Недавно я читал книгу о математике и о красоте людей и задумался о том, что еще десятилетие назад представление о том, как понять, что такое красота человека были достаточно примитивными. Рассуждения о том, какое лицо считается красивым с точки зрения математики сводились к тому, что оно должно быть симметричным. Также со времен эпохи возрождения были попытки описать красивые лица при помощи соотношений между расстояниями в каких-то точках на лице и показать, например, что у красивых лиц какое-то отношение близко к золотому сечению. Подобные идеи о расположении точек сейчас используются как один из способов идентификации лиц (face landmarks search).

     28.01.2020       Выпуск 319 (27.01.2020 - 02.02.2020)       Статьи

Как сделать бота, который превращает фото в комикс. Часть третья. Serverless GPU хостинг модели

В предыдущих сериях мы с вами собрали данные и обучили свою первую модель.
Затем, ужаснувшись результатам, обучили еще с десяток.
Самое время показать наше творение миру!

     27.01.2020       Выпуск 319 (27.01.2020 - 02.02.2020)       Статьи

Статистика встроенных комментариев (inline comments) в Confluence

Как собрать статистику комментариев к страницам в Confluence?

Да и зачем это может понадобиться?