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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

Ловушки интеграционного тестирования в Spring Boot

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

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

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

Proxmox 8. Настраиваем проброс видеокарты (GPU Passthrough). Выбор материнской платы на AM5 сокете

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


Уже прошел год как вышел Debian 12 Bookworm и, основанный на нем, Proxmox 8. Несмотря на тот факт, что мои предыдущие статьи по пробросу дискретной Видеокарты в виртуальную машину, в кол-ве 4-х на Хабре, частично все еще актуальны для последней версии Proxmox, в тематических чатах регулярно поступали обращения обновить статью, а так же выяснилось что, у тех кто пользуется такими инструкциями, есть определенное непонимание в нюансах, из-за чего приходится проходить вместе с ними всю цепочку действий заново.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии16

Лучшие практики для надёжной работы с RabbitMQ

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

Привет, Хабр! Я Женя, архитектор интеграционной платформы в Точке, отвечаю за асинхронный обмен сообщениями между внутренними сервисами, за ESB и за брокеры сообщений.

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

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

Следуй за белым кроликом
Всего голосов 58: ↑58.5 и ↓-0.5+59
Комментарии16

Настраиваем логирование с помощью Loki и Grafana

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

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

Читать далее
Всего голосов 16: ↑15 и ↓1+14
Комментарии6

Минимализм / Минималист / TMUX.config

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

Заметили, что мир становится намного красочнее, пестрее, ярче и контрастнее?

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

Сейчас же парадигма сместилась в сторону скроллинга ярких картинок, фотографии и видео, и на первый план вышло яркое представление, а не качество внутри.

В ИТ мире тоже происходит такой сдвиг, программы для разработки (IDE) походят больше на елку с гирляндой или какие-то детские квесты из 2000-х. Странность заключается в том, что центр внимания программиста смещается со знаний, на все что угодно, но только не на написание качественного кода, изучения алгоритмов или разобраться как же все таки работает Garbage Collector (.Net мем). Становятся популярны какие-то странные супер фичи будущего, выбор красивой подсветки ошибок, умные помощники и т.д. Но самое странное все начинают называть себя экспертами всех этих ценностей.

https://github.com/paulbuzakov/tmuxconfig

Читать далее
Всего голосов 25: ↑20 и ↓5+15
Комментарии41

Всё ещё используете If/else валидацию в Spring 6.0+ / SpringBoot 3.0+?

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

Чтобы избежать влияния несанкционированных параметров на ваш бизнес, в ваших веб-сервисах должна быть реализована проверка параметров на уровне контроллера! В большинстве случаев параметры запроса можно разделить на два следующих вида:

— POST и PUT-запросы, использующие requestBody для передачи параметров.
— GET-запросы, использующие requestParam/PathVariable для передачи параметров.

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

Как вообще этот ваш CI CD настроить

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

Привет, Хабр!

Хочется рассказать о нашем опыте внедрения CI/CD в компанию. О том, как в целом работать с ним и как это работает у нас.

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

Приятного прочтения, всем peace!

Читать и так далее
Всего голосов 23: ↑17 и ↓6+11
Комментарии13

Обзор балансировщика traefik

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

Привет, Хабр!

Traefik - современный и мощный балансировщик нагрузки.

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

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

Как быстро написать API на FastAPI с валидацией и базой данных

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

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

В этой статье мы разработаем простой API с помощью самого популярного стека и FastAPI. Рассмотрим важные концепции в работе с этим фреймворком, набросаем базовую структуру проекта и развернем приложение на облачном сервере. Подробности под катом!
Читать дальше →
Всего голосов 53: ↑48 и ↓5+43
Комментарии39

Ansible + Grafana Loki: Настраиваем отправку уведомлений в чат после логина на сервер по SSH

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

Не задумывались ли вы когда-нибудь над тем, чтобы знать о каждом входе на ваши сервера? Меня охватила такая же паранойя: а вдруг, когда я сплю, на мой сервер заходит домовой и творит там ужасы? Хотя логин на наши сервера и запрещен по паролю, а SSH-ключи есть только у меня, в любом случае это вызывает большие опасения.

В этой статье мы развёрнем через Terraform несколько серверов в Yandex.Cloud, а затем при помощи Ansible настроим необходимый софт на каждом сервере. У нас будет основной сервер c Loki (система агрегирования логов) и Grafana (инструмент для визуализации данных), на серверах, которые мы хотим отслеживать, будет установлен Promtail (агент для сбора и отправки логов). Мы разберёмся с тем, как отслеживать входы на сервер, а затем в удобном формате отправлять об этом уведомления в чат с помощью вышеуказанных сервисов.

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

Инфраструктурные пайплайны в Jenkins

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

Привет, Хабр!

Jenkins позволяет автоматизировать всё, от сборки и тестирования кода до деплоя на продакшн. Jenkins работает по принципу пайплайнов, которые можно настраивать под любые нужды проекта.

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

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

Использование resilience4j со Spring Boot

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

resilience4j библиотека, предоставляющая набор инструментов для повышения надежности и отказоустойчивости java приложений прежде всего в микросервисной архитектуре

Рассмотрим какие в ней есть инструменты, как их использовать в Spring Boot приложении с помощью аннотаций, как настраивать и есть ли в них подводные камни

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

Тестирование Spring Security

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

Безопасность играет важную роль в программном обеспечении. В конечном итоге каждому необходимо повысить безопасность своего проекта. В этой статье мы рассмотрим, как протестировать аутентификацию и авторизацию приложений Spring Boot. Мы рассмотрим как приложения-сервлеты MVC, так и реактивные приложения WebFlux.

Spring Security хорошо интегрируется с фреймворками Spring Web MVC и Spring WebFlux. Он также имеет комплексную интеграцию с Spring MVC Test и Spring WebTestClient.

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

Информация

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

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

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