Pull to refresh
19
-0.5
Дмитрий Головин @GolovinDS

User

Send message

Настройка производительности диска и памяти в Linux

Level of difficultyMedium
Reading time15 min
Views13K

В отличие от таких операционных систем как HPUX (dbc_min_pct, dbc_max_pct) или AIX (minperm%, maxperm%), в Linux нет возможности настраивать размер кэша страниц, читаемых с диска (страничный кэш, page cache). Под страничный кэш Linux использует всю доступную память. Размер страничного кэша можно увидеть в /proc/meminfo в параметре "Cached". В /proc/meminfo есть также значение "Buffers", которое часто путают с размером страничного кэша. "Buffers" — это память, содержащая сырые дисковые данные (raw disk data) и выступающая в роли промежуточного буфера между процессами, ядром и диском.

В этой статье рассмотрим, как Linux работает с памятью, и, в частности, со страничным кэшем, а также исследуем, как доступный объем памяти влияет на производительность буферизованного ввода-вывода (buffered IO).

Читать далее
Total votes 28: ↑27 and ↓1+26
Comments4

Как продлить срок службы старых PHP-приложений

Level of difficultyEasy
Reading time6 min
Views4.4K

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

Хоть обновление существующих PHP-приложений и является идеальным рекомендуемым подходом, мы не можем избежать появления приложений/сайтов, которые попросту не в состоянии оправдать человеческие, финансовые и политические затраты на их обновление. Особенно это касается старых PHP-приложений, работающих на PHP 5 или 7 версии. WordPress.org, например, сообщает, что только 16% зарегистрированных сайтов WordPress работают на версии PHP, поддерживаемой разработчиками ядра PHP.

Читать далее
Total votes 15: ↑11 and ↓4+7
Comments20

Аннотации и рефлексия в Java

Level of difficultyMedium
Reading time10 min
Views8.6K


Привет, уважаемые читатели Хабра!

Аннотации и рефлексия являются ключевыми концепциями в Java, предоставляя разработчикам мощные инструменты для создания более гибких, адаптивных и понятных приложений. Аннотации предоставляют способ добавить метаданные к классам, методам и полям, что позволяет компилятору и другим инструментам анализировать код более глубоко. Рефлексия, с другой стороны, позволяет программам анализировать и модифицировать свой собственный состав и поведение во время выполнения.
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments1

История нарративного дизайна. Как развивался сценарный подход в играх с момента их появления до сегодня

Level of difficultyEasy
Reading time11 min
Views1.8K

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

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

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

Читать далее
Total votes 12: ↑8 and ↓4+4
Comments0

Team Topologies: Рациональный Подход к Организации Команд

Level of difficultyMedium
Reading time5 min
Views3.7K

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

Team Topologies - это концепция, которая предлагает рациональный и гибкий подход к организации команд внутри организации. Классические подходы к организации Agile команд, как правило, рекомендуют создавать универсальные и кроссфункциональные команды, где любая команда может сделать любую фичу из беклога.

Читать далее
Total votes 9: ↑7 and ↓2+5
Comments0

Моделирование биологических явлений с помощью Python

Level of difficultyMedium
Reading time15 min
Views5.1K


Автор статьи: Артем Михайлов

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

Моделирование биологических систем позволяет ученым исследовать разнообразные аспекты биологии, такие как динамику популяций, структуру генных сетей, взаимодействие молекул внутри клеток и многое другое. Это полезно не только в фундаментальных исследованиях, но и в практических областях, таких как медицина, сельское хозяйство и экология.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments1

Как Kanban позволил повысить гибкость, прозрачность и скорость реализации ключевых проектов в компании

Level of difficultyMedium
Reading time7 min
Views2.8K

Всем привет! Меня зовут Дмитрий, я более 7 лет занимаюсь трансформациями компаний и построением процессов в области создания продуктов и управления проектами с помощью Гибких подходов управления Agile. Недавно меня пригласили в один развивающийся американский стартап, который делает SAAS B2B продукт.

Читать далее
Total votes 12: ↑10 and ↓2+8
Comments17

