Pull to refresh
0
0
Send message

Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 1

Reading time12 min
Views9.9K

Привет, Хабр! Недавно мы делали доклад на конференции HighLoad 2023 — «Мифы и реалии Мультимастера в архитектуре СУБД PostgreSQL». Мы — это Павел Конотопов (@kakoka) и Михаил Жилин (@mizhka), сотрудники компании Postgres Professional. Павел занимается архитектурой построения отказоустойчивых кластеров, а Михаил — анализом производительности СУБД. У каждого за плечами более десяти лет опыта в своей области.

Порассуждаем о том, как развивалась технология «Мультимастер» в экосистеме PostgreSQL, остановимся на том, что она из себя представляет, на каких внутренних механизмах PostgreSQL основана и как её можно использовать.

Мы также поговорим о том, существует ли «Честный Мультимастер» (само понятие «Честный Мультимастер» достаточно специфично и в основном употребляется в кругу разработчиков), какие реализации у него есть и как его следует применять.

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

Глазами SOC: типичные ошибки red team. Часть 1

Level of difficultyEasy
Reading time20 min
Views2.8K

Standoff 10 прошел насыщенно: юбилейная кибербитва ознаменовалась масштабными учениями атакующих (red team) и защитников (blue team), актуальными докладами и дискуссиями по вопросам кибербезопасности. Мероприятие стало знаковым и для нашей команды, отвечающей в компании за мониторинг и реагирование, — SOC PT Expert Security Center.  Во-первых, на битве компания объявила о старте первой в России багбаунти-программы на реализацию недопустимого события — хищения денежных средств со счетов Positive Technologies. Ее особенность в том, что багхантеры атакуют нашу действующую инфраструктуру. До сих пор провести многоэтапную атаку вплоть до неприемлемого для нас сценария не удалось ни одному белому хакеру, поэтому компания увеличила размер вознаграждения втрое — до 30 млн рублей.

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

И действительно, с первого дня запуска багбаунти-программы мы фиксировали всплеск интереса к нашим ресурсам, применение нестандартных техник и методов. Совпадение или нет, но стали встречаться и предложенные нами на Standoff Talks подходы к байпасу SOC 😊.

На волне впечатлений от разнообразной активности атакующих я решила, что самое время написать статью по мотивам моего доклада. Какие опрометчивые действия чаще всего совершают редтимеры на киберучениях? На какие маркеры всегда обращает внимание SOC? И как стать чуть менее заметными для синих команд? Обо всем этом читайте под катом!

Подробности
Total votes 7: ↑7 and ↓0+7
Comments1

Открытые инструменты для превентивной защиты и ИБ-аудита

Reading time5 min
Views4.7K

Есть два ключевых подхода к защите ИТ-систем: реактивный и превентивный. Реактивный — это реагирование на атаки и реализованные ИБ-риски, в том числе восстановление данных, установка патчей и обновлений, прочие активности. Превентивный подход подразумевает обнаружение и минимизацию возможных угроз. 

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

Так у МТС есть собственный Security Operation Center для комплексной защиты всех ресурсов клиентов от киберугроз при помощи мониторинга и реагирования 24/7 на инциденты ИБ. Изначально SOC защищал исключительно инфраструктуру МТС и дочерних предприятий, но со временем ИБ-услуги стали доступны всем клиентам.

В другом сценарии (который, впрочем, легко реализовать не вместо облачных сервисов, а вместе с ними) специалисты по кибербезу действуют своими силами и используют открытые технологии. Сегодня мы остановимся на знакомстве с некоторыми интересными open source (Apache License 2.0) инструментами для ИБ-аудита, превентивной защиты и организации безопасных инфраструктурных решений.

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

Инфраструктурный пентест по шагам: инструменты, методологии и разведка

Level of difficultyEasy
Reading time9 min
Views19K


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


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

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

Это база: нюансы работы с Redis. Часть 1

Level of difficultyMedium
Reading time15 min
Views32K

