Как стать автором
Обновить
552.98

Python *

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

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

Улучшаем поиск в оболочке

Время на прочтение11 мин
Количество просмотров778

Страшно вспомнить, сколько часов в день я проводил, работая в терминалах Unix и выполняя команды оболочки. По какой-то причине у разных людей сноровка при работе с оболочкой разительно отличается. Я знаю тех, кто даст мне в этом сто очков вперёд. В то же время, попадался мне один профессионал на зарплате, не знавший, что достаточно нажать клавишу «вверх», чтобы выяснить предыдущую команду.

Я неслучайно привёл такой пример: те команды, которые нам, как правило, приходится выполнять в оболочке, то и дело повторяются. Мне обычно доводится иметь дело с 50-100 уникальными (т.e., синтаксически неидентичными) командами оболочки в типичный рабочий день. Но среди этих команд можно выделить и крошечную подгруппу (напр., cargo test) таких, которыми я пользуюсь сотни раз в день.

Читать далее

Новости

Как я создал клон Pinterest с использованием Vue 3 и FastAPI

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

👋 Привет, Habr!

Вы когда-нибудь пытались найти качественный open-source клон Pinterest — с real-time функционалом, полноценной архитектурой, удобным UI и современной технологической основой? Я — да. И не нашёл. Поэтому решил создать свой.

Представляю вам Pinterest Clone — мой pet-проект, над которым я работал в одиночку 4 месяца, чтобы воссоздать не просто копию, а полнофункциональную платформу с реальным пользовательским опытом, максимально приближённым к оригиналу.

Читать далее

FastOpenAPI: автодокументация OpenAPI для разных фреймворков на Python

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров810

Всем привет! Меня зовут Никита Рыженков, и я хочу поделиться опытом разработки библиотеки FastOpenAPI. Это инструмент, который приносит удобный стиль маршрутизации FastAPI и автоматическую документацию OpenAPI в целый ряд Python-фреймворков. Идея родилась из личной боли: в одном проекте приходилось поддерживать OpenAPI-документацию сразу в нескольких фреймворках, и я устал дублировать решения под каждый из них. Вдохновившись лаконичностью FastAPI, я решил создать унифицированный подход для Flask, AioHttp, Sanic, Falcon, Starlette, Quart, Tornado – назвал его FastOpenAPI​. В этой статье расскажу, какие проблемы решает FastOpenAPI, как он устроен внутри и как им пользоваться с примерами кода под каждый поддерживаемый фреймворк.

Читать далее

Год с uv — инструментом управления Python-проектами: плюсы, минусы и стоит ли переходить

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров2.3K

uv — это новый инструмент управления Python-проектами, разработанный командой Astral. За год активного использования автор протестировал его в разных условиях: от учебных задач до сложных production-проектов. В статье — честный разбор сильных и слабых сторон uv, его отличий от других менеджеров окружений, реальных ограничений и сценариев, где он работает особенно хорошо.

Читать далее

Истории

VoxShare — LAN-аудиочат с Push-to-Talk и мультикастом, без серверов и аккаунтов

Время на прочтение2 мин
Количество просмотров809

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

Хочу поделиться своим open-source проектом — VoxShare. Это настольное приложение для голосовой связи по локальной сети, построенное на UDP Multicast и кодеке Opus. Без серверов, аккаунтов и привязки к Интернету — только вы и ваши коллеги в одной сети.

Проект актуален для:

Читать далее

Python Day на PHDays — не только доклады

Время на прочтение5 мин
Количество просмотров363

В первой статье из серии про Python Day на Positive Hack Days мы говорили о том, какие доклады ожидаются на конференции. В этой статье мы расскажем о нововведениях этого года: битвах технологий и круглом столе. Битвы технологий — это короткие динамичные дискуссии, посвященные разным аспектам языка Python, которые будут проходить в течение дня на конференции. Далее несколько слов о том, чему будут посвящены битвы, и о том, кто примет в них участие ⚔️

Читать далее

Вторая жизнь для ретроноутбука. Пишем клиент Ollama на Python + Tkinter и Delphi 7 для Windows Vista

