Обновить
1024K+

Python *

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

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

Разворачиваем Telegram бота на Raspberry Pi Zero 2W с автозапуском: шаг за шагом

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

Развертывание Telegram бота на Raspberry Pi Zero 2W: установка, автозапуск, и GitHub репозиторий с эхо-ботом.

Первым шагом является установка «Raspbian os lite» на ваш Raspberry Pi Zero 2W. Это легковесная версия операционной системы, которая идеально подходит для использования в качестве сервера. Следуйте инструкциям для установки через официальную утилиту. Скачать официально здесь.

Читать далее

Задачки для начинающих автоматизаторов тестирования

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

Привет, друзья! В этой статье предлагаем вам решить десяток задач по автоматизации на Python + pytest. К каждой задаче приложили наш вариант решения.

Посмотреть задачи

Напиши в ЛС «томат» или же что за «Клан томатов»

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

Расскажу о игре "Клан томатов", которая уже гуляет по сети >10 лет, чем нарушу её правила.

И том, как я написал бота, что бы попытаться вывести эту игру на новый уровень!

Читать далее

Как я создаю себе колоды Anki для немецких слов

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

Я захотел продолжить некогда заброшенное изучение немецкого языка. Долгое время на просторах интернета слышал мнение, что карточки Anki – чуть ли не самый лучший способ изучение языка, и решил, собственно, посмотреть что к чему. Рекомендации YouTube привели меня к интересному видео, где автор рассказывает о своем шаблоне карточек с немецкими словами. Автор не желал публиковать свою колоду, и не найдя аналогов среди публичных колод, я принялся делать свое. Конечно же не вручную.

Читать далее

Как мы делали уведомление о коммитах

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение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 мин
Охват и читатели7K

В статье описан практический пример настройки проекта на языке 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 мин
Охват и читатели52K

Салют, Хабр!

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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