Как стать автором
Обновить
2
0
Ахмед Мирсалимов @mirsalimov

Java программист

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

Multiboot usb flash накопитель в пару кликов через Ventoy

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

Очень краткое руководство по созданию мультизагрузочной флешки (multiboot flash driver) через программу Ventoy, статья о том как в пару кликов создать multiiboot накопитель для загрузки / установки множества дистрибутивов с одного flash накопителя.

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

Rolling Updates: как обновлять без простоев и стресса

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

Сегодня поговорим о том, как избежать нервов во время деплоя с помощью стратегии Rolling Updates. Это один из самых лучших и безопасных способов обновления приложений. Если вы хотите минимизировать простои, исключить массовые ошибки и при этом уверенно управлять процессом обновления, Rolling Updates — это ваш выбор.

Rolling Updates — это стратегия деплоя, при которой обновление приложения происходит поэтапно, с минимальными перебоями в работе сервиса. Вместо остановки всех компонентов приложения и замены их новыми версиями, Rolling Updates обновляет небольшие группы (называемые батчами) экземпляров приложения, постепенно замещая старые версии новыми.

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

Memory Fences и volatile в Java: низкоуровневые гарантии порядка памяти

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

Сегодня рассмотрим интересную тему для тех, кто сталкивается с многопоточностью в Java – это управление порядком памяти. Базовых инструментов синхронизации, например как synchronized или блокировки, порой недостаточно. Именно здесь могут помочь низкоуровневые механизмы, такие как Memory Fences и ключевое слово volatile.

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

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

Тестирование лучших self-hosted аналогов Notion

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

image


Хабр, в связи с уходом Notion выросла потребность в аналогичном решении, которое бы было сопоставимо удобной Wiki, Task Manager — платформе. 


Я испробовал десять self-hosted решений и нашел несколько почти идеальных! Вы можете развернуть их у себя на сервере, при работе над совместными проектами с командой или для ведения личных записей.

Читать дальше →
Всего голосов 46: ↑44 и ↓2+57
Комментарии35

Корпоративный OpenVPN, или как сделать тигра из кошки

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

Говорят, из кошки не сделать тигра, но сегодня мы попробуем добавить «корпоративности» очень простому и популярному ВПН-решению. OpenVPN Community Edition является решением с открытым кодом, очень популярным в мире и довольно безопасным. В корпоративной среде его использование часто бывает проблематично – отсутствуют важные функции, позволяющие разворачивать решение большому количеству пользователей с минимальными затратами.

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

Java Remote Debug на стендах в локальных облаках (docker/Kubernetes), очевидные вещи (как мне казалось)

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

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

Пусть наши стенды это или docker или Kubernetes кластеры.

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

Не используйте Lombok с JPA, пока не прочтете эту статью

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

Lombok — действительно отличный инструмент. Одна строчка кода, и все ваши JPA сущности перестают корректно работать ;) Но это только в том случае, если вы не знаете, какие фичи Lombok можно использовать вместе с JPA, а какие лучше не стоит. 

В этой статье я расскажу про большинство подводных камней, с которыми можно столкнуться, используя Lombok вместе с JPA, и про то, как их обойти используя Amplicode.

Читать далее
Всего голосов 18: ↑15 и ↓3+15
Комментарии24

Продвинутые сетевые функции Kubernetes

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

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

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

Высокая доступность в Kubernetes

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

Обсудили высокую доступность в k8s: эксперт Слёрма Кирилл Борисов — SRE, инцидент-менеджер и спикер конференций Highload++, Devops, DevOops, ProITFest — рассказал про использование Affinity и Anti-Affinity, Tolerations, PodDiscruption Budget и Horizontal Pod Autoscaler.

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

Кэш второго уровня Hibernate для чайников

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

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

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

Spring Boot Starter: практически, принципиально и подробнее. Часть 3

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

Привет, Хабр! С вами снова Сергей Соловых, Java-разработчик в команде МТС Digital. Мы продолжаем изучать возможности и нюансы построения собственного Spring Boot Starter. В предыдущих частях мы разобрали структуру стартеров, автоконфигурацию и зависимости бинов. А сегодня давайте поговорим о параметрах приложения.

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

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

Заставляем работать MinIO и Postgresql вместе

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

Всем привет, в этой статье я хочу рассказать, как у меня получилось интегрировать MinIO и Postgres, а именно, что после каждой загрузки картинки в объектное хранилище у нас появляется запись в БД.

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

Умные цифровые гитары: 5 необычных моделей, которые можно купить в России

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

Привет, Хабр! Меня зовут Анна Назаренко. Я ведущий инженер в МТС Диджитал, а еще у меня куча разных хобби. Например, я занимаюсь музыкой и люблю писать об инструментах. Сегодня решила поделиться с вами подборкой hi-tech-гитар. Некоторые из них подойдут новичкам, другие — профессиональным музыкантам. Но все они «набиты» технологиями, так что вам понравится!

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

Metatron — Open Source библиотека для генерации отчетов на языке Rust

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

Год назад возникла идея переписать весь Java-бекенд на Rust, который я уже несколько лет разрабатываю и поддерживаю. Я нашёл все аналоги библиотек и фреймворков из мира Java в экосистеме Rust:

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

История терминала как инструмент продуктивности

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

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

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

Хорошие практики нагрузочного тестирования: гайд для тех, кто успел до «пожара»

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

В каждом проекте рано или поздно наступает момент, когда нужно провести нагрузочное тестирование. Чаще всего это происходит поздно: сайт уже крашится под наплывом пользователей, стартовая страница не загружается, а обработка запросов в базе данных длится больше минуты. В такие моменты в «Джире» тестировщика появляется новая задача на поиск узких мест в системе.

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

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

CI/CD Kubernetes платформа Gitorion. Единый вход Single Sign-On (SSO) во все сервисы платформы при помощи Keycloak

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

Привет всем! В предыдущей статье мы подробно рассмотрели реализацию непрерывной доставки CD в платформе Gitorion на базе Jenkins. В данной статье мы подробно рассмотрим тонкости внедрения системы единого входа Single Sign-On (SSO) во все сервисы платформы Gitorion при помощи Keycloak.

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

Электронная подпись, шифрование данных с помощью RSA, AES. Реализация на Kotlin, Micronaut, bouncycastle

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

Электронная подпись, шифрование данных с помощью RSA, AES. Реализация на Kotlin, Micronaut, bouncycastle.

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

Раздача файлов на смартфоны без интернета. Опенсорсные альтернативы AirDrop

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


Формулировка задачи. У нас есть настольный компьютер и мобильные устройства под Android. Задача простая — как быстро перебросить файлы с компьютера на телефоны и планшеты. Например, скачанные подкасты и HD-фильмы 1080p, файлы apk для установки, рабочие файлы с персоналки, бэкапы. Хранилище телефона можно использовать как резервный внешний диск или как «беспроводную» флешку, которая работает по Wi-Fi.

Конечно, можно это сделать через веб-сервисы Wormhole/PairDrop/FilePizza, через телеграм/вайбер или инструменты синхронизации ПК и смартфона, такие как syncthing. Да, это удобно и привычно. Но процесс можно 1) ускорить; 2) избавиться от подключения к интернету. То есть файлы будут передаваться напрямую между устройствами, как Apple AirDrop, только лучше.
Читать дальше →
Всего голосов 41: ↑40 и ↓1+57
Комментарии68

Настраиваем ExecutorService'ы на практике

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

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

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

Также я веду блог в телеграм, где вы сможете найти другие материалы от меня

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии9

Информация

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

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

Backend Developer, Application Developer
Lead
От 600 000 ₽
Java