Время на прочтение8 мин
Количество просмотров2.6K

Салют, %USERNAME%. Признаюсь, я очень люблю старые лэптопы ThinkPad. В те времена, когда брендом владела IBM, эти аппараты восхищали своей продуманностью и функциональностью. Цена на них кусалась, но ты точно знал, что за строгим дизайном скрывается мощное «железо» и отличные инженерные решения. Чего стоила подсветка клавиатуры ThinkLight (познакомился с ней на R61i), которая позволяла с комфортом работать в поезде или самолете, не напрягая других пассажиров включением света. Ну а трекпойнт мне до сих пор нравится больше, чем любой крутой тачпад.

Развитие операционных систем и технологий оставило старые ThinkPad за бортом. Разумный предел для моего X41 Tablet — Windows Vista. Под нее есть все драйверы устройств, и она способна запускать большинство игр и приложений, написанных для Windows XP. Но в современных условиях, когда главным инструментом пользователя стал веб-браузер, эта система безнадежно устарела.

И тут ко мне пришла безумная идея: а что, если подарить такому ноутбуку вторую жизнь и дать возможность работать с современными нейросетями? Разумеется, ресурсов на полноценный инференс не хватит, но вот написать простой клиент для взаимодействия с Ollama — почему бы и нет. В итоге я получу ноутбук, который позволит мне общаться с нейронными сетями и вновь подарит удовольствие от использования. Что получилось из этой затеи, как раз и расскажу дальше.

Читать далее

Обработка геоданных для ML-задач. Часть 3: агрегирование данных и оценка пространственных шаблонов

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров279

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

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

Читать далее

Как увидеть, что именно покрывают UI-тесты — прямо на сайте и в реальном времени

Время на прочтение20 мин
Количество просмотров765

Как понять, что реально делают ваши UI автотесты?

ui-coverage-tool — это инновационный инструмент нового поколения, не имеющий аналогов. Он визуализирует покрытие прямо в браузере, работая с реальным приложением. История по каждому элементу, фильтры по действиям, динамика и полная наглядность — всё, чтобы не просто тестировать, а понимать и улучшать.

Читать далее

Как отправить много страниц сайт на переиндексацию в Google Indexing API и автоматизировать процесс

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров441

Переиндексация URL в Google — важный инструмент в руках SEO-специалиста и маркетолога. Если вы внесли изменения на сайте, добавили новые страницы или изменили структуру — сообщить об этом Google можно руками в интерфейсе. Примерно вот так:

Читать далее

Не доверяйте groupby().first()

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

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

В этой статье рассмотрим, почему groupby().first() в pandas — не такая уж безопасная и очевидная штука, как может показаться. Особенно когда нужно достать первую строку группы в точности, как она была в датафрейме — с NaN, с порядком, без сюрпризов.

Но для начала рассмотрим отличия first от других подобных методов.

Читать далее

Говорим с Битрикс24 на языке ИИ: представляем опенсорс MCP-сервер для LLM-интеграции

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров992

Привет! Мы — партнеры Битрикс24 и создаем для бизнеса приложения с генеративным ИИ, интегрируя их с корпоративными порталами.

В этой статье мы расскажем о созданном нами решении, которое позволяет любым разработчикам легко подключать свои чаты и другие приложения с LLM-моделями к Битрикс24. Речь идет о MCP-сервере — помощнике для ИИ, который позволяет получать из портала Битрикс24, например из раздела CRM, точные данные для ответа пользователю.

Читать далее

Графика и Python: 6 GUI-инструментов, которые пригодятся разработчикам в 2025 году

Время на прочтение33 мин
Количество просмотров7K

Привет, Хабр! Меня зовут Леша Жиряков, я техлид бэкенд-команды витрины KION, а еще в МТС я возглавляю Python-гильдию.

В 2025 году Python остается одним из самых популярных языков программирования, а его возможности для создания графических интерфейсов (GUI) продолжают радовать разработчиков. В этой подборке — шесть лучших инструментов, которые выделяются функциями, активностью сообщества и фишками. Погружаемся в мир кнопок, окон и виджетов — от проверенной классики до ярких новичков GitHub.

