Обновить
512K+

Python *

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

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

Нейропанорамы для любой точки Земли: как «осмотреться» на спутниковом снимке

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели3.9K

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

Генерировать далее

Ускоряем анализ данных в 170 000 раз с помощью Python

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели21K

В статье «Ускоряем анализ данных в 180 000 раз с помощью Rust» показано, как неоптимизированный код на Python, после переписывания и оптимизации на Rust, ускоряется в 180 000 раз. Автор отмечает: «есть множество способов сделать код на Python быстрее, но смысл этого поста не в том, чтобы сравнить высокооптимизированный Python с высокооптимизированным Rust. Смысл в том, чтобы сравнить "стандартный-Jupyter-notebook" Python с высокооптимизированным Rust».

Возникает вопрос: какого ускорения мы могли бы достичь, если бы остановились на Python?

Под катом разработчик Сидни Рэдклифф* проходит путь профилирования и итеративного ускорения кода на Python, чтобы выяснить это.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее

Настройка C++ проекта c OpenMP. Обертывание С++ для Python с помощью pybind11 и CMake

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели6.8K

В статье описан практический пример настройки проекта на языке C++ с использованием, в качестве примера, библиотеки для многопоточных вычислений OpenMP , а также дальнейшее обёртывание для использования в проектах написанных на Python при помощи библиотеки Pybind11. В качестве системы сборки используется CMake. Основное внимание уделено именно сборке проекта. В качестве инструмента обёртывания используется библиотека pybind11, в качестве системы сборки CMake.

Читать далее

Шаг за шагом: Реализация автоматического резервного копирования PostgreSQL в Kubernetes и его синхронная отправка на S3

Уровень сложностиСредний
Время на прочтение27 мин
Охват и читатели10K


Привет! У каждого из нас бывает что после какой-то задачи, ты хочешь чем-то поделиться. Но зачастую мотивации хватает только на поделиться в рамках внутреннего Confluence. Сейчас, я реализовал решение которое объявлено в названии статьи. Сразу хотелось бы сказать, что я не претендую на истину в последней инстанции со своим решением, оно просто отражает путь который пройден мной. Более того, СУБД в кластере здесь тоже не предмет для обсуждения.

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

Повторяем Bad apple на языке Python ASCII-графикой

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели15K

Повторяем Bad Apple в Python ASCII-графикой.

Доброго времени суток, уважаемые читатели хабра, в этой статье я расскажу Вам о том, как я повторил клип Bad Apple ASCII-графикой.

Читать далее

ASCII-арты на python

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели23K

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

Читать далее

Расширяем тестовый фреймворк с помощью Pytest-плагинов. Часть 1: теория

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели13K

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

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

Читать далее

Книга «Грокаем машинное обучение»

Время на прочтение10 мин
Охват и читатели30K
imageПривет, Хаброжители!

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

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

Откройте для себя мощные методы машинного обучения, для понимания и применения которых достаточно знаний математики на уровне средней школы!

Для читателей, знающих основы языка Python. Знаний в области машинного обучения не требуется.

В качестве обзора книги мы предлагаем вам ознакомится с переводом статьи автора Luis Serrano.
Читать дальше →

Продюсеры и консьюмеры с Apache Kafka в Python

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели47K

Салют, Хабр!

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

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

В статье мы и поговорим именно про продюсерах и консюмерах в экосистеме Kafka в коннекте с Python.

Читать далее

Python Multiprocessing. Обмен данными между процессами. Передача объектов пользовательских классов

Уровень сложностиСложный
Время на прочтение15 мин
Охват и читатели53K

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

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

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

О том, как с этим обходиться, я и расскажу в этой статье.

Читать далее

Конфигурация вместо кода при написании Telegram-бота

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели10K

Привет! Меня зовут Никита и я пишу от имени небольшой команды студентов, разработчиков проекта Cloffer — систему онлайн-заказа для кофеен. Мы решили начать наш путь с написания связки бэкенд + набор телеграм-ботов.

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

Читать далее

Компилятор за выходные: таблицы символов

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели11K

Как водится воскресным вечером, снова я с моим компилятором. На этот раз я расскажу, как работают области видимости переменных и как перегружать функции. Это позволит нам скомпилировать демку про́клятого огня, а также я накидал фантазию на тему игрушки арканоид (скриншот на КПДВ, видео в конце статьи). Я на удивление сам долго залипал на эту анимацию :)

