Обновить
1024K+

Python *

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

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

Мы скачали 10 миллионов Jupyter-ноутбуков с Github — и вот что мы выяснили

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

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

На связи команда Datalore by JetBrains. Хотим поделиться с вами результатами анализа нескольких миллионов публично доступных репозиториев Github с Jupyter-ноутбуками. Мы скачали ноутбуки, чтобы немного больше узнать в цифрах о текущем статусе, пожалуй, самого популярного инструмента для data science.

Читать далее

Как пропускать и одновременно присутствовать на лекции или «за меня учится Python бот»

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

Я имею самый обычный рабочий график: 5/2, 8ч/день. В настоящий момент удаленно учусь в аспирантуре (коронавирус, все дела) и единственный день, когда я могу вдоволь почувствовать себя человеком-соседом и поделать что-то по дому, – это суббота. Как вы понимаете, здесь что-то пошло не так и вместо обещанных будничных пар, которые должны были проходить по вечерам после работы, нам утрамбовали всю субботу. Но дела ведь себя не переделают, поэтому решено было написать на python простого бота-кликера, который мог бы заходить на пару, стартовать запись экрана со звуком, ожидать окончания пары, выключать записть и выходить с пары.

Читать далее

Как я анализировал свои поездки на такси

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

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

Задача, которая здесь описана может быть хорошим упражнением для начинающих аналитиков. Тут будет всё: и python c pandas и парсинг HTML и регулярные выражегия и базы данных c SQL.

Читать далее

Мелкая питонячая радость #15: генераторы тестовых данных, профайлер и консольная база знаний

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

При долгой работе с большим проектом так или иначе упираешься в поиск узких мест в коде. Что только не используют для этого — от навороченных профайлеров и брейкпоинтов до выводов print и замеров времени вручную с выводом таймстампов на консоль.

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

Читать далее

Микросервисы на монолите

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

Всем привет! 

Скажу сразу, эта статья не про очередное переписывание монолита на микросервисы, а о применении микросервисных практик в рамках существующего проекта с использованием интересных, как мне кажется, подходов. Наверное, уже нет смысла объяснять, почему многие проекты активно используют микросервисную архитектуру. Сегодня в IT возможности таких инструментов как Docker, Kubernetes, Service Mesh и прочих сильно меняют наше представление об архитектуре современного приложения, вынуждая пересматривать подходы и переписывать целые проекты на микросервисы. Но так ли это необходимо для всех частей проекта? 

Читать далее

10 полезных советов для начинающих изучать Django

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


1. Используйте относительные пути в конфигурации


Не задавайте абсолютный путь в settings.py, это будет полезно, если вы будете в дальнейшем запускать проект из разных расположений, например при развертывании на другом веб-сервере, у которого пути будут другими. Используйте следующий код в settings.py если ваши шаблоны и статические файлы расположены внутри каталога проекта Django:

# settings.py
import os
PROJECT_DIR = os.path.dirname(__file__)
...
STATIC_DOC_ROOT = os.path.join(PROJECT_DIR, "static")
...
TEMPLATE_DIRS = (
    os.path.join(PROJECT_DIR, "templates"),
)
Читать дальше →

Brython: заменяем JavaScript на Python на фронтенде

Время на прочтение4 мин
Охват и читатели26K
Привет, Хабр!

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

Ультимативный гайд по поиску утечек памяти в Python

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

Практика показывает, что в современном мире Docker-контейнеров и оркестраторов (Kubernetes, Nomad, etc) проблема с утечкой памяти может быть обнаружена не при локальной разработке, а в ходе нагрузочного тестирования, или даже в production-среде. В этой статье рассмотрим причины появления утечек в Python-приложениях, доступные инструменты для отладки и мониторинга работающего приложения, а также общую методику поиска утечек памяти.

Читать далее

Книга «Простой Python. Современный стиль программирования. 2-е изд.»

Время на прочтение14 мин
Охват и читатели36K
image Привет, Хаброжители! «Простой Python» познакомит вас с одним из самых популярных языков программирования. Книга идеально подойдет как начинающим, так и опытным программистам, желающим добавить Python к списку освоенных языков. Любому программисту нужно знать не только язык, но и его возможности.

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

