Pull to refresh
2
0
Ахмед Мирсалимов @mirsalimov

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

Send message

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

Level of difficultyMedium
Reading time4 min
Views1.9K

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

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

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

Level of difficultyEasy
Reading time7 min
Views3.9K

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

Читать далее
Total votes 8: ↑10 and ↓-2+12
Comments2

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

Reading time9 min
Views4.3K

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

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

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

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

Reading time9 min
Views1.8K

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

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments0

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

Level of difficultyMedium
Reading time10 min
Views1.2K

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

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

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

Level of difficultyMedium
Reading time7 min
Views11K


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

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

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

Level of difficultyMedium
Reading time10 min
Views5.8K

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

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

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

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

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

Level of difficultyEasy
Reading time16 min
Views4.4K

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

Читать далее
Total votes 14: ↑13 and ↓1+12
Comments6

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

Level of difficultyEasy
Reading time23 min
Views9.4K


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

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

Level of difficultyEasy
Reading time13 min
Views19K

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

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

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

Следуй за белым кроликом
Total votes 58: ↑58.5 and ↓-0.5+59
Comments16

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

Level of difficultyEasy
Reading time6 min
Views12K

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

Читать далее
Total votes 16: ↑15 and ↓1+14
Comments6

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

Level of difficultyEasy
Reading time3 min
Views6.9K

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

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

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

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

https://github.com/paulbuzakov/tmuxconfig

Читать далее
Total votes 25: ↑20 and ↓5+15
Comments41

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

Reading time12 min
Views12K

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

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

Читать далее
Total votes 19: ↑14 and ↓5+9
Comments11

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

Level of difficultyMedium
Reading time11 min
Views23K

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

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

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

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

Читать и так далее
Total votes 23: ↑17 and ↓6+11
Comments13

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

Level of difficultyEasy
Reading time6 min
Views7.9K

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

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

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

Читать далее
Total votes 14: ↑10 and ↓4+6
Comments7

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

Reading time11 min
Views19K

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

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

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

Level of difficultyMedium
Reading time19 min
Views9.2K

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

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

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

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

Level of difficultyEasy
Reading time5 min
Views2.8K

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

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

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

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

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

Level of difficultyEasy
Reading time10 min
Views5.4K

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

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

Читать далее
Total votes 9: ↑8 and ↓1+7
Comments0

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

Reading time10 min
Views3.5K

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

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

Читать далее
Total votes 3: ↑2 and ↓1+1
Comments1
1
23 ...

Information

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

Specialization

Backend Developer, Application Developer
Lead
From 600,000 ₽
Java