Обновить
512K+

Python *

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

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

Python и Excel глазами НСИ

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

Всем привет! Меня зовут Алмаз. Я специалист по НСИ (нормативно-справочной информации) в компании Bimeister.

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

Python

Предыстория

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

Читать далее

Компьютерное зрение сквозь года

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

Как-то я столкнулся с довольно тривиальной, но новой для себя задачей - оптического распознавания символов (OCR). Так сложилось, что готовые инструменты (типа tesseract-ocr) мне не подошли, поэтому пришлось изобретать велосипед. Но к этому процессу я решил подойти со всей отвественностью: проверить несколько подходов, определить их примущества, недостатки и выбрать наиболее подходящий для конкретной задачи. По итогу это мини-исследование вылилось в данную обзорную статью. Здесь я хочу привести примеры нейросетевых моделей, характерных для различных этапов становления области компьютерного зрения (далее - CV) в том виде, в котором мы его знаем сейчас.

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

Расскажу о игре "Клан томатов", которая уже гуляет по сети >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 мин
Охват и читатели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).

Читать далее