Как стать автором
Обновить
0
0
Александр Холодович @kholodovitch

Lead Java backend developer

Отправить сообщение

Делимся опытом, как показывают себя SSD в рамках RAID и какой уровень массива выгоднее

Время на прочтение9 мин
Количество просмотров51K
В прошлом материале мы уже рассмотрели вопрос о том “Применим ли RAID на SSD” на примере накопителей Kingston, но сделали это только в рамках нулевого уровня. В текущей статье мы разберем варианты использования профессиональных и домашних NVMe-решений в самых популярных типах RAID-массивов и расскажем о совместимости контроллеров Broadcom с накопителями Kingston.


Читать дальше →
Всего голосов 13: ↑9 и ↓4+9
Комментарии16

Второй HDMI монитор к Raspberry Pi3 через DPI интерфейс и FPGA плату

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

На этом видео показаны: плата Raspberry Pi3, к ней, через разъем GPIO, подключена FPGA плата Марсоход2rpi (Cyclone IV), к которой подключен HDMI монитор. Второй монитор подключен через штатный разъем HDMI Raspberry Pi3. Все вместе работает, как система с двумя мониторами.

Дальше расскажу, как это реализовано.
Всего голосов 20: ↑20 и ↓0+20
Комментарии4

Нужно ли создавать RAID-массив из SSD и какие контроллеры для этого нужны

Время на прочтение9 мин
Количество просмотров127K
Привет Хабр! В этом материале мы расскажем, стоит ли организовывать RAID-массивы на базе твердотельных решений SATA SSD и NVMe SSD, и будет ли от этого серьезный профит? Мы решили разобраться в этом вопросе, рассмотрев виды и типы контроллеров, которые позволяют это сделать, а также сферы применения таких конфигураций.


Читать дальше →
Всего голосов 19: ↑11 и ↓8+7
Комментарии76

Используем Hashicorp Vault для хранения секретов

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

В этой статье хотелось бы поделиться практикой использования хранилища секретов от компании Hashicorp, и называется оно Vault.

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

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

Сравнение MySQL и PostgreSQL в 2023 году

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

PostgreSQL и MySQL — это надежные, безопасные и масштабируемые базы данных, которые существуют уже много лет. Каждая из них имеет уникальные сильные и слабые стороны, что делает какую‑либо из них более подходящей для конкретных нужд. В этой статье мы проведем их сравнение, чтобы помочь с принятием обоснованного решения в 2023 году.

Читать далее
Всего голосов 19: ↑11 и ↓8+6
Комментарии41

Как тестировать PWA?

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

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

Читать далее
Всего голосов 14: ↑12 и ↓2+11
Комментарии2

1 CPU 1 Гб – а я хочу мониторинг, как у больших дядей

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


Я обожаю читать на хабре статьи про то, как устроены системы больших интернет-компаний. Кластеры SQL-серверов, монг и редисов. Тут у нас кластер ELK собирает трейсинг, там – сборка логов, здесь балансер выдает входящим запросам traceID и можно отслеживать, как запрос ходит по всем нашим микросервисам. Класс. Но, допустим, у вас совсем маленький проект и вы можете себе позволить лишь VPS минимальной конфигурации. Реально ли на ней сделать мониторинг не хуже, чем у больших проектов? Я решил – надо попробовать.
Читать дальше →
Всего голосов 64: ↑62 и ↓2+78
Комментарии82

Домен .io может исчезнуть. Как геополитика влияет на доменные имена

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

3 октября британское правительство объявило, что отказывается от суверенитета над небольшим тропическим атоллом в Индийском океане, известным как острова Чагос. Острова будут переданы соседнему островному государству Маврикий, примерно в 1100 милях от юго-восточного побережья Африки. 

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

Будь то Github.io, игровой сайт itch.io или даже Google I/O (который, возможно, задал тренд в 2008 году), .io постоянно присутствует в техническом лексиконе. Его популярность иногда объясняется тем, как он представляет собой аббревиатуру для «ввода/вывода» или данных, полученных и обработанных любой системой. Что часто игнорируется, так это то, что это больше, чем просто смешной домен. Это домен верхнего уровня с кодом страны (ccTLD), связанный с государством, то есть он затрагивает политику далеко за пределами цифрового мира.

С 1968 года Великобритания и США управляли крупной военной базой на островах Чагос (официально известных как Британская территория в Индийском океане), но соседнее государство Маврикий всегда оспаривало британский суверенитет над ними. Правительство Маврикия долгое время утверждало, что британцы незаконно сохранили контроль, когда Маврикий обрел независимость. Потребовалось более 50 лет, но этот спор наконец-то был разрешен. В обмен на 99-летнюю аренду военной базы острова станут частью Маврикия. 

Читать далее
Всего голосов 75: ↑62 и ↓13+63
Комментарии165

System Design 101

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



О сложных системах простыми словами.


В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы (и монолиты), платежные системы, Git, облачные сервисы etc. Особую ценность представляют диаграммы — рекомендую уделить им пристальное внимание. Полагаю, шпаргалка будет интересна всем, кто хоть как-то связан с разработкой программного обеспечения и, прежде всего, веб-приложений. Буду признателен за помощь в уточнении/исправлении понятий, терминологии, логики/алгоритмов работы систем (в рамках того, что по этому поводу содержится в оригинале), а также в обнаружении очепяток.


Выражаю благодарность Анне Неустроевой за помощь в редактировании материала.


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


System Design (сборник на английском языке).

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

System Design. Общие принцип прохождения интервью по проектированию ИТ-систем

Время на прочтение9 мин
Количество просмотров46K
image Привет, Хаброжители! Мы весьма рады, что вы решили изучить особенности интервью по проектированию ИТ-систем вместе с нами. Из всех технических интервью именно на этом задают самые сложные вопросы. Претенденту предлагается спроектировать архитектуру программной системы: новостной ленты, поиска Google, системы мгновенных сообщений и т. д. Задачи такого рода наводят ужас, ведь у них нет единственно верных решений. Они обычно отличаются масштабностью и расплывчатостью. Допускаются свободные и неясные формулировки без стандартного или правильного ответа.

Интервью по проектированию ИТ-систем широко практикуются в компаниях, так как навыки общения и решения задач, которые можно проверить на этом этапе, необходимы в повседневной работе программиста. Ответы претендента оцениваются с учетом того, как он анализирует расплывчатую задачу и какие шаги он предпринимает для ее решения. При этом во внимание принимается то, как он объясняет свои идеи, обсуждает их с другими, оценивает и оптимизирует систему.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+12
Комментарии16

Внутренняя работа HashMap в Java

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

[примечание от автора перевода] Перевод был выполнен для собственных нужд, но если кому -то это окажется полезным, значит мир стал хоть немного, но лучше! Оригинальная статья — Internal Working of HashMap in Java


В этой статье мы увидим, как изнутри работают методы get и put в коллекции HashMap. Какие операции выполняются. Как происходит хеширование. Как значение извлекается по ключу. Как хранятся пары ключ-значение.

Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии18

.NET Aspire — империя дотнета наносит ответный удар

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

Когда я первый раз услышал про .NET Aspire, я подумал что это какая-то очередная лажа от Майкрософта, про которую все забудут через неделю.

