Обновить
526.45

Python *

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

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

Автоматизация сбора и анализа вакансий с сайта Хэдхантер

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

Заинтересовался задачей автоматизации сбора и проведения небольшого анализа вакансий IT-специалистов в России. После беглого исследования пришел к выводу, что удобных бесплатных и расширяемых инструментов нет и решил написать свой на Python. В качестве источника идей, прежде всего для графиков, использовал проект hh_research Александра Капитанова.

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

Читать дальше!

Создание Chessort: игра для сортировки шахматных головоломок

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

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

Читать далее

RFID-метки для программиста: как они устроены и как с ними работать

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

RFID-технология давно стала частью повседневности — мы встречаем её в проездных, пропусках, банковских картах, системах доступа и даже в метках на одежде. Но что на самом деле происходит, когда мы подносим метку к считывателю? Как устроена эта метка внутри? Какие данные она хранит, и как программа может их прочитать или изменить?

Если вы — разработчик и хотите не просто «подключить библиотеку», а понять, как метка устроена на уровне байтов, как работает обмен данными, как выглядит структура памяти и какие команды реально отправляются на устройство, — эта статья для вас.

Читать далее

Отправляем себе сообщения в телеграмм через питон. Как это может быть полезно в работе аналитика?

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

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

Читать далее

Оптимизация асинхронного сервиса на Python

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

Всем привет! Сегодня хочу поделиться с вами нашим опытом ускорения асинхронного микросервиса на Python примерно на 25%. Я расскажу, какие действия мы предпринимали с командой, что помогло, а что оказалось не особенно полезно с точки зрения ускорения сервиса.

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

Читать далее

Как в 2025 году в Django реализовать аутентификацию через Google

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

Аутентификация через сторонние сервисы осуществляется на базе протокола OAuth 2.0, который поддерживается библиотекой Python Social Auth Django.

Для начала нам нужно установить библиотеку social-auth-core и дополнительную библиотеку social-auth-app-django для интеграции этой системы регистрации/аутентификации в Django. Оба компонента мы указали в списке зависимостей проекта в файле requirements.txt:

Читать далее

Когда Terraform не нужен: работаем с инфраструктурой через Ansible

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

Здравствуйте. Меня зовут Николай, и сегодня я расскажу, как мне пригодились Ansible и Python для работы с Yandex Cloud, и совсем не пригодился Terraform. 

Как это было

Делаем простой Telegram-бот с интеграцией AnythingLLM + LM Studio за 30 минут

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

В этом проекте создаем Telegram-бота, который взаимодействует с AnythingLLM — инструментом для работы с языковыми моделями (LLM) и LM Studio (используется как инструмент для загрузки документов и создания RAG архива). Покажу как использовать API AnythingLLM для бота и настроим взаимодействие с LM Studio, через которую предоставляется доступ к общению с ИИ-моделью. Самое главное в этой связке, что все отрабатывается локально без передачи файлов сторонним сервисам, что делает решение удобным для команд, которые хотят использовать ИИ в своих рабочих процессах, но не отправлять файлы во вне.

Полистать...

Пока ты учишь Python, сантехники — в шоколаде

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

Почему физический труд становится "антихрупким" навыком в эпоху ИИ

Автор: HRD в IT, наблюдаю трансформацию рынка труда изнутри

Читать далее

Мой pet-проект со Strava-аналитикой. Разбираю исправления и фичи, найденные благодаря вам

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

Всем привет! Снова на связи Александр, автор проекта Peakline. Несколько дней назад я опубликовал здесь статью о своем «швейцарском ноже» для анализа тренировок, который я пилил в свободное время. Я ожидал пары конструктивных комментариев и, может быть, нескольких новых пользователей.

Я жестоко ошибался.

Узнать, как это сделано

Как мы ускорили разработку python-микросервисов с помощью шаблонизатора

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

Привет! Меня зовут Влад и занимаюсь Python backend-разработкой. Довольно долго я работал над большим продуктом, который объединял несколько команд разработки. В нем было много микросервисов, базовые фичи кочевали из одного в другой, и часто разработчики делали одни и те же инфраструктурные компоненты по-разному. А когда переходили с одного микросервиса на другой, им приходилось долго осмыслять кодовую базу нового решения.

