Обновить
559.64

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Рождение Albumentations

Время на прочтение15 мин
Охват и читатели9.1K

В этом посте я расскажу историю появления Open Source библиотеки Albumentations как я ее запомнил. Я не буду углубляться в технические детали. Основная задача текста - логирование, то есть надо написать историю, которую мне будет интересно прочитать через 20 лет.

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

Читать далее

Как мы учились находить заказы по пути домой

Время на прочтение7 мин
Охват и читатели5.5K

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

Нам жаловались на некоторые предложения: водители считали, что им предлагают заказы не по пути. Поэтому они часто отказывались от заказа после подачи автомобиля, что приводило к плохому пользовательскому опыту и у водителей, и у пассажиров. Мы решили пересмотреть алгоритм. Самый сложный вопрос в этой задаче — «что такое по пути?». Оказалось, каждый водитель понимает это по-своему.

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

Поехали

Разбор вступительных заданий в Школу Программистов hh.ru 2021

Время на прочтение6 мин
Охват и читатели14K

Привет! Подошел к концу двенадцатый набор в Школу Программистов hh.ru. Самое время рассказать, как Петр Васильевич раздавал премии менеджерам, кто вышел победителем из "Релиза до выходных" благодаря ролевому помощнику, и как впервые в истории Школы нам пришлось облегчить условия вступительного задания прямо во время набора. 

В этой статье будет подробный разбор заданий свежего набора в Школу Программистов hh.ru.

Поехали разбираться

Мой друг Netmiko

Время на прочтение8 мин
Охват и читатели19K

Ansible с костыльком может автоматизировать сеть и non-CloudEngine коммутаторов Huawei, как недавно было доказано на нашем Enterprise форуме. Однако в сети, в которой работают разные модели коммутаторов, Ansible не представляется эффективным инструментом на данный момент. И несмотря на бесспорное улучшение качество кода Python для Telnet, данный скрипт также не подходил по ряду причин. 

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

На помощь пришел Netmiko. О том как это было, читайте в этом посте. Готовый скрипт приводится в конце.

Читать далее

Django Rest Framework для начинающих: создаём API для записи и обновления данных (часть 2)

Время на прочтение8 мин
Охват и читатели22K

Продолжаем цикл статей, посвящённый основам Django Rest Framework. В предыдущей статье мы подробно рассмотрели, как сериалайзер валидирует входные данные.


В этой статье мы закрепим теорию на простом примере, а также затронем те вопросы, которые не успели рассмотреть раньше:


  • какое поле сериалайзера выбрать для ForeignKey-поля модели;
  • как сериалайзер работает с датами;
  • как устроен метод save сериалайзера.

А ещё мы напишем контроллер, который будет обрабатывать запросы к API на создание записи в БД.


image

Читать дальше →

Как работают коды Spotify?

Время на прочтение7 мин
Охват и читатели20K

Коды Spotify подобны QR-кодам. Их можно генерировать для того, чтобы делиться песнями, исполнителями, плейлистами и пользователями. Я решил разобраться в принципе их действия, в результате чего проделал извилистый путь по истории штрихкодов, патентам, сниффингу пакетов, коррекции ошибок и кодам Грея.
Читать дальше →

Почему наш стартап переехал с Flask на FastAPI

Время на прочтение8 мин
Охват и читатели36K

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

Алекс Морозов, co-founder & CTO в компании Datafold, рассказал, как они переехали с Flask на FastAPI и поделился собственным опытом такого переезда. Это не только то, что пишут в документации, а конкретные проблемы, с которыми они столкнулись при переезде, и как они их обошли. На примерах посмотрим, что стоит сделать, а каких решений лучше избегать.

Читать далее

Нейродайджест: главное из области машинного обучения за ноябрь 2021

Время на прочтение3 мин
Охват и читатели4.3K

Генерация видео из текста от Microsoft, новые редакторы изображений от NVIDIA и Adobe, высококачественные NeRF-модели и многое другое в ноябрьской подборке.

Перейти к обзору

Datalore Enterprise 2021.3: ячейки SQL, подключение Jupyter-ноутбуков к БД, интерактивные отчеты и многое другое

Время на прочтение4 мин
Охват и читатели3.6K

Привет, Хабр!

Datalore Enterprise — это data science платформа для совместной работы с Jupyter-ноутбуками. Ее можно установить в частное облако или на приватный сервер компании.

Новая версия 2021.3 позволяет специалистам по анализу и обработке данных работать с базами данных и SQL-кодом внутри Jupyter-ноутбуков, а также легко делиться результатами работы с коллегами. Также мы интегрировали поддержку ноутбуков R и Scala, добавили новый реактивный режим, реализовали конструкторы графиков и множество других функций.

