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

Python *

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

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

Кольца Барромео и один забавный алгоритмический баг

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

Кольца Барромео — это конструкция из трёх колец, обладающая интересным свойством: эти кольца не сцеплены попарно между собой, но полная конструкция из трёх колец неразделима. Ну или если перефразировать: вся конструкция неразделима, но если любое из колец магическим образом пропадает, то оставшиеся два можно разделить. Единственное известное мне практическое применение этих колец — использование в качестве логотипа пива Ballantine. В прошлом году в моей практике повстречался интересный алгоритмический баг, который у меня ассоциируется именно с этой конструкцией.

Читать далее

Меньше магии, больше кода: мой способ писать Django views

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

Команда Python for Devs подготовила перевод статьи о том, как автор выбирает способ написания представлений в Django. Он считает, что обобщённые классовые представления (CBV) скрывают слишком много магии, усложняют чтение кода и отладку. Вместо них он использует базовый View, чтобы сохранять контроль, но при этом избегать громоздких if в функциях.

Читать далее

Коротко об устройстве MSK144 с примерами на Python

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

MSK144 — цифровой протокол, разработанный Джо Тейлором (K1JT) и его командой в 2016 году для проведения связей через метеорное рассеивание. В этой статье будут рассмотрены подробности работы протокола.

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

Читать далее

Прокачиваем RAG: тестируем техники и считаем их эффективность. Часть 1

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

При про­ектировании RAG-системы инженер каждый раз сталкивается со множеством вопросов: какую базу данных использовать, как организовать получение релевантной информации, да даже выбор эмбеддера может занять приличное время, а это лишь вершина айсберга. Что хорошо работает в одной сфере, например в техподдержке, может полностью провалиться в другой — например, при анализе юридических документов. Поэтому задачей инженера является выявление особенностей предметной области и адаптации RAG системы к ним. Однако, чтобы это сделать, необходимо не только понимать, какие приёмы можно использовать, но и знать насколько они эффективны.

В данной статье мы разберём основные RAG техники, посмотрим их сильные и слабые стороны, сферы применения, а также немного поэкспериментируем. В следующей части статьи мы проведём тестирование этих техник на реальных пользовательских запросах из датасета Natural Questions и оценим качество работы с помощью RAGAS и BertScore, посмотрим на графики и разойдёмся, чтобы обдумать всё написанное. Поэтому предлагаю начать!

Читать далее

Переводим fb2 книжки, с нейронками, для себя

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

Хотел написать классическую статью, ни разу не писал, ради интереса попросил ChatGPT и она все написала, стало скучно до жути, эта «классическая » статья будет под спойлером, она реально по теме, написана с двух запросов, а далее будет кратенько и технически что и зачем, со ссылками на примеры. Для технической части нужны знания python, llm, cuda и что такое OpenAI API.

Читать далее

AVIF: Крепкий орешек для стеганографии. Почему LSB-метод пасует там, где справляется WebP

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

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

Сегодня я хочу поделиться историей одной, казалось бы, простой задачи, которая превратилась в увлекательное техническое расследование. Мы разрабатывали утилиту для стеганографии ChameleonLab и решили добавить поддержку современных форматов изображений, таких как WebP и AVIF. С WebP все прошло гладко, но AVIF оказался на удивление крепким орешком.

Читать далее

Polars — «убийца Pandas» на максималках

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

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

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

Читать далее

Claude Code: субагенты

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

Субагенты в Claude Code — обзор вопроса и немного деталей.

Расскажу про одну из самых примечательных фич Claude Code — инструмент Суб‑Агентов (Sub‑Agents), чем он отличается от обычного Task, и как его можно использовать для создания своих систем на базе ИИ агентов.

Читать далее

ChameleonLab 1.5: Кросс-платформенный комбайн для стеганографии, рожденный на Хабре

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

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

Пару месяцев назад мы представили наше детище — ChameleonLab, десктопное приложение для Windows и Mac, которое позволяет встраивать и извлекать скрытые данные из файлов, а также проводить их глубокий анализ. Проект начинался с самой простой версии, но благодаря активному участию и обратной связи от нашего сообщества, он постоянно развивается. Ваши предложения, в частности по интеграции офисных форматов и формата WebP, стали для нас важным источником вдохновения и позволили значительно расширить возможности программы. Теперь, после сотен часов разработки и ценной обратной связи от нашего сообщества, мы рады представить версию 1.5 — полноценный комбайн для работы с цифровыми файлами, который вобрал в себя как классические, так и авторские методы стеганографии и стегоанализа.

Читать далее

Как я разрабатывал собственную временную почту

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

Мне нужно написать скрипт авторега аккаунтов для одного популярного сервиса. для регистрации аккаунтов нужна электронная почта.

Ранее я уже использовал для таких задач python-библиотеку tempmail, но она перестала работать.

Читать далее

