Обновить
512K+

Python *

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

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

Автоматизация выявления вредоноса в реестре Windows

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

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

Читать далее

concurrent.futures в Python

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

Привет, Хабр! Сегодня мы взглянем на одну из самых интересных библиотек в Python для работы с параллельным выполнением задач - concurrent.futures.

Каждый разработчик сталкивается с ситуациями, когда необходимо выполнять задачи параллельно. Это может быть I/O-операции, которые блокируют основной поток, или вычисления, требующие большого объема процессорных ресурсов. Здесь на помощь приходит concurrent.futures - модуль, предоставляющий высокоуровневый интерфейс для асинхронного и параллельного выполнения задач.

Какие преимущества предоставляет этот модуль?

Читать далее

Gryffine — история одного пет-проекта

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

Как-то раз один знакомый сисадмин пожаловался мне на жизнь суровую. Он рассказал об одном инциденте в его конторе. Стоит оговориться, что контора небольшая и такой сущности как отдельный специалист по информационной безопасности там нет. Инцидент стандартный до банальности. Случайно заметили аномальную активность на линуксовых серверах. Подозрения сразу же подтвердились выводом команды who, который показал подключение по ssh с прокси-сервера с IP одной маленькой, но очень гордой страны. Дальше было то, что и положено в таких ситуациях, а именно: сменить доступы, понять откуда зараза по сети пошла, и что именно она делала. Доступы сменили, а вот когда полезли в логи, с удивлением обнаружил, что они уже несколько дней как пишутся в /dev/null, то есть у злоумышленника на сервере был root-доступ. Позже выяснили, что причиной была утечка пароля от аккаунта одного из сотрудников с доступом к sudo.

История, в общем-то, типичная, тысячи таких. Но меня она зацепила и побудила задаться вопросом: а как, собственно поймать хакера в тот самый момент, когда он попал на сервер впервые и пытается там закрепиться? Возможно, существуют enterprise-решения аудита и мониторинга входа на удалённую машину, но даже крупный бизнес с неохотой тратится на инфобез. Не говоря уже о небольших конторах с IT-отделом в 3,5 человека. Будем делать всё сами, благо в линуксах требуемая функциональность есть практически из коробки.

Читать далее

Применение архитектурных шаблонов в машинном обучении: разбор Gradient Boosting

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

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

Архитектурные шаблоны в машинном обучении представляют собой общие структуры и методологии, которые позволяют разработчикам более эффективно решать задачи. Они представляют собой набор bewährte Lösungen, то есть "проверенных решений", которые могут быть адаптированы к конкретным задачам и данным. Использование архитектурных шаблонов позволяет сэкономить время и ресурсы при разработке моделей машинного обучения.

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

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

Читать далее

Поможем Ходору найти новых друзей с помощью графов

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

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

На связи участник профессионального сообщества NTA Кухтенко Андрей.

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

Помочь Ходору найти друзей

Архитектурный паттерн для обработки больших данных: Kappa

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

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

Если вы уже знакомы с архитектурным паттерном Lambda, то сегодня мы поговорим о его ближайшем родственнике - Kappa.

Когда речь идет о обработке больших данных, архитектурные паттерны играют самую важную роль. Ранее мы обсудили Lambda, который предлагает подход, сочетающий в себе потоковую и батч-обработку данных. Однако, Kappa предоставляет нам несколько другой взгляд на эту проблему. Он упрощает архитектуру, фокусируясь исключительно на потоковой обработке.

Читать далее

Прогнозирование нагрузки солнечных электростанций

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

Прогнозируем нагрузку группы солнечных электростанций на сутки вперед с помощью машинного обучения. Сравниваем два метода — Random Forest и LSTM.

Читать далее

Считаем медиану быстрее numpy

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

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

Читать далее

Как работают Model Serving инструменты изнутри. Пишем свой на Python и Docker с нуля

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

Вы когда-нибудь задумывались, как модели машинного обучения переходят от экспериментов к реальным приложениям? Здесь мы погрузимся в мир сред обслуживания моделей и невоспетых героев, стоящих за развертыванием и обслуживанием моделей ИИ. В этой статье мы раскрывается скрытая магия — от интеграции scikit-learn до контейнеризации Docker, предоставляя вам ключевые идеи для превращения ваших моделей в доступные сервисы.

Читать далее

Кратчайший путь с одним источником во взвешенных графах, Алгоритм Дейкстры и Python

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

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

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

Читать далее

Когда одной ARIMA мало. Прогнозирование временных рядов нейросетями

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

Привет, Хабр! Меня зовут Никита, я работаю в Мегафоне аналитиком больших данных. В этой статье я хочу поговорить про временные ряды, а если конкретнее, про использование нейросетей для их прогнозирования. 

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

Читать далее

Как написать новостной Телеграм-канал если ты не программист. Часть третья

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

Итак, мы подошли к финальной части ботостроительной трилогии. Наш бот уже умеет смотреть RSS-ленту Мотора, подгружать свежие новости, слать сообщения администратору бота, а также реализована вся логика работы с модерацией сообщений перед отправкой в канал и работой с ChatGPT. Осталась одна проблема - обновление ленты происходит единожды, при запуске скрипта. Исправим эту оплошность.

Читать далее

Исследование режима Copy-on-Write в pandas. Часть 1

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

Библиотека pandas 2.0 вышла в начале апреля, в ней появилось много улучшений нового режима Copy‑on‑Write (CoW, копирование при записи). Ожидается, что в pandas 3.0 режим CoW будет использоваться по умолчанию. Сейчас полный переход на копирование при записи запланирован на апрель 2024 года. У разработчиков библиотеки нет планов поддержки некоего «режима совместимости» или режима, в котором CoW не применяется.

Эта серия публикаций посвящена рассказу о том, как работают внутренние механизмы CoW в pandas. Она призвана помочь пользователям библиотеки понять, что происходит при выполнении кода, узнать о том, как эффективно пользоваться копированием при записи, и о том, как адаптировать свой код под новые возможности pandas. Здесь будут приведены примеры того, как использовать данный механизм для того чтобы добиться от системы самого высокого уровня производительности. Здесь же будет рассмотрено и несколько антипаттернов, использование которых в программах ведёт к появлению в них ненужных «узких мест». Пару месяцев назад я написал небольшой вводный материал по Copy‑on‑Write в pandas.

Читать далее

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

Как написать новостной Телеграм-канал если ты не программист. Часть вторая

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

Хотел отложить написание второй части трилогии в долгий ящик, но судя по просмотрам первого эпизода - тема создания Телеграм-ботов все еще актуальна на Хабр.

Во второй части сфокусируемся на разработке бизнес-логики бота. В нашем проекте, для взаимодействия с Telegram, будем использовать библиотеку Aiogram. Для Python написано достаточное количество библиотек для работы с ТГ, но Aiogram, наверное, самая популярная. Советую прочитать руководство по работе с Aiogram от Groosha - для меня это была основная теоретическая база. Кроме непосредственной работы с функционалом библиотеки, советую обратить внимание на раздел "Роутеры. Структура" - я буду следовать этой логике при создании бота.

Читать далее

Поиск пересечений между отрезком и прямой или прямой и прямой в трехмерном пространстве

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

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

Блин классно, хочу ознакомиться

Отправляем уведомления в определенный топик в чате Telegram

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

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

Читать далее

Искусственный интеллект на Python с использованием TensorFlow и Keras

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

Искусственный интеллект и машинное обучение становятся все более востребованными в современном мире. Многие компании и стартапы активно внедряют технологии искусственного интеллекта для решения бизнес-задач и оптимизации процессов.

Одним из ключевых инструментов для реализации нейро-сетевых архитектур и алгоритмов глубокого обучения является язык программирования Python. Благодаря наличию мощных библиотек, таких как TensorFlow и Keras, создание и обучение нейронных сетей на Python стало достаточно простым.

TensorFlow - это библиотека для машинного обучения, разработанная компанией Google. Она позволяет определять, тренировать и запускать нейронные сети различных архитектур. Keras - библиотека глубокого обучения высокого уровня, может использовать TensorFlow в качестве бэкенда. Keras упрощает создание моделей нейросетей благодаря удобному API.

Цель этой статьи - познакомить читателей с основными принципами глубокого обучения, а также возможностями библиотек TensorFlow и Keras для создания и обучения нейронных сетей на Python. Мы рассмотрим базовые концепции, этапы обучения моделей, а также практические кейсы использования TensorFlow и Keras для решения задач классификации, распознавания и анализа данных.

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

Читать далее

Разработка real-time приложений с Python и WebSocket

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

Real-time приложения, как следует из названия, предоставляют мгновенный обмен данных и информации между сервером и клиентом. Они встречаются повсеместно в различных сферах, начиная от социальных сетей и мессенджеров, и заканчивая финансовыми торговыми платформами, мониторингом систем, онлайн-играми и многими другими областями. Подобные приложения обеспечивают пользовательский опыт, который чрезвычайно близок к реальному времени.

Читать далее

Как в 180 000 раз ускорить анализ данных с помощью Rust

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

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

Как мы заинжектили кнопку на Behance

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

Дело было год назад, не помню что я там забыл, но мне определенно хотелось скачать какую‑то картинку с behance.net, но как вы знаете — опции скачать там нет. Зная, как работает веб — я без проблем забрал нужное изображение найдя ссылку в HTML коде, но не все готовы так заморачиваться, поэтому я решил автоматизировать этот процесс.

Так появился python‑модуль behance‑py, который, если верить статистике с pepy.tech, имеет более 5 тысяч установок и расширение для Chrome, о котором более подробно в статье.

Читать далее