Обновить
1024K+

Python *

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

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

Префиксные суммы. Решение задачи из тренировок Яндекса по алгоритмам

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

Расскажу о том, как решал одну из наиболее интересных задач в разминке Яндекс Алгоритмы 2023 г. Интересной я называю ее потому, что: 1) решал я кратно дольше, чем предыдущие 6 задач из разминки вместе взятые; 2) именно в этой задаче я проникся мощью префиксных сумм, и применением их для двумерных массивов.

И так задача:

Кролики очень любопытны. Они любят изучать геометрию, бегая по грядкам. Наш кролик как раз такой. Сегодня он решил изучить новую фигуру — квадрат.

Кролик бегает по грядке — клеточному полю N × M клеток. В некоторых из них посеяны морковки, в некоторых нет.

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

Формат ввода

В первой строке даны два натуральных числа N и M ( 1 N, M 1000). Далее в N строках расположено по M чисел, разделенных пробелами (число равно 0, если в клетке нет морковки или 1, если есть).

Формат вывода

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

Читать далее

Генерация цветовых градиентов для дашбордов Dash и отдельных графиков Plotly

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

Создание цветовых градиентов для дашбордов в Dash/Plotly

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

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

В статье вы узнаете:

Как избежать проблем с ручным назначением цветов

Как предотвратить «заканчивание» заранее подготовленных цветовых палитр

Как создать равномерные цветовые градиенты в рамках заданной схемы

Практические примеры реализации на Plotly и Dash

Для кого: разработчики дашбордов, работающие с Plotly и Dash, которые хотят оптимизировать процесс визуализации категориальных данных.

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

Читать далее

Помощник читателя: визуализируем сюжет

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

Пишем AI-помощника для анализа художественных произведений. С помощью языковой модели для анализа текста и небольшой обвязки для визуализации полученного структурированного ответа генерируем:

- граф связей между героями
- хронологию событий
- карту мест действия

Читать далее

Под капотом Pine Script: как устроен и для чего используется язык TradingView

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

Pine Script — это язык программирования, разработанный командой TradingView как Domain Specific Language, то есть специализированный язык для решения конкретной задачи — анализа и визуализации финансовых данных. Он создан для тех, кто хочет строить собственные индикаторы, тестировать торговые стратегии и делать всё это прямо в интерфейсе графика — без установки Python, без импорта исторических котировок и без настройки среды разработки.

Pine Script предельно прост по синтаксису, но в то же время достаточно мощный, чтобы покрыть 95% потребностей розничного трейдера. В нём предусмотрены ключевые блоки: работа с таймсериями, доступ к фундаментальным данным, рисование на графике и даже поддержка таблиц.

Все примеры на Гитхабе.

Что за Pine Script?

Организация ML-проекта с примерами

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

Организация - это важно. То же относится к ML-проектам. Из каких компонент он должен состоять? Как оформить проект, чтобы всего хватало и было удобно это масштабировать? Рассмотрим организацию по шаблону CookieCutter с примерами.

Читать далее

MSSQL: тепловые диаграммы индексов в виде TreeView

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

Вам интересно, какие индексы используются больше или меньше? Какие не используются вовсе? Какие таблицы и индексы самые большие? Очень легко создать такие диаграммы. Это и красиво, и полезно.

Читать далее

Автоматизация RSA-подписей в API с помощью плагина Burp Suite

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

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

Читать далее

Python для преподавателя: как я использую код, чтобы автоматизировать работу

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

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

Читать далее

Что такое конвейер данных? И почему вы должны это знать

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

Конвейер данных (Data Pipeline) - это последовательность шагов для обработки данных. Если данные еще не присутствуют в платформе данных, они поступают в начале конвейера. Затем конвейер обрабатывает данные через ряд этапов, где выход каждого этапа становится входом следующего. Этот процесс продолжается до тех пор, пока конвейер не будет завершен. В некоторых случаях независимые этапы могут выполняться одновременно.

Читать далее

Автоматизировать, нельзя анализировать: интеграция SOAR Shuffle в SOC ч. 1

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

Привет, Хабр! Работая в современном коммерческом SOC'е я впервые столкнулся с масштабными средствами автоматизации, заточенными под самые разные инфраструктуры, которые позволяют экономить колоссальное количество времени и предотвращать тысячи киберинцидентов каждый день.

Пообщавшись с коллегами по цеху из других SOC'ов, пришел к выводу, что львиную долю из них эксплуатируют достаточно дорогие и сложные в настройки SOAR решения, а часть из них вовсе не могут себе позволить этого и занимаются некоторыми рутинными процессами вручную или не занимаются вовсе. В первой части статьи я бы хотел обсудить, что такое SOAR системы и зачем они используются в SOC'ах. Помимо этого, познакомится с молодым и перспективным Open Source решением под названием Shuffle.

Читать далее

Рабочий чекер, попал ли ваш сайт под фильтр Гугл — бесплатно

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

Понадобилось мне проанализировать сайт на предмет попадания его под фильтр Гугла, причем с историческими данными.

Первым делом начал гуглить - чекер фильтров Гугла и вот это вот все. Естественно - в интернетах куча решений, но есть небольшое но... Они либо платные, либо условно-бесплатные, либо вообще непонятно как работают.

Ну что делать - надо реализовать собственное решение, что я и сделал.

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

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

Читать далее

Python для OSINT в Telegram: автоматизация Threat intelligence

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

Привет, на связи лаборатория кибербезопасности компании AP Security.

Узнайте, как создать парсер Telegram на Python с использованием Telethon для осинта и сбора данных об угрозах. Пошаговое руководство с практическими примерами.

Читать далее

Прототип для металлографа: анализ включений на Python с OpenCV и PyQt

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

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

Коммерческие программы для металловедов решают эту проблему... почти. Они избыточны, дороги, и процентов на 90 включают функции, которыми обычный инженер не пользуется. Хотелось чего-то проще, точнее и, желательно, бесплатного. Так родился мой проект SenseOptics KANV.

Читать далее

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

NoProp: Реальный опыт обучения без Backprop – от провала к 99% на MNIST

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

Всем привет! Обучение нейронных сетей с помощью обратного распространения ошибки (backpropagation) — это стандарт де‑факто. Но у него есть ограничения: память, последовательные вычисления, биологическая неправдоподобность. Недавно я наткнулся на интересную статью «NOPROP: TRAINING NEURAL NETWORKS WITHOUT BACK‑PROPAGATION OR FORWARD‑PROPAGATION» (Li, Teh, Pascanu, arXiv:2403.13 502), которая обещает обучение вообще без сквозного backprop и даже без полного прямого прохода во время обучения! Идея показалась захватывающей, и мы (я и ИИ‑ассистент Gemini) решили попробовать ее реализовать на PyTorch для MNIST.

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

Дисклеймер 1: Это рассказ об учебном эксперименте. Результаты и выводы основаны на нашем опыте и могут не полностью отражать возможности оригинального метода при наличии всех деталей реализации.)

Читать далее

Мифы о байесовском А/Б тестировании

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

Хабр, привет! Сегодня сравним два подхода к А/Б тестированию: байесовский и частотный. Обсудим сложности в интерпретации p-value. Посмотрим, как можно учитывать дополнительную информацию через априорное распределение. Остановим тест раньше времени и решим проблему подглядывания.

Читать далее

Как мы сделали сервис знакомств для сотрудников

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

Привет! Меня зовут Сергей. Я ведущий backend-разработчик Тензора.

В статье расскажу, как мы с hr-командой забрали хлеб у «Давай поженимся» активизировали неформальное общение в компании и реализовали сервис для знакомств.

Читать далее

Астрономия и компьютеры

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

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

Осенью на конференции так выступил российский астроном и популяризатор науки Дмитрий Вибе. А теперь мы решили, что накануне Дня космонавтики его доклад может быть интересен и читателям Хабра, даже никак не связанным с Python. Поэтому подготовили текстовую версию.

А если вы именно питонист, обратите внимание: мы уже готовим новую PiterPy, которая пройдёт 16-17 мая в Петербурге и онлайн. А если другой IT-специалист — возможно, вам подойдёт другая из наших конференций.

Далее — повествование от лица спикера.

Читать далее

Это путь воина: как я выучил Python и Go с помощью Цеттелькастена и кому точно не рекомендую метод

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

Привет, Хабр! Меня зовут Дмитрий, я работаю в YADRO. Я прошел большой путь в самостоятельном изучении языков программирования: от SQL до Go. Сначала я вообще не документировал процесс обучения, затем стал вести заметки по «академическому» принципу — писал конспекты, как в университете. Пока не открыл древовидную систему хранения данных, которая лежит в основе метода Цеттелькастен. 

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

Читать далее

Организация задач на новом уровне: интеграция Google Sheets и Telegram-бота для эффективного планирования

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

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

Меня зовут Евгений и в этой статье я хочу рассказать как я создавал свой таск - менеджер на базе Google Sheets и Telegram.

Читать далее

Как я стал core-разработчиком Python в 19 лет

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

Как я стал core-разработчиком CPython в 19 лет: История усилий и достижений

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

Читать далее