Обновить
512K+

Python *

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

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

RecTools – OpenSource библиотека для рекомендательных систем

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

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

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

К такому же выводу, видимо, пришли ребята из МТС – и выкатили в опенсурс RecTools. Это библиотека, где собраны самые часто используемые модели для рекомендательных систем. Также с её помощью можно максимально просто и быстро оценивать необходимые метрики. 

Давайте же посмотрим, что RecTools умеет, и как с этим работать.

Читать далее

Разбор классического тестового задания на позицию Python Developer

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

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

Читать далее

3 хакатона = 6 лет стажа: как я сделал красивое резюме и получил первую работу в IT

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

Привет, хабравчане! Меня зовут Максим. Я из Новосибирска, мне 36 лет. Два года назад я начал воплощать в жизнь юношескую мечту: занялся программированием. Надо всех обойти, а я из продаж, IT не изучал. Базово освоив Python, я стал мониторить рынок труда и через два отклика на стажёра понял, что таких, как я, — сотни. На удалённые стажировки и вакансии с минимальным опытом — по 800 откликов, на вакансии в моём миллионнике — по 50–80 человек. В этой статье хакатоны — главная тема, но я начну с предыстории и плавно перейду к тому, как готовиться к хакатонам, как собрать команду и на что делать упор, чтобы найти первую работу. Всё это на личном опыте — вам в помощь.

Поехали →

Установка и настройка Odoo 16 и Pycharm на Ubuntu 22.04

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

Пошаговая инструкция по конфигурации и настройке среды разработки ERP Odoo 16 и Pycharm на Ubuntu 22.04

Читать далее

Ищем скам токены с помощью пузырчатых диаграмм в блокчейне TON Часть 1

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

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

Можно услышать Do Your Own Research – проводите исследования, но обычный человек, а не венчурная фирма, имеющая штат аналитиков, не может тратить столько времени на анализ.

Читать далее

Пишем Python-макрос для FreeCAD

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

В этой статье мы напишем макрос для FreeCAD, который из N+1 цилиндров создаёт симметричный барабан с N отверстиями, разберемся с азами модуля FreeCAD в Python, а ещё изучим теорию сдвига и вращения фигур в пространстве.

Читать далее

Моделирование движения космических тел

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

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

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

Читать далее

YOLO-NAS Pose: прорыв в технологии оценки позы

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

Модели YOLO-NAS Pose это последний вклад в область оценки позы. Ранее в этом году Deci получила широкое признание за свою новаторскую базовую модель обнаружения объектов YOLO-NAS. Основываясь на успехе YOLO-NAS, компания представила YOLO-NAS Pose в качестве своего аналога в оценке позы. Эта модель обеспечивает превосходный баланс между задержкой и точностью.

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

• мониторинг движений пациентов в медицинских учреждениях,

• анализ результатов спортсменов в спорте,

• создание бесшовных интерфейсов человек-компьютер и совершенствование роботизированных систем.

Читать далее

Разработка task manager при помощи библиотек Flask и psycopg2

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

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

На связи участник профессионального сообщества NTA Владислав Рулев.

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

Я же решил взять всё в свои руки и разработать task‑manager самостоятельно. Что у меня получилось — под катом.

Что же у меня получилось

Как управлять состоянием телеграм-бота

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

Привет!

Управление состоянием - это фундаментальный аспект создания телеграм-ботов, позволяющий нам эффективно управлять взаимодействием с пользователями и предоставлять более персонализированный опыт.

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

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

С управлением состоянием, бот может запомнить текущий контекст диалога, состояние корзины, выбранные товары и даже предыдущие вопросы пользователя.

Читать далее

«Иногда лучше написать велосипед»: как тестировать кластеры Kubernetes с помощью Python

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

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

Однако для сложных интеграционных тестов, которые завязаны на Kubernetes API, необходимо реализовать что-то свое. Я воспользовался клиентской библиотекой Python для Kubernetes, которая позволяет работать со всеми прелестями его интерфейса, соединил ее с PyTest и API нашего продукта — Managed Kubernetes. Что из этого вышло, показываю в статье.
Читать дальше →

Исследование режима Copy-on-Write в pandas. Часть 2

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

В первом материале из этой серии была объяснена работа механизма Copy‑on‑Write (CoW, копирование при записи). Там были упомянуты некоторые ситуации, в которых при выполнении кода осуществляется копирование данных. В этой статье речь пойдёт об оптимизации, направленной на то, чтобы копирование не ухудшило бы средних показателей скорости работы кода.

Мы используем подход, применяемый внутри pandas для того, чтобы избежать копирования всего объекта DataFrame в тех случаях, когда это не нужно. Этот подход позволяет повысить производительность системы.

Читать далее

Как улучшить тестируемость кода на примере Dependency Injection в Python

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

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

►

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

I2C датчик INA219 + Python + Repka Pi: измеряем ток, напряжение и мощность во встраиваемых системах управления

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

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

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

В этой статье мы расскажем об использовании для контроля напряжения, тока и мощности недорогого модуля GY-219 с интерфейсом I2C и чипом INA219. Вы сможете подключить его практически к любому микрокомпьютеру, где есть такой интерфейс.

В статье будет описано подключение GY-219 к отечественному микрокомпьютеру Repka PI, однако все будет работать и с Raspberry Pi. В интернете вы найдете руководства, как подключить GY-219 к любому другому микрокомпьютеру или микроконтроллеру с интерфейсом I2C.

Читать далее

Hidden Gem — LLava 1.5

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

Вероятно лучшая опенсурс модель для Captioning, VQA, QA и прочих задач требующих ответить на вопросы опираясь на изображения. От читателя ожидается что он знает чем отличается alpaca от vicuna и почему VIT это круто.

Читать далее

Mimesis: идеальное решение для генерации данных

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

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

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

Читать далее

Реверс мобильных приложений на cocos2dx

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

Хочу поделиться своим опытом в реверс инженеринге приложения на lua cocos2d-x. Файлы приложения зашифрованы xxtea, а ключи шифрования находятся в .so файле внутри приложения.

Читать далее

Архитектуры RL: DDPG иPPO

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

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

В RL существует множество алгоритмов, каждый из которых имеет свои преимущества и недостатки.

DDPG (Deep Deterministic Policy Gradients) — это алгоритм, объединяющий в себе идеи из двух областей: DPG (Deterministic Policy Gradients) и DQN (Deep Q‑Network). DDPG подходит для задач с непрерывным действием, и он стал основой к примеру для управления роботами и автономному вождению.

PPO (Proximal Policy Optimization) — это алгоритм, который сосредотачивается на обучении стратегии (policy) с учетом границ для обновлений. PPO стал популярным выбором благодаря своей стабильности и хорошей производительности в различных средах. Он также широко используется в научном обучение, ИИ героев в играх и в других областях.

Читать далее

Прогнозирование временных рядов с помощью библиотеки Skforecast

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


В открытом доступе существует огромное число библиотек для построения моделей машинного обучения в Python. Самые популярные — scikit-learn, XGBoost, LightGBM, Catboost, PyTorch. Каждая из них позволяет построить регрессионную модель для прогнозирования на временных рядах, но для этого требуется преобразование данных и создание новых фичей (feature engineering).

Кроме того, временные ряды требуют своих подходов в оценивании моделей машинного обучения, так как стандартная кросс-валидация не подходит для временных данных. В этой статье мы (я + я) рассмотрим нюансы прогнозирования на практике и с помощью библиотеки skforecast.
Читать дальше →

Регулярные выражения — это не трудно

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

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

Знать regex стоит потому, что с его помощью можно добиться очень многого, используя очень мало кода. Если я пытаюсь с помощью обычного процедурного кода воспроизвести то, что делает моё выражение, то код часто получается очень пространным, полным багов и тормознутым. Могут потребоваться часы или дни, чтобы найти альтернативное решение, а ведь можно было за пару минут написать regex.
Читать дальше →