Читайте дальше, чтобы узнать о новых возможностях Datalore Enterprise 2021.3!

Читать далее

Книга «Однострочники Python: лаконичный и содержательный код»

Время на прочтение10 мин
Охват и читатели14K
image Привет, Хаброжители! Краткость — сестра программиста. Эта книга научит вас читать и писать лаконичные и функциональные однострочники. Вы будете системно разбирать и понимать код на Python, а также писать выразительно и компактно, как настоящий эксперт.

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

Вы узнаете о таких продвинутых возможностях Python, как списковые включения, срезы, лямбда функции, регулярные выражения, функции map и reduce, а также научитесь выполнять присваивание срезам.
Читать дальше →

Регулярные выражение Python в интерактивном режиме

Время на прочтение1 мин
Охват и читатели5.1K

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

Поддерживаемые регулярные функции:

Читать далее

Деплоим приложение на Django в Kubernetes с нуля

Время на прочтение19 мин
Охват и читатели27K

Привет! Меня зовут Игорь, я управляющий партнер в KTS.

Нашей компании уже 6 лет, и 4 из них мы живем с Kubernetes. До этого мы испытали все варианты деплоя приложений на серверах: начиная от простого git pull до ci/cd на нескольких серверах.

Сегодня мы на практике разберем, что нужно делать, чтобы ваше приложение оказалось в Интернете. Какие-то моменты я опущу, чтобы на забираться слишком глубоко.

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

Читать далее

Устраняем мультиколлинеарность признаков в ML при помощи графов

Время на прочтение8 мин
Охват и читатели37K

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

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

Мультиколлинеарность — явление, при котором наблюдается сильная корреляция между признаками. Чтобы оценить степень корреляции между парой количественных признаков, вычисляют, например, коэффициент корреляции Пирсона — меру линейной связи между ними. Если абсолютное значение коэффициента превышает некоторый порог, то можно говорить о наличии сильной корреляции между признаками. На практике пороговое значение зависит от задачи и находится в диапазоне от 0.6 до 1.0. 

Например, у нас есть два признака: зарплата в рублях и зарплата в долларах. Очевидно, что два этих признака зависимы и между ними существует линейная связь. Коэффициент корреляции Пирсона для них будет равен 1, поэтому включение этой пары в множество признаков для моделирования приведет к мультиколлинеарности. 

Читать далее

Ближайшие события

Poetry — прекрасная альтернатива pip (шпаргалка)

Время на прочтение6 мин
Охват и читатели275K

Poetry - это инструмент для управления зависимостями в Python проектах (аналог встроенного pip). Идея реализации данного инструмента пришла его создателю в связи с тем, что различные способы менеджмента пакетов (requirements.txt, setup.cfg, MANIFEST.ini и другие) показались создателю Poetry не очень-то удобными. 

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

Ознакомиться

Физика в Python с использованием Pymunk

Время на прочтение6 мин
Охват и читатели40K

Физика. Кто-то её любит, кто-то нет, но определённо это неотъемлемая часть нашего существования. В этой статье мы рассмотрим как самому создавать физические симуляции используя всего 2 библиотеки Python.
К концу статьи мы сделаем интерактивную симуляцию взаимодействия тел и поймём основы использования библиотеки Pymunk.

В этом туториале вы сможете создать симуляцию тел как на гифке сверху!

Читать далее

Детерминированный факторный анализ

Время на прочтение4 мин
Охват и читатели18K

Детерминированный факторный анализ - это метод исследования влияния факторов на результативный показатель.

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

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

Читать далее

В поисках компактного FizzBuzz на Python

Время на прочтение2 мин
Охват и читатели15K

Пришло время оживить преданный забвению FizzBuzz. Попробуем найти самое компактное решение FizzBuzz на Python.

Читать далее

Как прогуливать встречи в Zoom с помощью Python

Время на прочтение4 мин
Охват и читатели21K

Всем привет, я - Денис, Product Manager в банке, а до этого перезапускал вебинарную платформу VirtualRoom.

Сегодня я расскажу про свой скрипт, который отмечал меня на лекциях в аспирантуре мехмата МГУ.

Полную версию можно посмотреть на youtube.

Читать далее

MLflow: вывод моделей в продакшн и инструмент MLOps

Время на прочтение5 мин
Охват и читатели27K

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

Читать далее

Python — серьезный язык для разработки backend

Время на прочтение13 мин
Охват и читатели83K

Всем привет! Меня зовут Аникин Денис, я тимлид в команде Chat в Райффайзенбанке. А также представитель внутреннего Python-сообщества, так называемый «community lead» (об этом как-нибудь в другой раз). В этой статье я хотел поговорить про отношение к Python среди разработчиков и обсудить все основные претензии, которые очень давно следуют за языком по пятам.

Читать далее

Вклад авторов