Код полнился ошибками, а разработчики тратили время на их отладку и исправление. Так мы вживую воплотили печальную статистику: разработчики ПО в среднем тратят на написание кода лишь [52 минуты в день](https://www.software.com/reports/code-time-report), остальное — исправление ошибок и другие сопутствующие задачи.

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

Читать далее

Darwin Gödel Machine: искусственный интеллект, который программирует сам себя

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

Darwin Gödel Machine: искусственный интеллект, который программирует сам себя

Привет, Хабр! Меня зовут Кирилл Пшинник, я научный сотрудник Университета Иннополис и CEO Онлайн-Университета «Зерокодер», а еще большой поклонник всего, что связано с искусственным интеллектом. Недавно я нашел интересную новость о Darwin Gödel Machine (DGM) — прототипе агента ИИ, который способен перепрограммировать себя сам, — и теперь хочу поделиться с вами тем, что узнал. 

Читать далее

Разработка LLM моделей для обновления кода приложений на более высокие версии фреймворков или языков программирования

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

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

Читать далее

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

Я устал от ограничений Strava и написал свой «швейцарский нож» для анализа тренировок на Python и FastAPI

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

Всем привет! Я — разработчик и велосипедист, которому надоели ограничения Strava. Знакомы боли: GPS‑треки с «телепортами», платный анализ по зонам и неудобная загрузка сегментов на Garmin? Я решил исправить это и написал свой «швейцарский нож» для анализа тренировок.

Под катом — история создания pet‑проекта Peakline на Python, FastAPI и Vanilla JS. Расскажу, как устроен продвинутый FIT‑генератор для гонок с «призраком», как визуализировать исправление «сломанных» GPX‑треков и как заставить график и карту работать в связке. Поделюсь фрагментами кода, архитектурными решениями и подводными камнями при работе с API Strava.

Узнать, как это сделано

Русскоязычные LLM для вызова инструментов, переводов и финансовой аналитики

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

🧠 Русскоязычные LLM для вызова инструментов, переводов и финансовой аналитики

Подборка моделей, которые действительно позволяют отказаться от OpenAI и вести разработку в закрытом контуре без подключения к интернету 🔌

Читать далее

Планирование в Python

Время на прочтение7 мин
Охват и читатели5.9K
Планирование задач — неотъемлемая часть работы любых веб-приложений, в особенности таких, в которых требуется совершать периодические или отложенные действия. В Python предусмотрено множество способов планирования задач, и у каждого есть свои сильные и слабые стороны. В этой статье будут рассмотрены некоторые наиболее популярные способы планирования задач в приложении, написанном на основе FastAPI.

sched – планировщик событий из Python


Модуль sched входит в состав стандартной библиотеки Python и обеспечивает простой механизм для планирования событий в программе. Этот модуль может работать в приложении на FastAPI, но пользоваться им не рекомендуется, так как он слишком прост, и функциональность его ограничена.
Читать дальше →

Тайное уравнение, позволявшее США следить за всеми

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

В 2006 году АНБ скрыла в криптографическом стандарте Dual EC DRBG математический бэкдор. Агентство отрицало его наличие восемь лет. Затем утечки Сноудена подтвердили его существование.

Двойные эллиптические кривые (Dual Elliptic Curve) используются как безопасные генераторы случайных чисел (RNG). Математический бэкдор позволял правительству США расшифровывать SSL-трафик Интернета (Green 2013)1.

Эта статья будет технически глубоким исследованием для программистов. Мы реализуем и исходную правительственную научную статью (SP 800-90 2006)2, и бэкдор, обнаруженный исследователями Microsoft (Shumow & Ferguson 2007)3.

На моём домашнем компьютере для взлома 28 байт (не бит) при помощи этого бэкдора требуется 2 минуты. Представьте, какой объём Интернет-трафика правительство США могло расшифровывать при помощи суперкомпьютеров Министерства обороны.

Читать далее

Линейная регрессия в ML для самых маленьких

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

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

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

Читать далее

Type Driven Development на практике

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

Разработка через типы (Type-Driven Development, TypeDD) — это методология программирования, при которой вы начинаете с написания определений типов, которые служат точной спецификацией вашей программы. Вместо того чтобы сначала писать код, а потом добавлять тесты или типы, вы используете компилятор как интерактивного ассистента, который направляет вас к созданию программы, удовлетворяющей заданным типам.

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


Но попробуем использовать его идеи на практике вне Idris.

Попробуем сравнить такие метрики как
1. Время проектирования (момент, после которого разработчик может больше не соприкасаться с предметной областью, а руководствоваться только ТЗ)
2. Время до выкатки на прод
3. Частота ошибок на проде (и как следствие, ущерб бизнесу и затраты на сопровождение)

Читать далее

Пишем персонального AI-ассистента на Python

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

Современные голосовые помощники это мощные приложения, сочетающие обработку речи, машинное обучение и интеграцию с внешними API. В этой статье мы разберём, как создать базовый проект персонального ассистента на Python, используя библиотеки whisper, webrtcvad, gTTS и другие. Наш ассистент будет: слушать микрофон; определять начало и конец речи с помощью VAD (Voice Activity Detection); преобразовывать речь в текст через модель Whisper; отправлять запросы на локальный LLM для генерации ответа; читать ответ вслух с помощью gTTS; начинать/останавливать запись по нажатию клавиши.
Проект может служить как началом для экспериментов, так и для прототипирования реальных решений.

Читать далее

Вклад авторов