Обновить
591.76

Python *

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

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

Снятие проклятия размерности: как познакомиться со своими данными

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

1. Проклятие размерности

Человек эволюционировал в 3 пространственных измерениях, и в них мы себя шикарно чувствуем. В них мы живем, радуемся, грустим, да и все драмы жизни проходят в этих измерениях. Правда в первой половине 20 века Теодор Калуца и Оскар Клейн нашли еще одно измерение, но оно маленькое и его людям не видно. После струнные теоретики, такие как Леонард Сасскинд, Герард т`Хофт, Яу Шинтун, Александр Виленкин  и другие, опять сильно усложнили картину мира, и к 4 пространственным измерениям добавили еще 6 (это минимум), но они все где то не пойми где, и влияют на жизнь только физиков-теоретиков, а остальным n-миллиардам людей на Земле, нет никакого дела до этих измерений, им и в 3 хорошо живется.

Другое дело математика и наука о данных, тут измерений может быть сколько угодно, например вот:

Читать далее

Что если представить habr в виде obsidian-графа?

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

Ночью (а точнее уже утром), я не мог уснуть, из-за навязчивой мысли в голове..

А что если спарсить часть статей с хабра и представить их в виде obsidian графа, будет ли это выглядеть, как красивая база знаний?

Читать далее

Автоматизация геозадач: как NextGIS Web и open source экономят время

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

Работая с геоданными, я регулярно сталкиваюсь с одной и той же проблемой - обилие рутины. Форматы не совпадают, координаты «прыгают», отчёты приходится собирать вручную. Даже если речь идёт о небольшом проекте, половина времени уходит не на сам анализ, а на подготовку и приведение данных к нужному виду.

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

И хотя Python и open source-инструменты здорово помогают, есть задачи, где одной только «самодельной автоматизации» недостаточно. Когда данных становится слишком много, когда к ним нужно дать доступ коллегам или когда важно наладить единый процесс - тут уже нужен сервер, который позволит и хранить, и обрабатывать, и публиковать информацию в удобном виде. Недавно обнаружил для себя NextGIS Web.

Почему локальные инструменты не спасают

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

Но реальность большинства проектов другая: сотни файлов, регулярные партии данных от подрядчиков, ежедневные правки от полевых инженеров и требования выдавать отчёты руководству. В таких условиях «локальный» подход быстро превращается в набор костылей.

Читать далее

Что такое эмбеддинги и как с ними работать. Вводная для начинающих

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

В этой статье будет рассказано об эмббедингах и методах работы с ними. Расскажу немного математики и приведу много примеров на Python.

🔥 Начинаем? 🔥

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

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

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

Читать далее

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

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

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

Читать далее

Все об устройстве MSK144 с примерами на Python (часть 1)

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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