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

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

     18.02.2020       Выпуск 322 (17.02.2020 - 23.02.2020)       Статьи

Меню консольных команд на python

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

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

     18.02.2020       Выпуск 322 (17.02.2020 - 23.02.2020)       Видео

Метрики сложности кода: как сделать просто и хорошо

Какие ключевые метрики сложности кода существуют. Вы познакомитесь с двумя разными концепциями сложности. Были рассмотрены сложные примеры и способы борьбы.

     18.02.2020       Выпуск 322 (17.02.2020 - 23.02.2020)       Статьи

Использование faiss для поиска по многомерным пространствам

Осенью 2019 мы запустили сервис поиска похожих изображений на основе библиотеки faiss. Он помогает нам понимать, что фотографии уже встречались в другом объявлении, даже если они достаточно серьёзно искажены: размыты, обрезаны и тому подобное. Так мы определяем потенциально фейковые публикации.

 

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

     18.02.2020       Выпуск 322 (17.02.2020 - 23.02.2020)       Статьи

Настройка функции потерь для нейронной сети на данных сейсморазведки

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

Рассмотрены 2 базовых класса функций – Binary cross entropy и Intersection over Union – в 6-ти вариантах с подбором параметров, а также комбинации функций разных классов. Дополнительно рассмотрена регуляризация функции потерь.

Спойлер: удалось существенно улучшить качество прогноза сети.

     18.02.2020       Выпуск 322 (17.02.2020 - 23.02.2020)       Статьи

Как проверить навыки программирования на Python? Задачи от Яндекса

В 2019 году нам потребовалось автоматизированно проверить умение писать Python-код у сотен разработчиков. Так мы отбирали будущих студентов для Школы бэкенд-разработки. Это не то же самое, что предложить решить задачу на листе бумаги, как на собеседовании. С другой стороны, мы также не могли переиспользовать условия задач, уже подготовленные для наших соревнований по программированию. Дело в том, что соревнования с целью определить лучших из лучших — это одно, а отбор специалистов с небольшим опытом в школу — совсем другое. Нам требовались задачи, по решению которых было бы видно, обладает ли разработчик базовыми навыками написания кода и умением грамотно использовать память и время. Вот какие условия мы составили.

     18.02.2020       Выпуск 322 (17.02.2020 - 23.02.2020)       Статьи

Логирование изменения данных в моделях Django

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

     18.02.2020       Выпуск 322 (17.02.2020 - 23.02.2020)       Статьи

Пандас и другие для толстых данных

В этой заметке я расскажу о паре простых приемов, полезных при работе с данными, не помещающимися в память локальной машины, но все еще слишком мелкими чтобы называться Большими. Следуя англоязычной аналогии (large but not big), будем называть эти данные толстыми. Речь идет о размерах в единицы и десятки гигабайт.

     17.02.2020       Выпуск 322 (17.02.2020 - 23.02.2020)       Статьи

А как вам такой вариант управления зависимостями в Python?

Недавно я решил, что пора наконец-то разобраться в теме управления зависимостями в моих Python проектах и начал искать решение, которое бы меня полностью устроивало. Я поэкспериментировал с pipenv, проштудировал документацию к poetry, почитал другие статьи по теме. К сожалению, идеального решения я так и не нашел. В результате, я изобрел новый велосипед свой подход, который и предлагаю обсудить под катом.

     17.02.2020       Выпуск 322 (17.02.2020 - 23.02.2020)       Статьи

Создаем Todo приложение c помощью Django. Часть 1

Джанго это мощный фреймворк для создания веб-приложений. Изначально Django был создан для того, чтобы быстро создавать, например, новостные сайты (или другие сайты, который нужно создавать максимально быстро). И после нативного PHP не покидает ощущение, что ты едешь на очень быстрой машине разработки. Чтобы посмотреть все его возможности для быстрой разработки, мы с вами попробуем создать простое Todo — приложение.

     17.02.2020       Выпуск 322 (17.02.2020 - 23.02.2020)       Статьи

Web Scraping. Часть 1