Что изменилось? — Абсолютно новые 100 страниц (там есть котики). — Глав стало большое, но они стали короче. — Появилась глава, посвященная типам данных, переменным и именам. — Добавился рассказ о новых возможностях Python, таких как f-строки. — Обновилась информация о сторонних библиотеках. — Новые примеры кода. — Дан обзор библиотеки asyncio. — Рассмотрен новый стек технологий: контейнеры, облачные технологии, data science и машинное обучение. Что осталось неизменным? — Примеры c утками и плохими стихотворениями. Они навечно с нами.
Читать дальше →

Типовые ошибки Python-разработчиков на собеседованиях

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


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

Машинное обучение: ансамбль смешивания на Python

Время на прочтение24 мин
Охват и читатели19K
Смешивание — это ансамблевый алгоритм машинного обучения. Это разговорное название для стекового обобщения (stacked generalization) [далее будем использовать термин «пакетирование» вместо принятого в научных работах термина «стекинг»] или ансамбля пакетирования, где вместо того чтобы обучать метамодель на прогнозах вне групп, сделанных базовой моделью, модель обучается на прогнозах, сделанных на независимом наборе данных.

Термин «смешивание» использовался для описания моделей пакетирования, которые объединили многие сотни моделей в конкуренции на соревновании по машинному обучению от Netflix с призом в $1 000 000, и как таковое смешивание остаётся популярным методом и названием для пакетирования в конкурсах машинного обучения, например на Kaggle. Специально к старту нового потока курса «Машинное обучение» делимся туториалом, из которого вы узнаете, как разработать и оценить смешанный ансамбль на python. После завершения этого туториала вы будете знать:

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


Давайте начнём

Как работает память в Python

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

Ни одна компьютерная программа не может работать без данных. А данные, чтобы программа имела к ним доступ, должны располагаться в оперативной памяти вашего компьютера. Но что такое оперативная память на самом деле? Когда произносишь это словосочетание, многие сразу представляют «железную» плашку, вставленную в материнскую плату, на которой написано что-то типа 16Gb DDR4 2666MHz. И они, разумеется, правы — это действительно физический блок оперативной памяти, в котором, в итоге, все данные и оказываются. Но прежде, чем стать доступной внутри вашей программы, на память (как и на всё остальное аппаратное обеспечение) накладывается куча абстракций.

Читать далее

Проверим тысячи пакетов PyPI на вредоносность

Время на прочтение8 мин
Охват и читатели7.8K
Примерно год назад Python Software Foundation открыл Request for Information (RFI), чтобы обсудить, как можно обнаруживать загружаемые на PyPI вредоносные пакеты. Очевидно, что это реальная проблема, влияющая почти на любой менеджер пакетов: случаются захваты имён заброшенных разработчиками пакетов, эксплуатация опечаток в названиях популярных библиотек или похищение пакетов при помощи упаковки учётных данных.

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



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

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

Я хотел глубже исследовать этот вопрос, поэтому в посте расскажу о том, как установил и проанализировал каждый пакет PyPI в поисках вредоносной активности.

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

Кодируем и декодируем сообщение для внеземных цивилизаций

Время на прочтение6 мин
Охват и читатели11K
Привет Хабр.

Мотивом для этой статьи, на самом деле, послужил грустный повод. Всемирно известный радиотелескоп обсерватории Аресибо в Пуэрто-Рико разрушился и восстановлению не подлежит. Многие годы это был самый крупный радиотелескоп в мире с полной апертурой (диаметр 304 м, диапазон частот до 10 ГГц), с помощью которого было сделано немало открытий. Здесь на фото из Википедии он в еще рабочем состоянии:


Источник: en.wikipedia.org/wiki/Arecibo_Observatory

Но текст собственно о другом событии. В 1974 г с этого телескопа было отправлено в космос послание внеземным цивилизациям. Что и как было в нем закодировано, подробности под катом.
Читать дальше →

Делаем печатные ссылки кликабельными с помощью TensorFlow 2 Object Detection API

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

Links Detector Cover


TL;DR


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


С помощью TensorFlow 2 Object Detection API мы научим TensorFlow модель находить позиции и габариты строк https:// в изображениях (например в каждом кадре видео из камеры смартфона).