Привет! Меня зовут Петр и мы в компании Nixys очень любим Redis. Эта база используется, если не на каждом нашем проекте, то на подавляющем большинстве. Мы работали как с разными инсталляциями Redis, так и с разными версиями, вплоть до самых дремучих, вроде 2.2. Несмотря на то, что в Интернете очень много статей и докладов по этой БД, мы в своей практике достаточно часто встречаемся с непониманием некоторых основных концепций Redis и со стороны разработчиков, и со стороны системных администраторов.

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

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

Практический гайд по процессам и потокам (и не только) в Python

Level of difficultyMedium
Reading time5 min
Views21K

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

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

Читать далее
Total votes 16: ↑13 and ↓3+10
Comments7

DVC — прекрасный инструмент для DataScience

Level of difficultyMedium
Reading time9 min
Views9.4K

Привет Хабр, меня зовут Дмитрий Несмеянов, я являюсь руководителем направления разработки ML-инфраструктуры "ЛОКО-банка".

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

DVC (Data Version Control) - это система версионирования датасетов и не только, которая является надстройкой над git. Если вы умеете работать с git, поздравляю, вы умеете работать с DVC. Кроме того, DVC позволяет логировать эксперименты, а также делать Auto-ML.

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

Почему тип поля enum на уровне базы — зло

Level of difficultyEasy
Reading time4 min
Views32K

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

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

Но это в теории. А что на практике? Рассмотрим под катом.

Читать далее
Total votes 38: ↑19 and ↓190
Comments178

Jira для HR-отдела: база данных о сотрудниках и автоматизации управления персоналом

Level of difficultyMedium
Reading time7 min
Views2.5K

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

В данной статье приведу пример организации досок Jira с использованием автоматизаций, которые помогают сэкономить прорву времени HR-специалисту.

Читать далее
Total votes 7: ↑4 and ↓3+1
Comments3

Как работает компьютер: глубокое погружение (на примере Linux)

Level of difficultyHard
Reading time48 min
Views133K



Введение


Я делала много вещей с компьютерами, но в моих знаниях всегда был пробел: что конкретно происходит при запуске программы на компьютере? Я думала об этом пробеле — у меня было много низкоуровневых знаний, но не было цельной картины. Программы действительно выполняются прямо в центральном процессоре (central processing unit, CPU)? Я использовала системные вызовы (syscalls), но как они работают? Чем они являются на самом деле? Как несколько программ выполняются одновременно?


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


И, как говорится, ты по-настоящему знаешь что-то, только если можешь объяснить это другому.


Более удобный формат статьи.

Читать дальше →
Total votes 152: ↑152 and ↓0+152
Comments36

Чат-боты на все случаи жизни. 7 инструкций по созданию мини-приложений в Telegram

Level of difficultyMedium
Reading time5 min
Views33K

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

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

Выберите интересующего вас бота:

Паттерны взаимодействия с ботами
Веб-приложение на Node.js и React
Платежная система с Payments
Карманный ChatGPT, которому можно отправлять голосовые сообщения
Бот для генерации сложных паролей
Бот для создания стикеров из сообщений
Бот для мониторинга погоды на Python
Читать дальше →
Total votes 46: ↑43 and ↓3+40
Comments13

Schema Registry с Protobuf в Kafka — зачем оно надо?

Level of difficultyMedium
Reading time15 min
Views11K

Всем привет. Меня зовут Нина Пакшина, я разработчик “Лента Онлайн” и часть операционной команды в сервисе доставки продуктов.

В данной статье на примере языка Go я расскажу о том, как мы внедряли Kafka в связке с Schema Registry и Protobuf в качестве формата сообщений.

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

Читать далее
Total votes 16: ↑14 and ↓2+12
Comments2

Страшные истории про SWIFT: инструкция, как профукать $100500 на переводе

Reading time11 min
Views35K

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

Читать далее
Total votes 110: ↑104 and ↓6+98
Comments128

10 приёмов, чтобы получить быструю и качественную картинку в Midjourney