На всякий случай я даю код и на wend, и на C, поскольку понимаю, что код на моём языке вряд ли интересен кому-то помимо того, кто реально возьмётся за компилятор. А вот мелкий код с интересными эффектами всегда найдёт свою публику. Кстати, если у вас есть идеи на тему чего-то интересного, что можно запрограммировать в полста строчек кода, делитесь в комментариях, я внимательно слушаю!

Читать далее

Обучение с подкреплением. Q-обучение. Понятное объяснение

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели21K

В данной статье я подробно опишу один из методов обучения с подкреплением - обучение на основе функции полезности (Q-обучение или Q-learning).

Читать далее

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

Метрики команды разработки

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели7.1K

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

Чтобы называть эту дату более обоснованно, необходимо понимать, как на самом деле работает команда: сколько поставляет задач, как долго проходит процесс анализа задачи перед взятием в работу, на каких этапах в целом происходит "застревание" задачи.

Под катом - описание метрик и способы их расчёта.

Читать далее

Как мы разрабатывали бота в мессенджере eXpress для 1-й линии поддержки

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели14K

Привет, уважаемые читатели Хабра!

На связи Лаборатория инноваций Московской биржи

Хотим поделиться с вами нашим опытом разработки чат-бота для 1-й линии поддержки на базе корпоративного мессенджера eXpress.

Расскажем о нашем опыте, ошибках, сделанных выводах и поделимся полезными ссылками для желающих заняться разработкой ботов для eXpress.

Итак, приступим

Переводы полей моделей Django + Vue

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели3.6K

Всем привет! Это вторая статья из цикла статей о разработке приложений в нашей компании. В первой статье я рассказал Вам про общую архитектуру некоторых наших проектов. В данной статье хочется описать наши варианты решения часто встречающихся задач в рамках Django + Vue приложения.

Читать далее

Нефть глазами аналитика данных

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели4.7K


Любите ли вы работать с данными, как люблю это делать я? Страдаете ли вы также от несовершенства инструментов для анализа данных? И вот, буквально в первых строках, я понимаю, что мне надо быть очень аккуратным, дабы не задеть чувства, к примеру, фанатов Excel или Notepad++. Попытаюсь исправить ситуацию: Эксель великолепен! Лучшая low-code система! Notepad++ бесподобен… но попробуйте поработать этими инструментами с данными размером с один миллион строк… эх, не удержался. Ну и раз статья обещает быть провокационной, добавлю еще огоньку: я хочу продемонстрировать, как обрабатывать и анализировать данные по всем обезличенным сделкам по нефти. Взглядом аналитика покажу, как крупный капитал управляет рынком. И да, я хочу, чтобы такая возможность была доступна не только корпорациям с их ресурсами, а обычному пользователю с ноутбуком. Текст статьи не является инвестиционной рекомендацией, все совпадения случайны.
Читать дальше →

Автоматизируем все с помощью Python: 10 процессов, которые можно сделать лучше

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели69K

Перевод и адаптация статьи Analytics Vidhya выполнены ProductStar специально для Хабра

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

Читать далее

Сравнение производительности dict() и {} в Python

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели19K

Какое-то время назад, во время разбора кода, мы обсудили выбор dict() вместо {} в новом коде на Python. Коллега утверждал, что dict() более читаем и чётче выражает цель, поэтому следует предпочесть его. Меня это не убедило, но в тот момент контраргуентов не нашлось, поэтому я воздержался.

Это заставило меня задуматься: в чём разница между типом dict и литеральным выражением {}?

Давайте изучим этот вопрос.

Читать далее

По какому пути пойти начинающему программисту: Python vs Java

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели29K

Во всемирном рейтинге Tiobe язык программирования Python занимает первую строчку с долей около 13,97% по состоянию на январь 2024 года. Рост за 20 лет почти в 12,7 раза — согласитесь, впечатляет. Java тоже уверенно входит в ТОП-5. Если учесть сложность освоения C++, именно между Java и Python обычно выбирают начинающие программисты. Мы решили сравнить эти популярные языки и дать несколько полезных рекомендаций, чтобы выбор между курсами Java и Python был осознаннее.

Читать далее