Все потоки
Поиск
Написать публикацию
Обновить
438.02

Python *

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

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

Как я встроил Telegram API в EXE и сделал плагин‑платформу с доступом для незрячих

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

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

Это позволило:

Читать далее

Создаём свою легкую реализацию LISP'а на Python

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

Всем привет! Сегодня мы с вами сделаем реализацию LISP'а. Конечно же не полного.

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

Читать далее

Скрипт, который следит за тобой: автоматический аудит действий в Linux

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

Привет, Хабр! В данной статье хочу разобрать auditd - полезный инструмент аудита в Linux, который записывает каждое действие, а скрипт превратит логи в читаемые отчёты и алерты.

Linux-сервер без мониторинга активности пользователей — как дом с открытыми окнами. Проблемы, которые помогает решить auditd:

Несанкционированный доступ (кто и когда использовать, например, sudo)
Подозрительные команды (rm -rf, изменение прав, доступ к каким-либо файлам)
Расследование инцидентов (кто что натыкал перед падением сервера)
Соответствие корпоративным стандартам (возможно, ИБ требует логирования действий или вы любите контроль)

Решение: auditd + Python-скрипт для анализа и алертов.

Читать далее

Языки программирования на все случаи жизни. Часть 1

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

В программировании существует десятки разных направлений, языков ещё больше, около 9000. Эта статья будет интересна для тех, кто только-только начинает свой путь разработчика или же для тех, кому просто интересно. К языку будут прилагаться библиотеки и фреймворки, которые нужны для обсуждаемых направлений (например, django для python в бэкэнде).

Читать далее

Как я создал Text Extract API для RAG за 2 дня с помощью AI и Cursor: подробный кейс

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

Разработка с помощью AI‑инструментов меняет подход к созданию ПО. Я сам убедился в этом на практике: всего за два дня мне удалось создать Text Extract API для RAG, используя Claude 4.0, Gemini Pro 2.5 и IDE Cursor. Этот эксперимент показал, что нейросети — уже не просто хайп, а мощный ассистент, способный значительно ускорить процесс разработки.

Наша команда занимается созданием ПО для IT‑специалистов — программу Управление IT‑отделом 8. В ней есть блок для работы с заявками от клиентов и обширная база знаний. Возникла идея: интегрировать нейросети для автоматической обработки тикетов. Кейс прост:

Прилетает тикет от клиента > Нейросеть смотрит в базу знаний и готовит ответ > IT‑специалист либо использует ответ нейросети, либо нейросеть отвечает автоматически.

Для реализации такого функционала необходимо обучить AI‑модель на нашей базе знаний, а это требует качественного извлечения текста из различных документов. Эта статья посвящена первому этапу этого процесса — созданию API для извлечения текстовых данных из файлов любых форматов, что критически важно для эффективной работы с Retrieval‑Augmented Generation (RAG).

Читать далее

От понимания файнтюнинга LLM до файнтюнинга мультимодальных моделей

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

Что такое дообучение LLM и зачем оно нужно?

Дообучение больших языковых моделей (LLM) — это способ адаптировать их под свои задачи, сделать их умнее на своих данных и сэкономить ресурсы.

Когда стоит дообучать, а когда хватит prompt engineering или RAG? Если задача уникальная или данных много — дообучай. Если задача простая — попробуй сначала промпты.

Читать далее

Собираем MVP product search: дообучение E5 и веб-сервис для сравнения поисковых выдач

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

Что важнее: создать продукт, или доставить его до пользователя? Оба этапа необходимы. Сегодня обсудим второй. Как нам построить поисковую e-com систему.

Покажем, что в слово логистика товара входят сложные задачи не только: перевезти наушники из Китая в Америку, но и настройка поисковой выдачи по запросу.

Быстро соберем поисковой MVP-сервис. Дообучим модель E5 на реальных данных от Amazon. Определим метрики качества и сравним BM25, pretrain E5 и fine-tune E5. Так же взглянем глазами с отладочной информацией и проанализируем изменения поисковых выдач.