Особенно, учитывая какую дичь часто завозят в шарп (например те же ужасно спроектированные Primary Constructor'ы про которые я писал, или вот прикол-пропозал от самого Тоуба). Так что ожидания у меня, честно говоря, были ниже нуля.

Но попробовав его лично, я был, честно говоря, шокирован. Трепещите, жависты!! Трепещите гошники! Трещепищите питонисты - такого вы еще точно не видели.

Я даже представить не мог, что DevEx можно сделать настолько офигительным.

Узнать про Aspire без смс и регистрации
Всего голосов 38: ↑36 и ↓2+42
Комментарии51

Какой роутер для OpenWrt купить в 2025 году?

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

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

Роутер, как и любой другой девайс, нужно покупать под запрос. Например, линуксоиды привыкли покупать ноутбуки именно под Linux, а не первый попавшийся. Также и тут: если нужен OpenWrt, то роутер тоже надо выбирать с умом, а не надеяться на то, что кастомная прошивка сделает конфетку из роутера за 700 р.

В 2023 и 2024 появились интересные роутеры, которые уже поддерживаются проектом OpenWrt. Эти роутеры сделаны на базе ARM-процессоров. Такие роутеры появились у нескольких компаний, и дальше их количество будет только увеличиваться.

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

Представление Project Loom в Java

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

Это руководство поможет вам понять, что представляет собой Project Loom в Java и как его виртуальные потоки (также называемые «fibers») работают «под капотом».

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

Kotlin глазами Java-разработчика

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

Привет, хабр! Сегодня я хочу рассказать про свой опыт взаимодействия с языком kotlin.

Представлюсь – я java разработчик, работаю в крупном банке, создаю (и поддерживаю существующие) микросервисы.

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

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

Читать далее
Всего голосов 34: ↑30 и ↓4+30
Комментарии75

Введение в Cloud native. Часть 2. Принципы облачных приложений

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

В прошлой первой части мы рассмотрели само понятие Cloud native и модели облачных вычислений. А так же выделили концепцию облачных приложений. В этой части рассмотрим их принципы.

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

Введение в Cloud native. Часть 1. Определение и модель облачных вычислений

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

Широкое распространение облачных технологий привело к появлению парадигмы в разработке, внедрения и обслуживании компьютерных систем. Наиболее закрепившееся название этой парадигмы - "Cloud native".

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

Установка Kubernetes на домашнем сервере с помощью K3s

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

Но зачем


Знаю, о чем вы думаете — Kubernetes? На домашнем сервере? Кто может быть настолько сумасшедшим? Что ж, раньше я согласился бы, однако недавно кое-что изменило мое мнение.


Я начал работать в небольшом стартапе, в котором нет DevOps разработчиков со знанием Kubernetes (в дальнейшем K8s), и даже будучи старым ненавистником K8s из-за его громоздкости, был вынужден признать, что мне не хватает его программного подхода к деплойментам и доступу к подам. Также должен признать, что азарт от укрощения настолько навороченного зверя давно будоражит меня. И вообще, K8s захватывает мир — так что лишние знания не навредят.

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

8 вещей, о которых забывают разработчики при переносе приложения в Kubernetes

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

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

Наш субъективный список — под катом. Пополните его своими рекомендациями в комментариях!
Читать дальше →
Всего голосов 59: ↑57 и ↓2+72
Комментарии2

Большой гайд. Пишем микросервисы на Java и Spring Boot, заворачиваем в Docker, запускаем на EKS, мониторим на Grafana

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

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

Как какой из двух категорий относится эта статья — решать вам.

В этой статье вы увидите пошаговое создание cloud-native микросервиса на Amazon AWS, пригодное для "чтения с листа". Чтобы понять, что здесь происходит, не нужно разворачивать проект - достаточно обладать живым воображением и прочитать текст по диагонали. Если же вы всё-таки захотите повторить шаги, вам будут жизненно нужны знания вида, как создавать классы в IDE и что такое Spring.

Вначале мы напишем пару простых микросервисов на Spring Boot, докеризуем их, зальём в AWS, настроим красивые доменные имена и HTTPS, прикрутим логирование и мониторинг, Prometheus и Grafana. Это небольшое путешествие по всем кругам ада, из которого вы не вернетесь прежним.

Текст написан на основе текстов и демо-проекта microservice-customer за авторством @kamaruzzaman. Если вы потеряли нить повествования, всегда можно зайти на GitHub и найти весь код в пригодном для запуска виде. Если захочется закопаться в тему, то бро Дима Чуйко (@Teapot) написал вам ещё две части статьи "Микросервисы: от CRUD до Native Image" (раз, два).

Последняя важная оговорка. В этом гайде будут использоваться технологии Amazon и обычные дистрибутивы OpenJDK. Автор осознает, что мы живём в России, и возможно, вместо Amazon куда лучше подойдет что-то вроде SberCloud или MTS Cloud, а вместо обычного OpenJDK - Axiom JDK с сертификацией по ФСТЭК. Особенности российских технологий - тема для отдельной статьи. Если вы захотите таковую после чтения этого гайда - отметьтесь в комментариях.

Читать далее
Всего голосов 66: ↑65 и ↓1+83
Комментарии27
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Chief Technology Officer (CTO)
Lead
От 300 000 ₽
Java
Spring Boot
Hibernate
Apache Kafka
RabbitMQ
C#
MySQL
Redis