Читать далее

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

19 марта – 28 апреля
Экспедиция «Рэйдикс»
Нижний НовгородЕкатеринбургНовосибирскВладивостокИжевскКазаньТюменьУфаИркутскЧелябинскСамараХабаровскКрасноярскОмск
24 апреля
VK Go Meetup 2025
Санкт-ПетербургОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
14 мая
LinkMeetup
Москва
5 июня
Конференция TechRec AI&HR 2025
МоскваОнлайн
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область

Распознавание капчи GeeTest: как обойти сложную антибот-систему

Уровень сложностиПростой
Время на прочтение22 мин
Количество просмотров619

Можно было бы написать так - “опытные разработчики, занимающиеся парсингом и автоматизацией, нередко сталкиваются с необходимостью обхода современных капч”. Но это слишком скучно… Я лучше начну так - продолжая изучать забавный мир капч, я в своих изучениях добрался таки до китайской версии защиты - GeeTest капчи. Давайте разбираться, что же это за зверь, где он обитает и почему нужно его опасаться… Или не нужно… В общем в процессе поймете!

Читать далее

UI автотесты на Python с запуском на CI/CD и Allure отчетом. PageObject, PageComponent, PageFactory

Время на прочтение43 мин
Количество просмотров2.6K

Разбираем, как писать масштабируемые и читаемые UI автотесты на Python с использованием паттернов PageObject, PageFactory и PageComponent. Разберем на атомы как устроены эти подходы, когда их применять и чем они отличаются. Всё это — на примере тестового проекта UI Course с CI/CD и наглядными отчетами в Allure.

Читать далее

Как создавать A/B-тесты SMS-рассылок с нейросетью DeepSeek

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров532

Привет, Хабр. В этой статье поможем владельцам бизнесов и маркетологам в два клика с помощью нейросети получить хорошие тексты для A/B-тестирования SMS-рассылок и разослать выбранные варианты контактам из CRM.

Для генерации текстов используем API DeepSeek, для рассылок — SMS API от МТС Exolve, а контакты берём из CRM-системы «Битрикс24».

Читать далее

Личный ИИ-ассистент на ваших данных. Часть 2: Веб-интерфейс, авторизация и стриминг ответов от ИИ

Время на прочтение27 мин
Количество просмотров2.3K

Продолжаем тему, которая вызывает живой интерес у многих разработчиков и энтузиастов ИИ — создание собственного ассистента на базе ChatGPT или DeepSeek с использованием личной базы знаний.

В этой части статьи мы шаг за шагом превращаем консольную заготовку из первой части в полноценный веб-сервис:
— реализуем авторизацию
— создаём веб-чат с выбором нейросети
— интегрируем всё через FastAPI
— готовим к деплою

Если вы хотите, чтобы ваш ИИ-ассистент выглядел и работал как настоящий сервис — поехали!

Читать далее

Некоторые особенности создания диаграммы Санки (Sankey Diagram) на Python, библиотека plotly

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

Разбираемся как упаковывать данные в диаграмму Sankey, от этапа проектирования до сборки финальных кортежей.

Читать далее

Оповещение о РО через колонки Яндекса (Ну или в целом получение сигналов в УДЯ)

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

Система и алгоритм оповещения о ракетной опасности с использованием Яндекс Станций. Пользователь вручную создает сценарии для устройств «Умного дома Яндекса» с использованием «Лампочки», которая включается при сигнале о РО и выключается при сигнале ОТБОЙ.

Стэк: Python, telethon, aiogram 3.x, mqtt, postgresql.

Читать далее

Как обсчитать RFM-анализ за 5 шагов

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров316

RFM анализ это

Общий алгоритм обсчета

1 Построить из исходного датасета таблицу пользователей, определив для каждого количество транзакций, общую сумму платежей и дату первой и последней операции.
2 Вычислить дополнительные показатели
3 Определить границы RFM рангов и присвоить их каждому пользователю
4 Построить RFM таблицу, сгруппировав пользователей по рангам.
5 На основе RFM таблицы построить тепловую карту

Читать далее
1
23 ...

Работа

Data Scientist
46 вакансий