Разбираем «под капотом» кастомную фитнес-метрику: от идеи до реализации на Python

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

Всем привет! Я, как и многие здесь, не только разработчик, но и человек, увлеченный циклическими видами спорта. Я обожаю копаться в данных своих тренировок из Strava: анализировать мощность, пульсовые зоны, темп. Но мне всегда не хватало одной вещи — единой, понятной и, главное, прозрачной метрики, которая бы отвечала на простой вопрос: "А насколько я сейчас в хорошей форме?".

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

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

Читать далее

День программиста: от CGI до Zope

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

📅 Сегодня — День программиста. И это отличный повод вспомнить, что даже то, что кажется нам «естественным» и само собой разумеющимся, когда-то было революцией.

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

Читать далее

Обработка результатов моделирования Fire Dynamics Simulator на Python (часть 2)

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

Здравствуйте меня зовут Роман, я занимаюсь обеспечение пожарной безопасности в зданиях и сооружениях более 15 лет, основной профиль моей деятельности — это моделирование развития пожара.

В основном моделирование развития пожара провожу в специализированном программном обеспечении Fire Dynamics Simulator (FDS), оно используется от Японии до США при обосновании отступлений требований пожарной безопасности.
 При моделировании развития пожара очень много времени занимает обработка результатов моделирования. В цикле статей я хочу поделиться способами обработки данных, которые использую при работе.
 
Статья ориентирована на специалистов, которые уже используют FDS в работе. Подробности моделирования развития пожара с помощью FDS в данной статьи не будут рассматриваться.

Эта статья — вторая из серии. Ссылка на первую статью.

Читать далее

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

Дивергенция как мера специфичности аудитории вашей пилотной механики

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

Хабр, привет! На связи Никита и Егор, мы работаем над продуктовой аналитикой в дирекции по развитию программы лояльности Х5. В статье мы бы хотели рассказать вам о том, как можно использовать модификацию дивергенции Кульбака-Лейблера для ответа на вопрос, а насколько ваша пилотная аудитория специфична относительно генеральной совокупности всех клиентов, и какие могут быть «подводные камни».

Читать далее

Какой Python-фреймворк выбрать: Django, Flask или FastAPI?

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

Команда Python for Devs подготовила перевод статьи о том, какой фреймворк выбрать для веб-разработки на Python: Django, Flask или FastAPI. Django берёт надёжностью и готовой функциональностью, Flask — гибкостью и минимализмом, FastAPI — скоростью и современными возможностями. А какой из них ближе вам?

Читать далее

Предиктивная аналитика в нефтедобыче или как я проходил практику

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

В первые дни, проведённые в офисе, я ощутил всю прелесть онбординга в нефтянку. Тогда для меня каждое второе слово от коллег являлось новым и приходилось жёстко гуглить. УЭЦН, ПЭД, МРП, КВЧ, загрузка, НГДП, кусты, ВНР... Мне казалось, я попал в параллельную вселенную, где говорят на странном техническом диалекте. Мой наставник, видя мои широко открытые глаза только улыбался и говорил: «Ничего, через неделю всё поймёшь. Главное выучи, что такое VLP и IPR».

Читать далее

Напердолил целую игру

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

Уууу, давно хотелось чего-то простого, смешного и без лишних заморочек. Чтобы мемов побольше и можно было с пацанами погонять. В итоге получились "TANKOLINI NAPIERDOLKI".

Старый добрый монохромный экран, тетрис, мультиплеер и редактор карт для каждого. С другой стороны — всё на канвасе, с вручную отрисованными пикселями, без всяких ассетов и движков. Python на бэке, PostgreSQL для карт и Redis для игровых комнат. Обо всём этом — в статье.

Читать далее

Собираем «идеального душнилу»: как создать ИИ-агента, который завалит вашего чат-бота

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

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

Открыть окно

Визуализация управления памятью в Python: что творится внутри?

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

Python щедро раздаёт нам удобные абстракции. Создаёшь список, словарь или строку — и не думаешь, где под это выделилась память и как она потом освободится. Но внутри интерпретатора работает довольно сложный механизм, и он устроен не так, как в C или других языках.

Идея сделать приложение-визуализатор пришла после чтения книги CPython Internals. Там подробно объясняется, как устроены арены, пулы и блоки. Но пока читаешь текст, всё это воспринимается слишком абстрактно. Захотелось увидеть механику своими глазами: как память выделяется, как освобождается и почему иногда остаётся занята. Так и появился MemoryMonitorApp, а вместе с ним — эта статья.

Читать далее

Как мы освободили 20 ГБ в PostgreSQL без удаления данных

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

Команда Python for Devs подготовила перевод статьи о том, как можно освободить десятки гигабайт места в PostgreSQL без удаления данных и индексов. TL;DR: удаляем неиспользуемые индексы, чистим bloat, пересобираем таблицы и используем частичные индексы, чтобы хранить только то, что реально нужно.

Читать далее

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