Pull to refresh
0
0
Александр Холодович @kholodovitch

Lead Java backend developer

Send message

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

Level of difficultyEasy
Reading time21 min
Views50K

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

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

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

Читать далее
Total votes 184: ↑184 and ↓0+202
Comments191

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

Level of difficultyEasy
Reading time6 min
Views18K

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

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

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

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

Читать далее
Total votes 32: ↑28 and ↓4+28
Comments74

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

Level of difficultyEasy
Reading time5 min
Views2K

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

Читать далее
Rating0
Comments1

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

Reading time5 min
Views3.9K

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

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

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

Reading time23 min
Views28K

Но зачем


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


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

Читать дальше →
Total votes 12: ↑11 and ↓1+11
Comments9

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

Reading time11 min
Views15K

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

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

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

Reading time37 min
Views93K

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

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

В этой статье вы увидите пошаговое создание 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 с сертификацией по ФСТЭК. Особенности российских технологий - тема для отдельной статьи. Если вы захотите таковую после чтения этого гайда - отметьтесь в комментариях.

Читать далее
Total votes 66: ↑65 and ↓1+83
Comments27

Kubernetes в миниатюре для локального запуска: k0s, MicroK8s, kind, k3s и Minikube

Reading time12 min
Views38K

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

В таких случаях приходят на помощь «мини-кластеры». Их можно запустить на рабочем ПК, «поиграться» с примитивами, построить новую структуру, а после завершения эксперимента — безвозвратно удалить (ведь это уже отработанный материал!).

Отвечая на эту потребность, разработчики со всего мира пришли со своими решениями для быстрого запуска облегчённого варианта Kubernetes. Все они по-разному организованы и, конечно, обладают разными возможностями. Чем пользоваться, зависит от нужд и предпочтений. Чтобы получше разобраться в них или вообще понять, с чего стоит начать, предлагаем результаты нашего беглого знакомства с некоторыми популярными решениями. Благо, все они достаточно хорошо документированы (как на сайтах, так и в CLI), что существенно ускоряет первое погружение и взаимодействие с ними. В конце статьи будет сводная таблица с основными особенностями решений.

Читать далее
Total votes 41: ↑40 and ↓1+49
Comments28

Сравнение MicroK8s c Managed Kubernetes Clusters, K3s и Minikube

Level of difficultyMedium
Reading time6 min
Views5.4K

Microk8s - это легкий, простой в установке дистрибутив Kubernetes, обеспечивающий полнофункциональный кластер на одной виртуальной машине. В последние годы он завоевал популярность благодаря своей простоте и удобству использования, особенно в сравнении с другими подобными вариантами Kubernetes, такими как k3s и minikube. В этой статье мы подробно рассмотрим, что такое Microk8s, чем он отличается от управляемых кластеров Kubernetes и какие преимущества он имеет по сравнению с другими дистрибутивами Kubernetes. Мы также поделимся собственным опытом использования Microk8s в различных проектах, подчеркнув преимущества и пользу, которые он дает. И наконец, мы покажем, как настроить его на вашей виртуальной машине.

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

«Паттерны» функционального программирования

Reading time10 min
Views71K

Многие люди представляют функциональное программирование как нечто очень сложное и «наукоемкое», а представителей ФП-сообщества – эстетствующими философами, живущими в башне из слоновой кости.

До недавнего времени такой взгляд на вещи действительно был недалек от истины: говорим ФП, подразумеваем Хаскель и теорию категорий. В последнее время ситуация изменилась и функциональная парадигма набирает обороты в web-разработке, не без помощи F#, Scala и React. Попробуем взглянуть на «паттерны» функционального программирования, полезные для решения повседневных задач с точки зрения ООП – парадигмы.

ООП широко распространено в разработке прикладного ПО не одно десятилетие. Все мы знакомы с SOLID и GOF. Что будет их функциональным эквивалентом?.. Функции! Функциональное программирование просто «другое» и предлагает другие решения.


Читать дальше →
Total votes 61: ↑56 and ↓5+51
Comments361

Бюджетный умный климат: как я заставил дешевый кондиционер поумнеть и слушаться Алису

Level of difficultyMedium
Reading time3 min
Views32K

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

Я установил в свою 3-комнатную квартиру три кондиционера DEXP AC‑CH9ONF. Это самый простой и бюджетный вариант, я не ожидал от него особых возможностей.

Поначалу все устраивало, но учитывая, что в квартире реализован простенький умный дом на основе Zigbee-контроллера SLS, хотелось бы управлять кондиционерами дистанционно.

Управление по IR командам сразу забраковал, так как это неудобно. Почему?

Читать далее
Total votes 30: ↑30 and ↓0+37
Comments65

Микросервисы в представлении среднего разработчика, и как всё на самом деле

