
Python *
Высокоуровневый язык программирования
Функции Python — это объекты первого класса

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

Выполняйте свои скрипты Python, как команды bash
Написание скриптов Python для создания интерфейсов командной строки (CLI) — широко используемый метод для DevOps и бэкенд разработки.
Ключом к реализации CLI в Python является встроенный модуль argparse. Он предоставляет все необходимые функции и позволяет использовать скрипт Python в качестве команды bash.
В этой статье будут представлены некоторые важные моменты создания CLI с помощью Python на 7 уровнях сложности.
Как создать README для Python-проекта за 10 минут: руководство с использованием ChatGPT и Midjourney

Привет, читатели Habr! Сегодня я хочу поделиться с вами уникальными и полезными советами о том, как за считанные минуты создать качественный README для вашего Python-проекта и стильный логотип, используя возможности ChatGPT и Midjourney.
В эпоху ИИ, документирование проектов становится не только проще, но и значительно быстрее. Многие разработчики часто игнорируют создание документации, поскольку это занимает много времени. Однако с использованием ИИ это проблема больше не актуальна.
Основная цель состоит в том, чтобы ChatGPT мог разобраться в коде нашего проекта и без труда составить для него README. Однако стоит учесть ограничения: GPT-4 может запомнить до 25 000 слов в диалоге, а GPT-3 — до 3 000 слов. Если вы превысите эти лимиты, ChatGPT потеряет контекст. В связи с этим, просто скопировать 100 000 строк кода и попросить ИИ составить README не получится. Вместо этого мы научимся экономить количество слов и максимально эффективно использовать возможности ИИ.
Читайте далее, и вы узнаете самые лучшие практики и секреты создания README и логотипов с помощью ИИ!
Как я сделал Telegram-бота для студентов РТСУ

Привет, Хабр! Я учусь в Российско-Таджикском Славянском университете, собственно у нас в университете действует так называемая кредитно-бальная система.
Для просмотра количества набранных баллов и так далее, у нас есть приложение которое было разработано университетом.
Оно доступно для Android.
Ирина, голосовой помощник — теперь и со вкусом GPT-3
«Лама... Альпака...Чатгпт...» — раздавалась в уютненьком чатике по Ирине.
Хабр был не лучше — статьи по работе с GPT множились как грибы, а в комментах раздавались возгласы в духе «Дайте мне голосового помощника, с которым можно болтать!»
Если честно, еще в первой статье про Ирину я говорил, что небольшой фанат именно общения с виртуальным помощником. Помощник должен выполнять команды, казалось мне.
Тем не менее, и меня заинтересовало, насколько весело будет именно болтать с GPT, но самому в коде и платном API‑доступе разбираться не хотелось. Но сегодня утром меня снабдили и примером, и ключиком...
‑-
Это продолжение моих статей о разработке голосового помощника Ирины, не зависящего от крупных корпораций. У нас есть печеньки:
— Полностью оффлайн SpeechToText и TextToSpeech
— Поддержка плагинов
— Готовые команды «таймер», «погода» и ряд прочих. Поддержка HomeAssistant.
— Поддержка работы в клиент‑серверном режиме — сервер + куча микрофонов + Телеграм‑клиент, например.
Расскажу, что улучшилось за прошедший год с момента прошлой статьи.
TL;DR> Добавлен плагин для общения с GPT-3 нейросетью. Сделан пакет упрощенной установки под Windows — «скачай и запусти». Сделано два веб‑клиента — один распознает слова прям в браузере (тяжелый), другой отправляет весь звуковой поток на сервер (легкий) — так что можно запускать клиенты, например, на смартфоне. Добавлен TTS Silero v3 — имхо, лучшее озвучивание доступное в открытом доступе. Сделан докер‑образ для быстрого запуска Ирины без установки зависимостей. Добавлено нечеткое распознавание фраз. Обновлена VOSK‑модель распознавания голоса на специально натренированную для Ирины.
Андрей Гейн: субъективные новости из мира Python

Февральскую конференцию EkbPy в Екатеринбурге открывал Андрей Гейн со своим субъективным обзором главных новостей Python. Этот доклад стал одним из лучших на конференции по мнению слушателей, и мы решили поделиться некоторыми его тезисами с вами.
Ломаем текстовую капчу на примере VK или брутфорсинг до сих пор актуален

Что мы знаем о капче? Капча - автоматизированный тест тьюринга, помогающий отсеивать подозрительные действия недобросовестных роботов от реальных людей. Но, к сожалению ( или к счастью, смотря для кого ), текстовая капча сильно устарела. Если еще 10 лет назад она была более-менее эффективным методом защиты от роботов, то сейчас ее может взломать обойти любой желающий робот, более-менее разбирающийся в компьютере.
В данной статье-мануале я покажу, как создать собственную нейросеть по распознанию капч, имея под рукой домашний компьютер, базовые знания в python и немножко примеров капч.
Декоратор cached_property

В этой статье хочется рассмотреть декоратор cached_property. Почему он есть и в стандартной библиотеке и в Django. Чем они отличаются и когда какой лучше использовать
Как стать Python-разработчиком с нуля — личный опыт