Анализ данных с использованием библиотеки Dask

Level of difficultyMedium
Reading time14 min
Views4.8K


Автор статьи: Артем Михайлов


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

Dask может использоваться для выполнения разнообразных задач, включая анализ данных, обработку изображений, машинное обучение, и многое другое. Его фундаментальной концепцией является создание графа задач, который описывает вычисления и зависимости между ними. Затем этот граф может быть выполнен параллельно или распределенно.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments0

Анализ и визуализация данных с помощью библиотеки Altair

Level of difficultyEasy
Reading time14 min
Views4.2K


Автор статьи: Артем Михайлов

Altair — это декларативная библиотека визуализации данных, разработанная на основе языка Vega и Vega-Lite. Она предоставляет высокоуровневый интерфейс для создания информативных и красочных графиков с минимальными усилиями. Основная философия Altair заключается в том, что пользователи должны описывать, что они хотят увидеть на графике, а не как это реализовать. Это делает код более читаемым и интуитивно понятным.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments2

CTO и инженерная культура – кто за что отвечает?

Level of difficultyEasy
Reading time4 min
Views2.2K

Едва ли не самой главной зоной ответственности CTO считается инженерная культура компании. Что это такое? Однозначного ответа нет. Она собирается из разных кубиков, в зависимости от бизнес-модели компании, ее технологической зрелости, подходов в управлении, людей в команде. И вот за такое неоднозначное понятие должен отвечать CTO.

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

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments2

Relay атаки. Часть 3

Level of difficultyEasy
Reading time6 min
Views3K

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

Читать далее
Total votes 14: ↑8 and ↓6+2
Comments1

Функциональное тестирование в SpringBoot

Level of difficultyEasy
Reading time9 min
Views3.6K

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

Начнем. Из пререквизитов у нас есть код приложения BookController.java.

Читать далее
Total votes 11: ↑8 and ↓3+5
Comments1

Как организовать процесс тестирования гипотез в команде и сэкономить несколько десятков миллионов рублей

Level of difficultyMedium
Reading time7 min
Views3.2K

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

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

Читать далее
Total votes 15: ↑13 and ↓2+11
Comments0

Relay атаки

Level of difficultyEasy
Reading time4 min
Views4.3K

В статье мы продолжим знакомиться с атаками Relay в инфраструктуре Windows Active Directory. Начальные настройки тестового стенда можно найти в первой части этого цикла статей. А сейчас попробуем провести Relay атаки на взаимодействие по протоколам SMB->LDAP, HTTP->LDAP и HTTP->RPC.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments0

Как наладить предсказуемую и управляемую поставку в масштабе 200+ человек и 20 продуктовых команд

Level of difficultyMedium
Reading time9 min
Views1.8K

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

Читать далее
Total votes 15: ↑13 and ↓2+11
Comments3

Relay Lab

Level of difficultyEasy
Reading time5 min
Views1.7K

Лучшее описание этого термина, это описание ситуации, когда он может быть применен. Relay - это атака, в которой злоумышленник смог провести систему и создал условия man-in-the-middle атаки, когда он может контролировать трафик между клиентом и сервером.

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

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

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments0

Прогноз покупки страховки клиентами туроператора

Level of difficultyMedium
Reading time21 min
Views1.6K

Всем привет! Данная статья является выпускным проектом выпускницы OTUS. Наталья попыталась сделать прогноз покупки страховки клиентами туроператора методами ML. Что из этого вышло, смотрите под катом.

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments0

Kubernetes Observability: sidecar logging

Level of difficultyEasy
Reading time3 min
Views1.4K

Привет Хабр!

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

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

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments2

Kubernetes AppArmor

Level of difficultyEasy
Reading time4 min
Views2.6K

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

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

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments2

Безопасный k8s: Допуск безопасности пода (PSA)

Level of difficultyEasy
Reading time4 min
Views2.6K

Привет Хабр! Поговорим о безопасности в k8s, и начнем с безопасности подов, как базового строительного блока нашего кластера.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments0
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity