Обновить
1024K+

Python *

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

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

Нескучные запросы с Django ORM Annotate и Query Expressions

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

Было когда-то время, когда ORM Django считалась очень милой, но абсолютно глупой. Хотя, возможность производить Annotate и Aggregate были в ней с незапамятных времён. А в версии 1.8 добавилась возможность применять функции базы данных внутри Query Expressions. И, разумеется, если начинающий джангист не испугался и дочитал вступление до этих строк, он может смело читать дальше: статья ориентирована именно на начинающих.


Некоторое время назад передо мной встала задача: выбрать из таблицы значения по пользователям. Причём, эти значения должны соответствовать определённому регулярному выражению. Но и это не конец условия: из выбранных выражений нужно вытащить substring. Опять же, по регулярке. Сделал я это довольно быстро, и захотелось поделиться опытом с тем, кто ещё не может применять Annotate и Query Expressions на практике


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

Начинаем работу Python + Qt5 + QML урок №1

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

Всем привет. Сегодня познакомимся с QML. Узнаем что это такое и с чем его едят. Создадим небольшое приложение с использованием данной технологии.


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

Pygest #7. Релизы, статьи, интересные проекты из мира Python [28 марта 2017 — 10 апреля 2017]

Время на прочтение2 мин
Охват и читатели8.8K
image Всем привет! Это уже седьмой выпуск дайджеста на Хабрахабр о новостях из мира Python. В сегодняшнем выпуске вы найдёте интересные материалы, касающиеся глубокого обучения, объектно-ориентированного программирования, алгоритмов и структур данных, хороших практик при написании Python-кода и многого другого. Присылайте свои актуальные материалы, а также любые замечания и предложения, которые будут добавлены в ближайший дайджест.

А теперь к делу!
Перейти к дайджесту

Kaggle: Британские спутниковые снимки. Как мы взяли третье место

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

Сразу оговорюсь, что данный текст — это не сухая выжимка основных идей с красивыми графиками и обилием технических терминов (такой текст называется научной статьей и я его обязательно напишу, но потом, когда нам заплатят призовые $20000, а то, не дай бог, начнутся разговоры про лицензию, авторские права и прочее.) (UPD: https://arxiv.org/abs/1706.06169). К моему сожалению, пока устаканиваются все детали, мы не можем поделиться кодом, который написали под эту задачу, так как хотим получить деньги. Как всё утрясётся — обязательно займемся этим вопросом. (UPD: https://github.com/ternaus/kaggle_dstl_submission)

Так вот, данный текст — это скорее байки по мотивам, в которых, с одной стороны, всё — правда, а с другой, обилие лирических отступлений и прочей отсебятины не позволяет рассматривать его как что-то наукоемкое, а скорее просто как полезное и увлекательное чтиво, цель которого показать, как может происходить процесс работы над задачами в дисциплине соревновательного машинного обучения. Кроме того, в тексте достаточно много лексикона, который специфичен для Kaggle и что-то я буду по ходу объяснять, а что-то оставлю так, например, вопрос про гусей раскрыт не будет.

Нейронные сети в борьбе с раком

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

image


В прошлом году мы с Артуром Кадуриным решили присоединиться к новой волне обучения нейронных сетей — к глубокому обучению. Сразу стало ясно, что машинное обучение во многих сферах практически не используется, а мы в свою очередь понимаем как его можно применить. Оставалось найти интересную область и сильных экспертов в ней. Так мы и познакомились с командой из Insilico Medicine (резидент БМТ-кластера фонда «Сколково») и разработчиками из МФТИ и решили вместе поработать над задачей поиска лекарств против рака.


Ниже вы прочитаете обзор статьи The cornucopia of meaningful leads: Applying deep adversarial autoencoders for new molecule development in oncology, которую мы с коллегами из Insilico Medicine и МФТИ подготовили для американского журнала Oncotarget, с упором на реализацию предложенной модели во фреймворке tensorflow. Исходная задача была следующей. Есть данные вида: вещество, концентрация, показатель роста раковых клеток. Нужно сгенерировать новые вещества, которые останавливали бы рост опухоли при определенной концентрации. Датасет доступен на сайте NCI Wiki.

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

7 вредных советов проектировщику REST API

Время на прочтение3 мин
Охват и читатели19K
Адаптация статьи REST WORST PRACTICES, © Jacob Kaplan-Moss. Статья написана применительно к Django, но информация будет актуальна для широкого круга специалистов.

Думаю что лучший способ понять как нужно делать, изучить как делать НЕ нужно. Представляю вашему вниманию вредные советы проектировщикам REST API.
Читать дальше →

Книга «Программируем на Python»

Время на прочтение8 мин
Охват и читатели41K
image Привет, Хаброжители! Вы наверняка слышали о книге Майкла Доусона (Michael Dawson), в которой он учит языку программирования Python тем же самым путем, то есть через программирование несложных игр. Учиться, создавая свои собственные развлекательные программы.

Несмотря на развлекательный характер примеров, демонстрируется вполне серьезная техника программирования. Ниже приведен отрывок из главы «Объектно-ориентированное программирование. Игра «Блек-джек»»
Читать дальше →

Байесовские многорукие бандиты против A/B тестов

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

Здравствуйте, коллеги. Рассмотрим обычный онлайн-эксперимент в некоторой компании «Усы и когти». У неё есть веб-сайт, на котором есть красная кнопка в форме прямоугольника с закругленными краями. Если пользователь нажимает на эту кнопку, то где-то в мире мурлычет от радости один котенок. Задача компании — максимизация мурлыкания. Также есть отдел маркетинга, который усердно исследует формы кнопок и то, как они влияют на конверсию показов в клико-мурлыкания. Потратив почти весь бюджет компании на уникальные исследования, отдел маркетинга разделился на четыре противоборствующие группировоки. У каждой группировки есть своя гениальная идея того, как должна выглядеть кнопка. В целом никто не против формы кнопки, но красный цвет раздражает всех маркетологов, и в итоге было предложено четыре альтернативных варианта. На самом деле, даже не так важно, какие именно это варианты, нас интересует тот вариант, который максимизирует мурлыкания. Маркетинг предлагает провести A/B/n-тест, но мы не согласны: и так на эти сомнительные исследования спущено денег немерено. Попробуем осчастливить как можно больше котят и сэкономить на трафике. Для оптимизации трафика, пущенного на тесты, мы будем использовать шайку многоруких байесовских бандитов (bayesian multi-armed bandits). Вперед.

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

Модель колебательного звена с применением символьного и численного решений дифференциального уравнения на SymPy и NumPy

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

Задача


В статья использованы возможности пакета SymPy совместно с пакетом NumPy. Всё сводиться к преобразованию символьных выражений в функции способные работать с другими модулями Python.

Процесс решения дифференциальных уравнений становиться наглядным и хорошо контролируемым на каждом этапе вычислений. Следует отметить, что колебательное звено в разных интерпретациях обсуждается в сетях [1,2]. Например, в [3] приводиться модель колебательного звена с подробным исследованием переходных процессов.

Надеюсь, что подобные исследования колебательного звена на Python найдут своих сторонников.
Читать дальше →

Собираем проект на python3&PyQT5 под Windows, используя PyInstaller

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

Причиной написания статьи, явилось огромное количество постоянно возникающих у новичков вопросов такого содержания: "Как собрать проект c pyqt5", "Почему не работает", "Какой инструмент выбрать" и т.д. Сегодня научимся собирать проекты без мучений и танцев с бубном.


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

Митап по Apache Spark

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

27 апреля на Мансарде RAMBLER&Co пройдет первый митап, посвященный работе с Apache Spark.

Apache Spark уже успел зарекомендовать себя как один из основных фреймворков работы с большими данными и успешно применяется в таких крупных компаниях, как Amazon, Baidu, IBM, Databricks, NASA JPL и TripAdvisor. Нам известно, что и в России Spark используется во многих небольших и в некоторых крупных компаниях, причем весьма результативно.

В Rambler&Co мы уже около года используем Spark почти для всех задач департамента рекламных технологий, связанных с ETL и машинным обучением. Более того, в начале года мы успешно обновились до версии 2.1.0.

На митапе мы бы хотели поделиться нашим опытом внедрения Spark в продакшен, рассказать о проблемах, с которыми мы столкнулись, и обсудить решения, которые применили. Выяснить, какие новые и крутые фишки появились в Spark 2, и какие баги успешно мигрировали из предыдущих версий Ну и, конечно же, познакомиться с другими энтузиастами и практиками этого замечательного инструмента и сделать наше мероприятие регулярным! Приходите, будет интересно!
Читать дальше →

UFOCTF 2017: декомпилируем Python в задании King Arthur (PPC600)

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

Приветствую тебя хабраюзер! Недавно, закончилась ежегодная олимпиада по информационной безопасности UFO CTF 2017. В этой статье будет райтап одного задания из раздела PPC, под названием «King Arthur», за который можно было получить максимальное количество очков — 600.
Читать дальше →

Открытый курс машинного обучения. Тема 6. Построение и отбор признаков

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

Сообщество Open Data Science приветствует участников курса!


В рамках курса мы уже познакомились с несколькими ключевыми алгоритмами машинного обучения. Однако перед тем как переходить к более навороченным алгоритмам и подходам, хочется сделать шаг в сторону и поговорить о подготовке данных для обучения модели. Известный принцип garbage in – garbage out на 100% применим к любой задаче машинного обучения; любой опытный аналитик может вспомнить примеры из практики, когда простая модель, обученная на качественно подготовленных данных, показала себя лучше хитроумного ансамбля, построенного на недостаточно чистых данных.


UPD 01.2022: С февраля 2022 г. ML-курс ODS на русском возрождается под руководством Петра Ермакова couatl. Для русскоязычной аудитории это предпочтительный вариант (c этими статьями на Хабре – в подкрепление), англоговорящим рекомендуется mlcourse.ai в режиме самостоятельного прохождения.



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

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

Украшаем жизнь с помощью gdb PrettyPrinting API

Время на прочтение5 мин
Охват и читатели7.8K
Что gdb можно как-то улучшать на питоне, знает каждый, кто хоть раз заглядывал в документацию. А кто хоть раз просматривал ее по диагонали, знает про такую штуку, как «Pretty Printers» — которые вроде позволяют gdb красиво печатать разные сложные структуры. Я документацию по диагонали просматривал, хотя особо и не вникал. Но однажды, набирая в очередной раз что-то вроде (все примеры из исходников MariaDB, которые я дебажу по много раз каждый божий день, иногда исключая выходные):

(gdb) p/t table->read_set->bitmap[0] @ (table->read_set->n_bits+7)/8

Я подумал «а фигли?». И все заверте…
Читать дальше →

Moscow Python Meetup №44

Время на прочтение1 мин
Охват и читатели1.9K
20-го апреля в 19:00 в Rambler&Co состоится 44-я встреча MoscowPython

На встрече мы услышим 3 доклада:

Сергей Сундуков (Borlas Consulting Group, Ведущий консультант). Python и исследование операций

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

Антон Егоров (Sabaka.io, CTO). Authentication with JWT

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

Павел Петлинский (Rambler&Co). Монады. Экспликация

В докладе мы разберемся, что за зверь такой эта «Монада», и где прекрасный чистый мир математики ломается об особенности языков программирования.

Для участия необходимо зарегистрироваться.

Python Junior Meetup #2

Время на прочтение1 мин
Охват и читатели3.2K
13-го апреля в 19:00 cостоится встреча Python Junior Meetup #2. Это – митап для начинающих программистов на Python. Встречу организует команда Python.ru. Митап пройдёт в офисе Rambler&Co, в десяти минутах ходьбы от станции метро Тульская.

На встрече мы услышим три доклада:
Читать дальше →

Скачиваем историю переписки со всеми пользователями ВКонтакте с помощью Python

Время на прочтение5 мин
Охват и читатели146K
Для лингвистического исследования мне понадобился корпус прямой речи, порожденной одним человеком. Я решил, что для начала удобнее всего использовать собственную переписку в ВК. Это статья о том, как скачать все сообщения, которые Вы когда-либо отправляли своим друзьям, используя программу на Python и API ВКонтакте. Для работы с API будем использовать библиотеку vk.
Читать дальше →

Запускаем простой блог на Wagtail CMS (Django) — часть 3, заключительная

Время на прочтение4 мин
Охват и читатели16K
Третью часть про Wagtail CMS я решил посветить тем моментам, которые помогли мне снова полюбить Django. Благодаря большому сообществу, которое развивает эту CMS, любой найдет в ней что-то для себя.

В заключительной части будут затронуты следующие моменты:

  • StreamField
  • API + React
  • Разработка для e-commerce

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

Сможет ли Питон прожевать миллион запросов в секунду?

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


Возможно ли с помощью Python обработать миллион запросов в секунду? До недавнего времени это было немыслимо.


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


Python-сообщество в последнее время уделяет много внимания производительности. С помощью CPython 3.6 за счет новой реализации словарей удалось повысить скорость работы интерпретатора. А благодаря новому соглашению о вызове (calling convention) и словарному кэшу CPython 3.7 должен стать еще быстрее.


Для определенного класса задач хорошо подходит PyPy с его JIT-компиляцией. Также можно использовать NumPy, в котором улучшена поддержка расширений на Си. Ожидается, что в этом году PyPy достигнет совместимости с Python 3.5.


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

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

Открытый курс машинного обучения. Тема 5. Композиции: бэггинг, случайный лес

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

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


UPD 01.2022: С февраля 2022 г. ML-курс ODS на русском возрождается под руководством Петра Ермакова couatl. Для русскоязычной аудитории это предпочтительный вариант (c этими статьями на Хабре – в подкрепление), англоговорящим рекомендуется mlcourse.ai в режиме самостоятельного прохождения.


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


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