Это мой первый пост, прошу сильно не пинать. Для начала немного расскажу, кто такой тестировщик. Это специалист, который отлавливает ошибки на всех этапах разработки проекта. Работа рутинная, но ответственная. Получают тестировщики на 20-30% меньше, чем программисты: от 30 000 руб. и выше, всё зависит от опыта.
Становление тестировщиком – самый простой путь старта в IT, есть куда расти (тест-менеджмент, веб-дизайн, чистая разработка).
Эту информацию я почерпнул из открытых источников и подумал, что вот, я не умею программировать, а получать астрономическую зарплату работать в IT – хочется. Думал, что начну с ручного тестирования, устроюсь на работу – а дальше, как пойдёт.
Но на практике оказалось не всё так просто. Кругом полно таких же людей, который думают точно также же, и такие специалисты маловостребованы. Для чего вообще берут на работу стажёров? Работодатель ожидает, что в ближайшем будущем навыки стажёра охрененно вырастут и он будет приносить огромную пользу фирме с дальнейшим повышением зарплаты (но не всегда таким, какую ожидает стажёр). Поэтому чаще всего стажёры, получив опыт, либо настаивают на значительном повышении з/п или уходят к конкурентам.
Несмотря на грустные мысли, я поставил цель – изучить навыки тестирования на Python хотя бы на уровне продвинутого стажёра.
Учим ChatGPT говорить и слушать

В этой мини статье я покажу как на компьютере при помощи Python3 дать возможность ChatGPT слушать вас и отвечать на вопросы без использования клавиатуры и дисплея.
Анализ подбора гиперпараметров при обучении нейронной сети прямого распространения — FNN (на примере MNIST)

Фичей побольше, лямбду поменьше, еще dropout и batchsize...
- "играемся" с гиперпараметрами для практического понимания смысла значений и терминов.
Полезно при изучении обучения нейронных сетей.
Ближайшие события
Пайплайн для создания классификации текстовой информации

Привет, Хабр!
Меня зовут Дарморезов Вадим, я Data Scientist и участник профессионального сообщества NTA. Актуальность работы с большими объемами текстовой информации ещё долгое время (а может быть и всегда) будет неоспорима. При этом спектр задач весьма вариативен – от задач по поиску именованных сущностей, до классификации и кластеризации текстов обрабатываемых документов.
Представим ситуацию. Перед вами важная задача – классифицировать огромный поток входящих обращений сотрудников/клиентов для дальнейшего анализа профильными сотрудниками на предмет отклонений и для построения интересующих статистик. Первое решение, приходящее в голову – в ручном режиме просматривать обращения и проводить их классификацию. Спустя пару часов, приходит осознание того, что решение было не самым правильным и так задачу не выполнить в срок. Как же тогда поступить? Именно об этом будет следующий пост.
От парсинга к Private API. В гонке за производительностью

В статье будет затронут способ с применением ревёрсинга траффика Android-устройства для обнаружения endpoints, по которым можно взять то, что лежит в более приятной форме, нежели получаемое через парсинг HTML-дерева.
Как работает нативная поддержка категорий в XGBoost
XGBoost и другие методы на основе дерева решений, обучающие модели при помощи градиентного подъема, принимают решение через сравнение, тогда как определить оператор сравнения категорий математически — это нетривиальная задача.
Ниже объясняется, какие есть варианты, подробно рассказывается об их плюсах и минусах. Особое внимание уделяется встроенной поддержке категориальных функций, представленных недавно в XGBoost и LightGBM.
Если вас интересует градиентный бустинг и его применение к дереву решений, посмотрите мою книгу.
Как с помощью AI-интеграций повысить популярность проекта

Рассказываем о том, как внедряли новомодные AI-инструменты в проект. Как это повлияло на его популярность и что за этим последовало — читайте в статье.
Технические особенности проекта: фреймворк — Laravel, БД — PostgreSQL, кэш/очереди — Redis, архитектура — основной кластер DigitalOcean Kubernetes и графический кластер GKE.
Девайс HabrScore для хаброзависимых с блекджеком и …

Понравилась статья HabraTab — девайс для хаброзависимых, где описана разработка устройства для визуализации рейтинга пользователя на Хабре.
И мне очень захотелось подобное устройство, вот только было несколько но:
- Очень лень было делать, заказывать и паять печатную плату
- Еще хотелось выводить рейтинг последней статьи, но хардкодить адрес и каждый раз пересобирать прошивку показалось очень муторно.
- Разработка на С/С++ меня не пугает, так как занимаюсь этим более 20 лет, но писать что-то под Arduino у меня душа не лежит. И это не говоря про необходимость настройки системы сборки под конкретный микроконтроллер.
Короче, немного поразмыслив, было принято решение делать свое устройство для визуализации рейтингов на Хабре, и как обычно с блекджеком и… ну вы поняли. И самое главное, чтобы можно было собирать устройство из покупных деталей с Алиэкспресса для максимально простого повторения и кодить на чем-нибудь попроще, чем на С/С++.
Поиск ошибок в логике работы чат-бота с помощью TF-IDF и DBSCAN

Привет, Хабр!
Меня зовут Котов Илья, я Data Scientist и участник профессионального сообщества NTA.
В предложенной работе, на примере задачи поиска логических ошибок робота, я продемонстрирую, как методы тематического моделирования помогут исследователям при работе с большим объемом текстовых данных.
Вклад авторов
kesn 2850.0DmitrySpb79 1664.0badcasedaily1 1381.4ru_vds 1279.6ph_piter 1189.6alizar 1078.4pushtaev 1058.0Firemoon 1041.0grigoryvp 1006.0homm 979.0

