Всем привет. В этой статье я расскажу про дерево отрезков. Очень мощной структуры данных, которая позволяет делать много разных операций над массивом чисел. Я постараюсь по полочкам разложить эту тему и объяснить возможности дерева отрезков. Также я разберу несколько нетривиальных задач на дерево отрезков. Помимо самого дерева отрезков я расскажу и про связанные темы: дерево Фенвика и разреженные таблицы.
User
Поднимаем кластер PostgreSQL в Docker и Testcontainers
Ранее я рассказывал о том, как запустить PostgreSQL в Docker. Тогда речь шла об использовании «ванильных» образов Postgres и поднятии одного хоста. В большинстве случаев этого достаточно как для тестов, так и для экспериментов, но нужно понимать, что в промышленной эксплуатации чаще всего используются высокодоступные (отказоустойчивые, кластеризованные) конфигурации PostgreSQL.
Сегодня я покажу, как запустить уже целый кластер PostgreSQL в Docker, а также в тестах через Testcontainers, и как вручную инициировать смену мастер-хоста.
Jackett + Synology Download Station
Есть желание добавить в Synology Download Station возможность искать по 613 торрент трекерам? Хочется видеть, какие именно торренты будут загружены? Хочется чтобы оно работало и в мобильном приложении?
Обозреваем и практикуем популярные OSINT инструменты
Введение
Рад вновь приветствовать читателей в своей любимой рубрике "ШХ" что является сокращением от "Шерлок Холмс" и разумеется серия таких статей напрямую относится к OSINT. Сегодня на практике попробуем некоторые инструменты и попробуем узнать больше о человеке исходя из его никнейма. В качестве цели я возьму одно из своих имён "VI.......TE".
Дисклеймер: Все данные, предоставленные в данной статье, взяты из открытых источников, не призывают к действию и являются только лишь данными для ознакомления, и изучения механизмов используемых технологий.
Где открыть магазин? Путешествие в геопространственный анализ и обратно
В статье расскажу поподробнее про оценку локаций для бизнеса.
Проблема классическая: ищем место для открытия нового магазина/ресторана/пиццерии.
Сразу скажу, что при помощи гео я решал очень узкий набор задач:
• Оценить существующие локации с т.з. плотности населения, конкуренции, объема рынка. Найти новые точки для открытия или переезда бизнеса;
• Использовать признаки близости покупателя к бизнесу/конкурентам в клиентской аналитике для предсказаний оттока и откликов на рассылки/оффлайн рекламу;
Сегодня расскажу поподробнее про оценку локаций. Все работы я производил на языке R.
Модальный метод синтеза в MATLAB
Частым заданием в различных курсах по теории автоматического управления является нахождение матрицы K для модального управления системой вида dx/dt = Ax+Bu y = Cx.
Такой тип задач легко решается в среде MATLAB.
Сперва наперво требуется задать нашу систему. Для примера возьмем типовую модель электродвигателя:
Как найти все корни системы 2x2?
Рассмотрим систему из двух уравнений , обладающую свойством покоординатной монотонности: с ростом функции также растут. Задача состоит в нахождении всех корней системы.
Почему нельзя пить горячий тосол из чайника?
Чтобы на Хабр не писали чушь, его надо продезинфицировать. Чтобы быстрее продезинфицировать — пожертвовать свободным вечером и написать статью по горячим как вода следам.
Как вы уже догадались, речь пойдет о статье «Можно ли пить горячую воду из крана и брать ее, чтобы вскипятить.». Хорошо, что утром, когда я прочел эту статью, я сидел на специальном разработанном Илоном Маском стартовом столе из жаропрочной керамики, снабженным просторной газоотводной камерой и затопленным водой каналом, эффективно нейтрализующим открытое пламя. Потому что правда в этой статье по сути только одна — в одном из вариантов системы горячего водоснабжения теплоноситель содержит антикоррозионные присадки, которые не очень хорошо пить в случае их попадания в домовую магистраль.
UPD: по результатам обсуждения в комментариях выявлен кейс, когда автор той статьи прав: если в многоквартирном доме существует собственная система подогрева на техническом этаже, и УК не следит добросовестно за ее состоянием. Что касается центрального отопления от ТЭЦ, я настаиваю на своем видении событий.
Kafka Connect на примере Debezium PostgresConnector
В предыдущей статье про микросервисную архитектуру на основе событий с использованием Kafka Streams достаточно поверхностно был упомянут io.confluent.connect.jdbc.JdbcSourceConnector
, который использовался для вычитания данных из SQLite и отправки их в топик Kafka. Сейчас я бы хотел более подробно разобрать технологию Kafka Connect на примере io.debezium.connector.postgresql.PostgresConnector
. Как и в прошлый раз, я реализовал небольшой демо проект, код которого доступен на GitHub. В проекте кода совсем немного, однако чтобы понять все настройки, примененные в коннекторе, придется достаточно подробно пройтись по теоретической части. Итак, приступим.
Делаем дашборд для логов используя Promtail Loki Grafana
Как используя связку Promtail + Loki + Grafana настроить сбор логов из текстового файла и сделать простой, но функциональный дашборд.
Это мы пишем и обслуживаем банковский процессинг, нам надо серьёзно поговорить
Потом было 2–3 дня, когда мы не спали. Мы — это разработчики компании Мультикарты (входит в Холдинг T1) — одного из самых крупных процессингов в России, да и в мире, пожалуй.
Потом система восстановилась (не сама собой, конечно), и конечные пользователи (вы) практически не почувствовали проблем с сервисом.
Всё потому, что в России с точки зрения банкинга всё очень хорошо, и было бы странно оказаться без сапог в этой ситуации.
Мы с коллегами очень хотим начать рассказывать про практические случаи вроде того самого момента переключения систем, но боимся, что сначала нужно вообще рассказать, что такое процессинг и как он внутри устроен.
Поэтому ниже — общий рассказ про принципы процессинга. Пойдёмте ковыряться под капотом.
Алгебра совокупностей Брусенцова и не только
Все, кто когда-либо интересовались трёхзначной логикой, троичной системой счисления или архитектурой троичных компьютеров, рано или поздно натыкались на труды Брусенцова Николая Петровича, в особенности 3 его самые известные книги:
1) Брусенцов Н.П. Начала информатики, 1994.
2) Брусенцов Н.П. Искусство достоверного рассуждения. Неформальная реконструкция аристотелевой силогистики и булевой математики мысли, 1998.
3) Брусенцов Н.П. Блуждание в трёх соснах (Приключения диалектики в информатике), 2000.
Для тех, кто не в курсе, Брусенцов Николай Петрович - главный конструктор первой в мире и Советском Союзе троичной ЭВМ "Сетунь". Об этом хорошем человеке можно найти достаточно много информации в открытых источниках. Но сейчас речь не о нём, а о разработанной им алгебре совокупностей (алгебре дизъюнктов), которая фигурирует в качестве фундамента во всех 3-х упомянутых выше книгах. К слову сказать, сами книги не являются учебниками по чистой математике или информатике. Они освещают проблемы злоупотребления формализмом в современной математической логике, а также содержат пути к возрождению и развитию аристотелевой силогистики. Мотивацией к написанию данной статьи послужило то, что каждую книгу пришлось прочитать раза по три, прежде чем в голове сложилась более или менее цельная картина. Этому также поспособствовало обилие терминологии, более присущей философским трактатам, нежели учебникам по математике. Поэтому цель данной статьи - получить представление об этой алгебре и облегчить чтение вышеуказанных книг. Статья носит обзорный характер, знакомит читателя с некоторыми понятиями (акценты расставлены жирным шрифтом) и пытается ответить на вопросы, неосвещённые в книгах явно.
Безопасный Zookeeper: SASL with Digest-MD5
Привет! Столкнулся с тем, что быстро не нашел простой инструкции, как с использованием SSL и SASL настроить безопасный кластер из нескольких Linux узлов Zookeeper, и решил это исправить.
В этой статье поговорим о том, как:
• Настроить Zookeeper в кластере из трех узлов без шифрования (Plain);
• Добавить шифрование во внутрикластерное взаимодействие (Quorum TLS);
• Создать сертификаты для подключения к узлам Zookeeper клиентов (Server TLS);
• Создать сертификаты для подключения клиентов к узлам (Client TLS);
• Добавить авторизацию в шифрованный кластер (SASL with MD5);
• Показать на примере, как работают ACL, посмотреть, чем отличается суперпользователь super от всех остальных (как работает ACL в действии).
Введение в модулярную арифметику
Для любой системы взаимно простых чисел p1, … pn, любое число X из диапазона [0; M), где M = p1*p2*…*pn взаимооднозначно представимо в виде вектора (a1, a2, …, an), где ai = X%pi (здесь и далее «%» — операция взятия остатка от целочисленного деления X на pi).
p1, … pn – модули системы
a1, a2, …, an – остатки (вычеты) числа по заданной системе модулей
Синхронизация времени в HFT (High-frequency trading) мире
Точное определение времени и его синхронизация чрезвычайно важна в мире высокочастотной торговли.
Конечно же, синхронизация времени важна в общей инфраструктуре компании, думаю многие из вас встречались хотя бы раз с проблемами, вызванными некорректным временем на сервере, выполняющим ту или иную роль. Например, возможно некорректное формирование бэкапов, задержка в обработке запросов, некорректная интерпретация валидности сертификатов, ошибки аутентификации и авторизации и т. д. Тут на помощь придет NTP (Network Time Protocol) протокол, который широко распространен повсеместно, а далеко не только в HFT отрасли. Наилучшая точность синхронизации времени с помощью NTP будет порядка 1мс и то, в случае если NTP сервер находится в локальной сети с вашим сервером, а также оптимально настроен, например, дает опрашивать себя достаточно часто. Для среднего случая, когда NTP сервер будет использоваться из интернета, вы сможете добиться 10-100 мс точности, а если сетевой путь до источника времени будет совсем не идеален (зачастую колокация биржи может предоставлять только IPSec туннель в качестве доступа до вашей биржевой инфраструктуры), то и сотен миллисекунд.
Решение же торгового алгоритма об отправке заявки на биржу может и не опираться на абсолютное время.
Использование Spring Cloud Gateway в качестве OAuth2 клиента и KeyCloak для защиты служб
Привет, Хабр!
Я, начинающий Java-разработчик, студент 3 курса, и это - моя первая статья здесь. Я не буду заострять внимание на теории, так как в интернете достаточно статей на эту тему, а сосредоточусь на практике и предложу свое решение. В процессе мы создадим несколько служб, а именно...
KeyCloak и микро-сервисы. Как облегчить жизнь программисту
Привет! Если ты так же как и я решил использовать keycloak для аутентификации и авторизации в своей микро‑сервисной архитектуре, то я расскажу вам как правильно настроить сам keycloak, его рабочую среду а в конце мы подключим Active Directory к нашему приложению.
Пишем плагин для IntelliJ IDEA. Ускоряем написание тестов на DTO
Когда пишешь тесты на обширную модель (DTO), ловишь себя на мысли, что сосредоточен не на тестовых данных, а на том, как ловчее избавить себя от написания boilerplate-кода.
Как это сделать? Поискать готовое решение (плагин).
А если его нет? Тогда – написать плагин.
А если не умеешь? Стоит хотя бы начать :)
Что будет, если от разработчиков не отстать: умирающая команда
Источник
15 человек, из них — один руководитель проекта, три фронта, два бэка, три аналитика, девопс. Симптомы обычные: процессы всем не нравятся, соседи — козлы, потому что не то и не так делают, а как нужно — не знают, ответственности ни на ком толком нет ни за что.
Вроде бы когда-то это был настроенный конвейер, но теперь его куски — как будто в разных зданиях. Особо не заботятся о том, что было «до» и что будет «после». А если всё падает, то люди поднимают руки: «Я не виноват. Я не знаю, как поднять».
Проект — внутренний банка, он нужен для улучшения работы внутри компании. Традиционных решений в кровавом энерпрайзе — два: нанять новую команду (но вгружать мидла на проект такой сложности — три-четыре месяца) или же оставить проект на поддержке, через два года найти ему замену, а команду тихо похоронить в подвале. Точнее, не так: те, кто плывет по течению и не заботится о карьере, остаются тихо сидеть «на пенсии», то есть в бесконечной поддержке проекта. А самые проактивные тут же перейдут в другие команды или другие компании.
Почему процессы разваливались? На первый взгляд, потому, что была куча ненужных совещаний и встреч с теми, кого разработчики вообще не должны были видеть. Плюс местами странноватые KPI. Как это ни странно, но если психологически давить на разработчика пару лет, то ничем хорошим это не закончится. Руководство подразделения дало мне карт-бланш на исправления, и я начал разбираться, что же случилось.
Где скачать научную статью легко и доступно?
Некоторые издательства журналов предлагают доступ к научным статьям сразу после публикации, а некоторые через какое-то время.
Однако стоимость одной статьи от платных издателей может составлять 150 долларов, что не так уж и мало по сравнению с размером стипендии студента.
Здесь собраны совершенно бесплатные ресурсы, где вы можете найти интересующую Вас научную статью.
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity