Как стать автором
Обновить
815.87
OTUS
Цифровые навыки от ведущих экспертов
Сначала показывать

Поговорим о зеркалировании трафика с помощью VxLAN

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

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

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

Читать далее
Рейтинг0
Комментарии0

Cобытия жизненного цикла компонента

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

Друзья, привет!

Практическое понимание событий жизненного цикла компонентов даёт возможность быстро анализировать и разрабатывать бизнес-задачи. Мы разберём 7 событий жизненного цикла компонентов на примере Composition API в Vue3 фреймворке.

Читать далее
Всего голосов 9: ↑10 и ↓-1+11
Комментарии1

HyperLogLog в PostgreSQL

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

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

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

В этой статье рассмотрим, как реализован HLL в PostgreSQL.

Читать далее
Всего голосов 6: ↑5.5 и ↓0.5+5
Комментарии0

Secure Scripting: Пошаговое руководство по автоматизации генерации паролей в Linux с помощью Bash

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

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

Читать далее
Всего голосов 7: ↑5.5 и ↓1.5+4
Комментарии3

Кратко про язык программирования Triton

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

Triton был разработан специально для выполнения на GPU и предоставляет удобную Python-ориентированную среду.

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

Читать далее
Всего голосов 4: ↑4.5 и ↓-0.5+5
Комментарии1

Шифрование в Kubernetes: основы

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

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

Читать далее
Всего голосов 3: ↑3.5 и ↓-0.5+4
Комментарии0

Кратко про лидеров рынка Runbook Automation: Ansible, Puppet, и Chef

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

Runbook Automation — это процесс использования специальных программных решений для автоматизации выполнения повторяющихся задач и процедур, которые в традиционных условиях выполняются вручную операторами IT-систем. RBA находит применение в автоматизации широкого спектра операций, от мониторинга и диагностики до управления инцидентами и восстановления после сбоев.

Основная цель автоматизации ранбуков — повышение надежности операционных процессов. В этой статье рассмотрим и сравним кратко три основных инструментв RBA: Ansible, Puppet, и Chef.

Читать далее
Всего голосов 4: ↑4.5 и ↓-0.5+5
Комментарии1

Разбираемся с Apache Spark

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

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

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии0

Определение жанра фильма по описанию

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

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

Читать далее
Всего голосов 11: ↑10.5 и ↓0.5+10
Комментарии1

Как извлечь пользу из повседневных рабочих конфликтов

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


Однажды президент одной крупной организации привлёк внешнего консультанта для урегулирования конфликта между двумя вице-президентами. Отношения между ними испортились настолько, что они общались только через сообщения, почту и посредников. В начале сессии оба вице-президента отказывались даже смотреть друг на друга. Со временем они начали понимать, как их действия влияют друг на друга, и стали искать новые способы взаимодействия — и тогда их внешняя враждебность уступила место более тесному сотрудничеству. К концу сессии вице-президенты разговаривали и даже смеялись вместе. Однако, хотя поначалу все были довольны результатом, результаты вмешательства оказались недолговечными: уже через месяц вице-президенты возобновили свою борьбу за влияние — в ущерб компании в целом.
Читать далее
Всего голосов 13: ↑11 и ↓2+9
Комментарии6

Обнаружение аномальных звуков сердцебиения на основе записей сердечного ритма

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

Всем привет! Сегодня рассмотрим задачу обнаружения аномалий тонов сердца, используя аудиозаписи звуков сердцебиения. Для этого будем использовать библиотеку librosa по работе с аудиофайлами, а также классические алгоритмы машинного обучения и методы глубокого обучения.

Возьмем датасет “Heartbeat Sound”, который содержит аудиофрагменты сердечных ритмов различной продолжительности от 1 до 30 секунд, как здоровых пациентов, так и имеющих аномальные звуки сердцебиения. Набор содержит 813 аудиофайл с записями, разбитыми по категориям: artefact, extrastole, murmur, normal и unlabel. Попробуем разобраться, что обозначают эти категории.

Normal - как и следует из названия, нормальное сильное ритмичное сердцебиение.

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

Etrastole  - экстрасистолические (дополнительные) записи  звука, которые могут появляться время от времени и могут быть идентифицированы по отсутствию сердечного тона, включающему дополнительные или пропущенные сердечные сокращения. Экстрасистола может не быть признаком заболевания, но в некоторых ситуациях могут быть вызваны заболеваниями сердца.

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

Читать далее
Всего голосов 9: ↑8.5 и ↓0.5+8
Комментарии5

Пересаживаем проект с Vagrant + VirtualBox на Docker-контейнеры с помощью Ansible

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

До того, как все заполонили контейнеры, главными инструментами для создания локальной среды разработки были технологии наподобие Vagrant и VirtualBox. Эти инструменты в сочетании с такими средствами автоматизации, как Ansible и Chef, позволяли создать рабочую воспроизводимую среду для приложений. Однако развитие легких вариантов виртуализации, заложенное docker и постоянно упрощаемое различными облачными инновациями, привело к упадку этих некогда очень популярных среди разработчиков инструментов. Настолько стремительному, что увидев их где-нибудь, мы невольно задумываемся о возрасте кодовой базы.

И вот недавно я сам наткнулся на них. А если быть точнее, то мне достался проект, который все-еще на них полагается — он предполагает установку виртуальной машины VirtualBox под управлением Debian, созданной с помощью Vagrant, а затем настроенной с помощью Ansible. И все это работает. Ну, по большей части. Но когда не работает, разбираться, что пошло не так — настоящая боль. Поддержание координации между Vagrant и VirtualBox было особенно неприятной черной магией, которая подтолкнула меня к размышлениям о более дешевых и дружественных альтернативах виртуализации.

Читать далее
Всего голосов 8: ↑6.5 и ↓1.5+5
Комментарии1

Где заканчивается Flutter и начинается платформа?

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

Сердце фреймворка Flutter (который для разработчиков часто представляется только в виде набора классов на языке Dart) написано на языке С и компилируется в двоичный артефакт, известный как Flutter Engine, подключаемый к приложению и используемый из Dart-классов через механизм нативного связывания (аннотации @pragma('vm:entry-point') для вызовов из Flutter Engine в Dart, @Native и external для обращения к C++ коду во Flutter Engine из Dart).

Но в действительности Flutter Engine не имеет никакого платформо-специфического кода (при этом собран под целевую аппаратную архитектуру) и не знает, как работает платформенный event loop, как создавать потоки, на какой поверхности выполнять отрисовку сцены и не может получать информацию о действиях пользователя (касание экрана, перемещение указателя мыши, нажатие клавиш) и системных событиях. Такое архитектурное решение было сделано для того, чтобы иметь возможность запускать Flutter-приложения потенциально на любом устройстве с экраном (даже светодиодной панелью). В этой статье мы поговорим про Flutter Embedder, его роль в запуске приложения и привязке к системным event loop, а также рассмотрим сборку простого embedder для публикации Flutter приложения как VNC-сервера.

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии1

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

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


В этой статье поговорим о том, почему важно тестировать электронные письма, какие элементы следует проверять в первую очередь и как облегчить процесс тестирования.
Читать далее
Всего голосов 16: ↑13 и ↓3+10
Комментарии0

ViewModels в Android: «за» и «против»

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

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

Читать далее
Всего голосов 12: ↑13 и ↓-1+14
Комментарии0

Пример дивергентного мышления ИИ при использовании 1С запрос copilot

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


Американский психолог Джой Пол Гилфорд, известный исследователь проблем интеллекта, в свое время предложил понятие дивергентного мышления. Сам Гилфорд определял его, как тип мышления идущий в различных направлениях. Ищем все возможные способы решения одной проблемы. Выходим за рамки стереотипов и, как результат, находим неожиданные и суперэффективные методы. Дивергентное мышление ассоциируется с креативностью. Яркий пример такого мышления можно увидеть в хорошо известной истории про Нильса Бора и барометр.

До появления генеративных языковых моделей было распространено мнение, что искусственный интеллект, когда и если будет создан, будет уступать человеку в креативности. Будет действовать скрупулезно, последовательно, без ошибок, но шаблонно. Оказалось — наоборот. Как это выглядит в реальности, при решении «скучных» учетных задач в 1С, смотрите ниже.
Читать дальше →
Всего голосов 15: ↑11 и ↓4+7
Комментарии12

Shenandoah GC в JDK

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

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

Shenandoah GC — это сборщик мусора для OpenJDK, целью которого является минимизация времени пауз, возникающих в результате сборки мусора, путем выполнения процессов эвакуации памяти параллельно с работающими Java‑потоками. Фичей Shenandoah является то, что время пауз GC не зависит от размера кучи, что означает одинаково короткие времена пауз как для кучи размером в 200 МБ, так и для 200 ГБ. Это достигается за счет использования дополнительного указателя косвенности для каждого Java‑объекта, что позволяет потокам GC компактизировать кучу, пока Java‑потоки продолжают выполняться.

Разработка Shenandoah началась с экспериментального проекта, целью которого было предоставление альтернативы другим сборщикам мусора, которые приоритизируют пропускную способность или размер памяти над отзывчивостью. Уже к 12-й версии JDK Shenandoah был готов к использованию, хотя и оставался помеченным как экспериментальная функция. Это состояние сохранялось, чтобы соответствовать статусу других сборщиков мусора, таких как Epsilon GC и ZGC.

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

Читать далее
Всего голосов 8: ↑6 и ↓2+4
Комментарии1

Способы обхода GIL для повышения производительности

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

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

Global Interpreter Lock в Питоне предотвращающает одновременное выполнение нескольких потоков в одном процессе интерпретатора Python. Т.е даже на многоядерном процессоре многопоточные Python‑приложения будут выполняться только в одном потоке за раз. Это было введено для некой потокобезопасности при работе с объектами Python, упрощая тем самым разработку на уровне интерпретатора.

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

В этой статье рассмотрим способы обхода GIL и первый способ — использование многопроцессности вместо многопоточности.

Читать далее
Всего голосов 20: ↑13 и ↓7+6
Комментарии4

Tcpdump на разных уровнях

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

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

Итак, Tcpdump - утилита UNIX, позволяющая перехватывать и анализировать сетевой трафик, проходящий или приходящий через компьютер, на котором запущена данная программа.

Читать далее
Всего голосов 20: ↑19 и ↓1+18
Комментарии4

Библиотеки для реализации алгоритмов сжатия данных в Rust

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

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

Сегодня мы рассмотрим хорошие библиотеки для реализации алгоритмов сжатия данных на ЯП Rust. Сжатие данных позволяет уменьшать объемы данных без потери качества или с минимальными потерями. Различают две основные категории методов сжатия: с потерями и без потерь.

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии10
1
23 ...

Информация

Сайт
otus.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия
Представитель
OTUS