Level of difficultyEasy
Reading time7 min
Views16K

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

Из всех сетей генерации изображений мне больше всего понравился Midjourney - оптимальное качество на потраченное время. Я понимаю в самом Midjourney (не говоря про Stabble Diffusion) можно углубиться в детали - но я не дизайнер или AI artist, мои задачи прикладные.

У меня уже сгенерированно более 4000 изображений и я выделил 10 методов, которые позволяют достаточно быстро и качественно получить нужный мне контент.  Они могут использоваться как обложка к посту или лонгриду, или я чаще использую в презентации.
Надеюсь, эта статья сэкономит вам несколько часов!

Читать далее
Total votes 22: ↑20 and ↓2+18
Comments4

FVWA (Flask Vulnerable Web Application)

Level of difficultyEasy
Reading time34 min
Views3.7K

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

Приложение содержит несколько заданий, в каждом из которых реализован некоторый изъян в безопасности (будь то слабый пароль, SQL-инъекция или XXE). Вы смело можете искать нестандартные пути решения, знакомиться с новыми для себя средствами анализа защищённости веб-приложений, пробовать различные полезные нагрузки и, главное, смотреть исходный код, позволяющий увидеть причину возникновения обнаруженной вами уязвимости.
Мы сделали минималистичную борду для сдачи флагов, а это значит, что вы сможете поделиться своими результатами с другими энтузиастами, обсудить интересные находки или поделиться способом решения)

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

Исходники на GitHub: смотреть

К лаборатории!
Total votes 6: ↑6 and ↓0+6
Comments0

Учимся разрабатывать REST API на Go на примере сокращателя ссылок

Level of difficultyMedium
Reading time30 min
Views41K

В этой статье мы напишем полноценный REST API сервис — URL Shortener — и задеплоим его на виртуальный сервер с помощью GitHub Actions.

Говоря «полноценный», я имею в виду, что это будет не игрушечный проект, а готовый к использованию:

  • мы выберем для него актуальный http-роутер,
  • позаботимся о логах,
  • напишем тесты: unit-тесты, тесты хэндлеров и функциональные,
  • настроим автоматический деплой через GitHub Actions и др.

Но важно понимать, что «готовый к продакшену» != «энтерпрайз».

Кратко обо мне: меня зовут Николай Тузов, я много лет занимаюсь разработкой на Go, очень люблю этот язык. Также веду свой YouTube-канал, на котором есть видеоверсия текущего гайда, с более подробными объяснениями.
Читать дальше →
Total votes 57: ↑56 and ↓1+55
Comments40

Развитие техники Помодоро

Level of difficultyEasy
Reading time6 min
Views11K

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

Мне нравится гибкость и адаптивность
Total votes 17: ↑14 and ↓3+11
Comments11

Погружение в индексы PostgreSQL

Level of difficultyEasy
Reading time9 min
Views19K


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

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

Индексы представляют собой структуры данных, которые позволяют базе данных быстрее находить и извлекать информацию. Они аналогичны оглавлениям в книгах, которые упрощают поиск определенной информации, указывая на ее местоположение. Правильное использование индексов может существенно улучшить производительность запросов, сокращая время обработки и уменьшая нагрузку на систему.
Читать дальше →
Total votes 25: ↑17 and ↓8+9
Comments1

Kafka за 20 минут. Ментальная модель и как с ней работать

Level of difficultyMedium
Reading time19 min
Views75K

Привет! Меня зовут Глеб Гончаров, и я руковожу подгруппой ИТ-инфраструктуры в СберМаркете. В работе мы широко используем Kafka как шину данных для микросервисов и не раз убедились на практике, что к инструменту важно подобрать правильный подход. Об этом сегодня и поговорим в двух частях — сначала обсудим основы, а в конце статьи будет ссылка на практические задания.

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

Нагрузочное тестирование конечной точки Rest с помощью Gatling

Reading time10 min
Views3.5K

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

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

Information

Rating
Does not participate
Registered
Activity