Текст каждой ссылки, расположенный по правую сторону от https://, будет распознан с помощью библиотеки Tesseract. Работа с библиотекой Tesseract не является предметом этой статьи, но вы можете найти полный исходный код приложения в репозитории links-detector repository на GitHub.


Запустить Links Detector со смартфона, чтобы увидеть конечный результат.

Открыть репозиторий links-detector на GitHub с полным исходным кодом приложения.

Вот так в итоге будет выглядеть процесс распознавания печатных ссылок:


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

Как создать свою собственную библиотеку AutoML в Python с нуля

Время на прочтение8 мин
Охват и читатели6.8K
Библиотеки и сервисы AutoML вошли в мир машинного обучения. Для дата-сайентиста это очень полезные инструменты, но иногда они должны быть адаптированы к потребностям бизнес-контекста, в котором работает дата-сайентист. Вот почему вам нужно создать свою собственную библиотеку AutoML. В преддверии старта нового потока курса «Машинное обучение» мы делимся материалом, в котором описано, как это сделать на Python.


Давайте начнём

Как разработать ансамбль Light Gradient Boosted Machine (LightGBM)

Время на прочтение16 мин
Охват и читатели66K
В преддверии старта нового потока курса «Машинное обучение» представляем вашему вниманию материал о Light Gradient Boosted Machine (далее — LightGBM), библиотеке с открытым исходным кодом, которая предоставляет эффективную и действенную реализацию алгоритма градиентного бустинга.

LightGBM расширяет алгоритм градиентного бустинга, добавляя тип автоматического выбора объектов, а также фокусируясь на примерах бустинга с большими градиентами. Это может привести к резкому ускорению обучения и улучшению прогнозных показателей. Таким образом, LightGBM стала де-факто алгоритмом для соревнований по машинному обучению при работе с табличными данными для задач регрессионного и классификационного прогностического моделирования. В этом туториале вы узнаете, как разрабатывать ансамбли машин Light Gradient Boosted для классификации и регрессии. После завершения этого урока вы будете знать:

  • Light Gradient Boosted Machine (LightGBM) — эффективную реализацию ансамбля стохастического градиентного бустинга с открытым исходным кодом.
  • Как разрабатывать ансамбли LightGBM для классификации и регрессии с помощью API scikit-learn.
  • Как исследовать влияние гиперпараметров модели LightGBM на её производительность.


Давайте начнём

Deep Anomaly Detection

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

Детекция аномалий с помощью методов глубокого обучения


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

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

Рассмотреть алгортмы Deep Learning далее

Удобное логирование на бэкенде. Доклад Яндекса

Время на прочтение12 мин
Охват и читатели21K
Что-то всегда идет не по плану. Приходится отвечать на вопросы, «Что сломалось?», «Почему тормозит?» и «Почему мы не увидели этого раньше?». На примере простого приложения Даниил Галиев zefirior из Яндекс.Путешествий показал, как отвечать на эти вопросы и какие инструменты в этом помогут. Настроим логирование, прикрутим трассировку, разложим ошибки, и все это в удобном интерфейсе.

— Давайте начинать. Я расскажу об удобном логировании и инфраструктуре вокруг логирования, которую можно развернуть, чтобы вам с вашим приложением и его жизненным циклом было удобно жить.
Читать дальше →

Как с помощью хакатона столкнуть математиков и ML–щиков, и кто тогда победит

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

Введение


Эта статья о том, как мы совместно с роснефтёвой «дочкой» «Самаранефтехимпроект» и Казанским Федеральным Университетом в сентябре 2020 года провели «Хакатон трёх городов», на котором предложили студентам решить классическую задачу сейсмической корреляции отражающих горизонтов. С такими задачами постоянно сталкиваются специалисты по сейсморазведке по всему миру. Для участников задачу решили преподнести как «задачу поиска оптимального пути», чтобы не отпугнуть студентов страшными словами. В статье расскажем подробнее про задачу и разберём интересные решения участников. Это будет увлекательно для специалистов как по прикладному математическому моделированию, так и машинному обучению и анализу данных.
Читать дальше →