И под конец обсудим каких технологий еще не хватает и можно добавить, если возникают соответствующие трудности.

Погрузиться в семантический поиск →

Изучение Python за 2 недели через боль и дедлайн: личная история

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

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

Читать далее

Как писать красивый и чистый код питонистам?

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

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

Читать далее

Привет, я Ярослав и хочу рассказать, как производили подсчет объема древесины с помощью Computer Vision

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

Отвечу почему мужик с линейкой не подойдет и почему нельзя просто взвесить Камаз до и после погрузки.

Читать далее

RecBole — «комбайн» на PyTorch для любых рекомендаций

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

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

Сегодня разберём RecBole — универсальный фреймворк на PyTorch, который отвечает на три насущных вопроса любого ML-инженера рекомендаций:

Как быстро обкатать десятки алгоритмов (от классического MF до SASRec и KGAT) на собственном датасете — без сотни скриптов?
Как хранить все настройки в одном YAML, а не в трёх сотнях аргументов CLI?
Как получить честное сравнение метрик и сразу вынести лучший чекпоинт в прод?

Рассмотрим подробнее под катом.

Читать далее

Милливольтметр на экране ПК: простое решение

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

Небольшая история с описанием параметров недорогой платы с алиэкспресс и изготовлением на ее базе прибора для измерения напряжений (милливольтметра) с выводом результатов на экран компьютера.

Читать далее

Часть 4: Mamba — State Space Models vs трансформеры

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

Mamba — революция в обработке длинных последовательностей! Mamba — State Space Models vs трансформеры, что лучше?!

Читать далее

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

Прощай, reCAPTCHA! Как я защитил формы входа с помощью бесплатной и невидимой CAPTCHA от Cloudflare

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

Привет, Хабр! На связи разработчик Peakline — аналитической платформы для Strava. Сегодня я хочу поделиться опытом внедрения Cloudflare Turnstile в веб-приложение на FastAPI.

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

Читать далее

Как мы подняли современный портал документации из россыпи .md файлов: пошаговое руководство по MkDocs + Material

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

От хаоса в Markdown-файлах до стильного, быстрого сайта с поиском, темами и мультиязычностью за один вечер.
В жизни почти каждого IT-проекта наступает момент, когда количество файлов README.md, GUIDE.md, docs.txt и заметок в Confluence достигает критической массы. Документация становится фрагментированной, поиск нужной информации превращается в квест, а новые члены команды тратят часы на то, чтобы просто понять, "что где лежит".

Читать далее

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

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

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

Читать далее

Оживляем данные Strava: от парсинга GPX до интерактивной карты на Python и JS

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

Привет, Хабр! Меня зовут Александр, я разработчик и, как многие в IT, стараюсь уравновешивать сидячую работу спортом — в моем случае, это велосипед и бег. И, как многие спортсмены-любители, я пользуюсь Strava.

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

Читать далее

Как провалить собеседование по System Design: ошибки, которые допускают даже опытные разработчики

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

Собеседование по System Design — это не просто проверка технических знаний, а настоящее испытание вашего инженерного мышления. В отличие от алгоритмических задач, где есть чёткие правильные и неправильные ответы, здесь всё строится на умении анализировать, взвешивать компромиссы и предвидеть проблемы до их появления. Ирония в том, что даже опытные разработчики часто проваливают эти собеседования, потому что сосредотачиваются не на том. Они могут идеально знать, как работает Kafka или Cassandra, но если не умеют структурировать свои мысли и задавать правильные вопросы, их шансы резко падают.

Читать далее

Я построил Vision Transformer с нуля — и научил его обращать внимание

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

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

Читать далее

Создаем датасет печатных букв с любым шрифтом за 170 строк

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

В этой работе разбирается простой способ генерации изображений букв для подготовки данных для обучения нейронной сети для классификации (распознавания) букв русского алфавита.

Читать далее

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