Недавно у меня возникла идея о том, чтобы поделиться с интересующимся кругом лиц о том как пишутся скраперы. Так как большинству аудитории знаком Python все дальнейшие примеры будут написаны на нём.

 

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

     17.02.2020       Выпуск 322 (17.02.2020 - 23.02.2020)       Видео

Как создать десять приложений из одного и не сойти с ума / Анна Мошкина (IPONWEB)

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

     15.02.2020       Выпуск 321 (10.02.2020 - 16.02.2020)       Статьи

Знакомство с FastAPI

FastAPI — это фреймворк для создания лаконичных и довольно быстрых HTTP API-серверов со встроенными валидацией, сериализацией и асинхронностью,

 

что называется, из коробки. Стоит он на плечах двух других фреймворков: работой с web в FastAPI занимается Starlette, а за валидацию отвечает Pydantic.

Комбайн получился легким, неперегруженным и более, чем достаточным по функционалу.

     14.02.2020       Выпуск 321 (10.02.2020 - 16.02.2020)       Видео

Цены на Avito: как мы управляем миллиардом значений / Дмитрий Климинский (Авито)

Все цены на Avito выбираются программно: у нас есть команда аналитиков с Machine Learning, множество одновременных экспериментов и миллиард цен на разные услуги в разных городах. В докладе я расскажу про нашу инфраструктуру на Python, как мы работаем с данными, общаемся с аналитиками, отдаем цены для Frontend и быстро ищем нужные значения.

     13.02.2020       Выпуск 321 (10.02.2020 - 16.02.2020)       Статьи

Введение в Apache Airflow

Apache Airflow — это продвинутый workflow менеджер и незаменимый инструмент в арсенале современного дата инженера. Если смотреть открытые вакансии на позицию data engineer, то нередко встретишь опыт работы с Airflow как одно из требований к позиции.

 

     13.02.2020       Выпуск 321 (10.02.2020 - 16.02.2020)       Видео

Инструменты domain driven design / Артем Малышев

Сложность бывает неотъемлемой и привнесённой. Из доклада вы узнаете, как организовывать первую и минимизировать вторую. Поговорим о том, как построить свой продукт вокруг решаемой проблемы, а не используемого фреймворка. Узнаем, в каком месте лучше вводить typing и dataclasses.

     12.02.2020       Выпуск 321 (10.02.2020 - 16.02.2020)       Статьи

Понимание итераторов в Python

Python — особенный язык в плане итераций и их реализации, в этой статье мы подробно разберём устройство итерируемых объектов и пресловутого цикла for.

     12.02.2020       Выпуск 321 (10.02.2020 - 16.02.2020)       Статьи

Как создать проект Django из шаблона

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

     12.02.2020       Выпуск 321 (10.02.2020 - 16.02.2020)       Статьи

Капча, частный случай: рвём нейронную сеть тридцатью строками кода

Уже не помню, как я наткнулся на статью habr.com/ru/post/464337, но она запала мне в мозг и не давала покоя вплоть до минувшего дня. Несколько раз я пытался понять происходящее, пару раз пытался заставить это работать, но безрезультатно: я совершенно ничего не понимаю в нейронных сетях и даже программирую не как настоящий программист.

     12.02.2020       Выпуск 321 (10.02.2020 - 16.02.2020)       Видео

Убивай мутантов, спаси свой код / Никита Соболев (wemake.services)

У вас настроен супер-стрикт-набор валидаторов кода, обязательная аннотация типов без Any и требования стопроцентного покрытия кода тестами? Вот и у нас тоже да. Но тогда для вас не секрет, что ошибки все равно будут. И никакие тесты вас не спасут. Потому что они плохие.

     11.02.2020       Выпуск 321 (10.02.2020 - 16.02.2020)       Статьи

Рекуррентные нейронные сети (RNN) с Keras

Перевод руководства по рекуррентным нейросетям с сайта Tensorflow.org. В материале рассматриваются как встроенные возможности Keras/Tensorflow 2.0 по быстрому построению сеток, так и возможности кастомизации слоев и ячеек. Также рассматриваются случаи и ограничения использования ядра CuDNN позволяющего ускорить процесс обучения нейросети.