Level of difficultyMedium
Reading time11 min
Views59K

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

Когда спрашиваю у людей на собесах, или когда в команде решаем, как клепать очередной проект, такое порой слышу, что становится страшновато. Мне кажется, лет через 5 все компании будут обитать в мультивселенной безумия из “микросервисов”, которую они себе радостно построили, уходя от этих ваших страшных “монолитов”.

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

погрузиться в микросервисы
Total votes 236: ↑232 and ↓4+260
Comments207

WI-FI в метро: архитектура сети и подземные камни

Reading time7 min
Views72K

Всего за пару лет поездка москвича в метро перестала быть ежедневной рутиной. Если раньше единственным развлечением в подземке были чтение книг, прессы и MP3-плеер, то теперь к ним добавились онлайн-шоппинг, просмотр сериалов, деловая переписка, даже знакомства в Tinder и квесты. А все благодаря появлению в метро бесплатной сети Wi-Fi. Порядка 80% москвичей регулярно подключаются к сети MT_FREE в метро, не задумываясь, как это работает и чьими силами это сделано. Бытует мнение, что Wi-Fi в метро “провел” сам метрополитен, но это не совсем верно. Беспроводная сеть — это проект “МаксимаТелеком”. Для компании это был первый опыт строительства высокоскоростной сети Wi-Fi с уникальными в мировой практике инженерными и техническими решениями. В этом посте мы расскажем, как организована сеть Wi-Fi в метро Москвы.
 
Читать дальше →
Total votes 102: ↑99 and ↓3+96
Comments295

Обзор Kalm — веб-интерфейса для деплоя приложений и управления ими в Kubernetes

Reading time9 min
Views8.9K

Kalm — бесплатное приложение с открытым исходным кодом. Представляет собой стандартный контроллер Kubernetes, который можно установить в любой кластер (версии v1.15 и выше), включая Amazon EKS и Google GKE. Основная цель Kalm — предоставить разработчикам простой пользовательский интерфейс, чтобы упростить работу с K8s.

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

The Dude. Практический мониторинг (Часть 1)

Reading time18 min
Views342K
Для меня все началось с этого поста. Хабраюзер gsandul решил написать книгу-руководство по системе мониторинга The Dude, а я ему помог в меру своих возможностей. Если у вас появилось желание положительно оценить данный пост, то все бонусы автору книги — он это заслужил больше.
Все замечания, пожелания и т.п. пишите, пожалуйста, в комментариях — это позволит учесть ошибки и недочеты в следующих частях книги.
Под катом первая часть.
Итак, приступим.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments12

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

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


Читать дальше →
Total votes 19: ↑11 and ↓8+7
Comments76

Сервисы для планирования MVP: несколько наблюдений после использования

Level of difficultyEasy
Reading time3 min
Views4.2K

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

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

В Лиге Цифровой Экономики для описания бизнес-процессов будущего продукта мы рассматривали и пробовали такие инструменты: 

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

Сравнение виртуальных и обычных потоков в Java

Reading time8 min
Views16K

Мы все знаем и ждем Project Loom для виртуальных потоков и надеемся на бесплатное ускорение своих приложений без или почти без изменения их кода.

Примеры с запуском миллиона потоков все уже видели и они скучные. А какое ускорение будет на самом деле в реальных примерах использования многопоточности в нормально написанном проекте? Под катом код и бенчмарки.

Читать далее
Total votes 17: ↑14 and ↓3+17
Comments30

«В идеале мы хотели бы вообще заменить Spring на Micronaut» — интервью с Грэмом Роше о перспективах развития Micronaut

Reading time20 min
Views14K


Micronaut ворвался в нашу жизнь внезапно, без стука и без объявления войны. О нем пишут новости и читают доклады, и вряд ли найдется джавист, который ни разу не слышал это слово. Micronaut — это современный фреймворк для JVM для написания модульных микросервисов и serverless-приложений, использующий для этого фичи GraalVM.


В свою очередь, Grails — это фреймворк, который появился ещё в 2005 году и с тех пор непрерывно улучшается. В 2015 году Grails 3 переехал на SpringBoot, а версия 4.0.0 появилась в июле прошлого года. У Grails сохраняется своя аудитория, для которой он очень хорошо подходит и решает вполне конкретные проблемы.


Грэм Роше создал оба этих фреймворка. Мы пригласили Грэма в нашу виртуальную студию, чтобы обсудить, зачем было изобретать велосипеды и городить костыли, не закопать ли Grails и Spring Boot, как поддерживать Jakarta EE и не сломаться, что будет в Micronaut 2, стоит ли писать Micronaut поверх Micronaut и когда уже Java наконец помрёт.

Читать дальше →
Total votes 23: ↑22 and ↓1+26
Comments25
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

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