Обновить
1024K+

Python *

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

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

MoscowPython в «Кибердоме»: как прошла первая встреча питонистов в новом «месте силы» российского кибербеза

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

В октябре прошла 85-я встреча сообщества разработчиков MoscowPython, которая была частично посвящена кибербезопасности. Почему? Все просто: эксперты и зрители собрались в недавно открывшемся кибербез-хабе «Кибердом». На встрече прозвучали четыре доклада, авторы двух из них — сотрудники нашей компании, при поддержке которой проходило событие.

Если пропустили прямую трансляцию и хотите узнать о Python больше — этот материал для вас. Под катом собрали все самое интересное с митапа.

Читать

Добавляем DALL-E 3 в свой ChatGPT бот в Telegram

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

DALL-E 3, новая версия модели для генерации изображений от OpenAI, стала доступна публично через ChatGPT в октябре 2023 года и сразу стала очень популярной благодаря существенно лучшему качеству генерируемых изображений, по сравнению с предыдущими версиями модели.

В этом туториале добавляем генерацию изображений с помощью DALL-E 3 в наш Telegram чат-бот!

Читать далее

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

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

Появление в библиотеке pandas режима Copy‑on‑Write (CoW, копирование при записи) — это изменение, нарушающее обратную совместимость, которое окажет некоторое воздействие на существующий код, использующий pandas. Мы разберёмся с тем, как адаптировать код к новым реалиям, сделать так, чтобы он работал бы без ошибок тогда, когда режим CoW будет включён по умолчанию. Сейчас сделать это планируется в версии pandas 3.0, выход которой ожидается в апреле 2024 года. В первом материале из этой серии мы разбирались с особенностями поведения CoW, во втором — говорили об оптимизации производительности, имеющей отношение к новому режиму работы pandas.

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

Читать далее

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

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

Здравствуйте, уважаемые читатели!

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

Читать далее

Практический гайд по процессам и потокам (и не только) в Python

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

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

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

Читать далее

Моя б̶е̶з̶умная колонка или бюджетный DIY голосового ассистента для умного дома

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

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

Что в голове у змейки? Обучение нейросети играть в «Snake» генетическим алгоритмом

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

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

«У самурая нет цели, есть только путь»

Первый блин на производстве не отличается красотой, но опыт был получен. Наиболее привлекательным мне пришелся генетический алгоритм: отбор успешных змеек, скрещивание, частичная мутация генов и так тысячи раз до результата. Змейки, без указания им правил выживания, в тысячном поколении «понимали», что нужно стремиться съесть яблоко и никуда не врезаться, это вызывало ощущение прикосновения к чуду "It's Alive!!!"

Спустя пару лет, закончив курс по аналитике данных, появилось желание переписать проект, попрактиковаться в более серьезных разделах python и сделать тренажёр со сбором статистики.

Читать далее

Как заменить пропущенные значения в Pandas

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

Давайте рассмотрим распространенную проблему с пропущенными данными и способы ее решения.

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

Кстати, подписывайтесь на наши социальные сети, мы туда еженедельно публикуем топовый контент! Вот наш канал в телеграм и группа ВК.

Таблица 1: Пример набора данных о машинах

| Марка   | Модель  | Год выпуска | Цена | Нормализованные потери | Тип топлива |

|---------|---------|-------------|------|------------------------|-------------|

| Toyota  | Corolla | 2019        | 15000| 134                    | Бензин      |

| Honda   | Civic   | 2020        | 17000| NaN                    | Дизель      |

| Ford    | Mustang | 2018        | 25000| 235                    | NaN         |

| Subaru  | Outback | 2017        | NaN  | 178                    | Бензин      |

| Hyundai | Elantra | 2021        | 18000| 156                    | Гибрид      |

| Nissan  | Sentra  | 2019        | 15500| 170                    | Бензин      |

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

Читать далее

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

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

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

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

К такому же выводу, видимо, пришли ребята из МТС – и выкатили в опенсурс 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 мин
Охват и читатели16K

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Привет!

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее