Pull to refresh
2
0
Send message

Zeebe и Camunda: сравниваем известные BPM-системы под высокими нагрузками

Reading time12 min
Views26K

Всем привет! Меня зовут Николай Первухин, я Senior Java Developer в Райффайзенбанке. В последнее время я активно занимаюсь BPM-системами Camunda и Zeebe (основа Camunda-cloud). Если вы, как и я, с ходу не можете ответить на вопрос, кто быстрее — Camunda или Zeebe, насколько, и в каких случаях они могут тормозить, то добро пожаловать под кат.

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

Helidon 4 вышел, а никто и не заметил

Reading time5 min
Views7.5K

Те, кто использует Helidon в проде, наверняка точно знают, зачем им это нужно. Что делать остальным? Основная задача хомячка — объяснить детям концепцию смерти. Кажется, точно так же основная задача Helidon для широких народных масс — посмотреть на самые новые фишки Java и понять, нужно вам это или нет. Посмотрим, что же произошло в версии 4.0.0...

Интересно. Читать далее
Total votes 21: ↑19 and ↓2+24
Comments8

Как упростить себе жизнь: удобные юнит-тесты с JUnit и AssertJ

Level of difficultyEasy
Reading time10 min
Views13K

Для тестирования Java-приложений создано столько полезных инструментов, что в них немудрено запутаться. Вместе с тем с помощью каждого из них можно решить строго определенный круг прикладных задач. Меня зовут Константин Шибков, я старший Java-разработчик CDEK и программный директор курсов по Java в Skillbox. Сегодня расскажу о практике использования фреймворка для модульного тестирования JUnit 5, а также покажу на конкретных примерах, как проводятся стандартные юнит-тесты и параметризованные тесты. Вы сможете самостоятельно повторить их, воспользовавшись подготовленным репозиторием с готовыми примерами тестов на Java. 

Читать далее
Total votes 17: ↑15 and ↓2+19
Comments4

Распределённые транзакции

Level of difficultyMedium
Reading time10 min
Views36K

На собеседованиях на позицию middle/senior разработчика часто задают вопросы по распределенным транзакциям в микросервисной архитектуре.

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

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

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

Читать далее
Total votes 22: ↑19 and ↓3+20
Comments1

Асинхронный API First

Level of difficultyEasy
Reading time17 min
Views9.6K

API-First — один из популярных подходов к проектированию серверных приложений. Для обеспечения этого подхода создано множество программных продуктов. Однако сложно найти продукт, который поможет реализовать этот подход для серверных приложений, использующих брокеры сообщений в качестве средства интеграции —  такие, как Apache Kafka, RabbitMQ, Apache ActiveMQ. Мы решили это исправить и представляем вам свое решение AxenAPI.

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

Аннотации и рефлексия в Java

Level of difficultyMedium
Reading time10 min
Views10K


Привет, уважаемые читатели Хабра!

Аннотации и рефлексия являются ключевыми концепциями в Java, предоставляя разработчикам мощные инструменты для создания более гибких, адаптивных и понятных приложений. Аннотации предоставляют способ добавить метаданные к классам, методам и полям, что позволяет компилятору и другим инструментам анализировать код более глубоко. Рефлексия, с другой стороны, позволяет программам анализировать и модифицировать свой собственный состав и поведение во время выполнения.
Читать дальше →
Total votes 10: ↑8 and ↓2+9
Comments1

Как на самом деле работает Java ClassLoader system? (с картинками) — Часть 1/3, Загрузка

Level of difficultyMedium
Reading time7 min
Views19K

Так ли на самом деле работает процесс загрузки классов, как его описывает Wikipedia и Baeldung? ClassNotFoundException — это откуда и чье? Какие виды загрузчиков классов актуальны в Java 20?

Объясняем подпроцесс загрузки, из системы Java ClassLoader, на приятных Excalidraw диаграммах, со ссылками на оригинальные источники.

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

Микросервисы в банке: на чем их лучше писать? Java/Kotlin, а может Go?

Level of difficultyMedium
Reading time19 min
Views10K

В июле в офисе РСХБ-Интех (технологической дочки Россельхозбанка) состоялся бесплатный митап для Java-разработчиков — RSHB Backend Dev Meetup. Обсудили Kotlin, Go, маппинг и разные аспекты бэкэнд-разработки. В числе докладчиков выступал Иван Кочергин, руководитель центра собственной разработки РСХБ-Интех. Иван более 10 лет занимается разработкой на Java, последние три года — на Kotlin. В своем докладе он сравнил, на чем лучше писать микросервисы в банке: Java, Kotlin или Go. Делимся расшифровкой доклада. Запись всего митапа можно посмотреть на Rutube.

Читать далее
Total votes 28: ↑18 and ↓10+13
Comments17

Разработка высоконагруженного игрового WebSocket сервера на Java, Netty с поддержкой BattleRoyale/Matchmaking

Level of difficultyHard
Reading time18 min
Views12K

Всем доброго времени суток. В предыдущей статье я затронул тему клиентской разработки браузерной игры. В этой же публикации попробую пролить свет на детали разработки мультиплеера, а именно - разработки игрового websocket-tcp сервера на Netty.
Разберем технические особенности реализации такого сервера, способы улучшения производительности, игровую логику и т.д.

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

Garbage Collection и JVM

Level of difficultyEasy
Reading time17 min
Views24K

Привет, Хабровчане!

JVM работает как хорошо отлаженный механизм, автоматически распределяя и освобождая память. Это и есть суть Garbage Collection. Это процесс, который автоматически находит и удаляет объекты, которые больше не используются вашим приложением. Благодаря этому, разработчики могут сосредоточиться на логике приложения, не беспокоясь о ручном управлении памятью.

Знание того, как работает GC и JVM, необходимо каждому Java-разработчику. Правильное управление ресурсами напрямую влияет на производительность и стабильность приложений.

Читать далее
Total votes 24: ↑21 and ↓3+21
Comments7

CompletableFuture. Глубокое погружение

Level of difficultyHard
Reading time20 min
Views26K

java.util.concurrent.CompletableFuture - класс не новый. Он предстал перед нами во всём своём величии в 2014-м году вместе с выпуском Java 8. Много лет с тех пор прошло, а проще он не стал.

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

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

Вопросы, которые я бы хотел услышать на техническом собеседовании

Level of difficultyMedium
Reading time8 min
Views32K

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

На написание статьи меня подтолкнула собственная боль, пронесенная через года, размышления о роли Google и GPT в работе программиста и старый анекдот про инженера и объем резинового мяча.

Читать далее
Total votes 34: ↑32 and ↓2+35
Comments87

Java Digest #8

Level of difficultyEasy
Reading time3 min
Views6.3K

??Приветствуем в новогоднем Java Digest! ??

В этом выпуске с радостью представляем некоторые захватывающие статьи, связанные с миром Java и его новейшими разработками. Приготовьтесь узнать о главных моментах Java в 2023 году, улучшениях в сборщиках мусора в JDK 21, устаревших функциях в Java 18—21, применении CDS с Spring Framework 6.1 и многом другом.

Читать новогодний выпуск
Total votes 14: ↑14 and ↓0+14
Comments2

Java для сисадминов

Reading time17 min
Views14K

Эта статья написана в основном для системных администраторов Java-приложений (DevOps-инженеров, SRE и других производных специализаций). Вероятнее всего, Java-разработчики уже все это прекрасно знают. Хотя Junior Java-разработчикам эта информация может помочь систематизировать знания.

Статья не претендует на полноту или полную непогрешимость. Во-первых, нельзя объять необъятное. Во-вторых, все меняется и проверенные истины могут перестать быть истинами в новых версиях. В сети существует множество статей об  устройствах Java, однако в этой статье в блоге ЛАНИТ я стремился сделать выжимку основных моментов, необходимых для администраторов Java-приложений. Для более глубокого погружения в тот или иной вопрос потребуется обратиться к другим источникам.

Читать далее
Total votes 99: ↑98 and ↓1+120
Comments10

Про нашу регенерацию

Reading time17 min
Views12K
В течение жизни человек меняется почти полностью за исключением сетчатки и хрусталика глаза, а также коры головного мозга. Всё остальное потихоньку умирает и обновляется: спасибо регенерации!

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

Чтобы организм понял, какие ткани и в каком месте выращивать, нужно правильно составить техзадание.

image
В принципе договориться о приживлении имплантов не так уж и сложно

Сегодня я расскажу, как составить это самое техзадание, что бывает с теми, кто после удаления зуба ходит в баню, курит и пьёт коктейли через трубочку, а ещё — про бессмертные организмы, стволовые клетки и отращивание всяких тканей. Страшных картинок не будет — заглядывать под кат можно смело и решительно.
Читать дальше →
Total votes 53: ↑50 and ↓3+61
Comments18

Внутренний Я(ндекс)

Level of difficultyEasy
Reading time8 min
Views85K

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

Да, уже были статьи про собеседование и даже в эту же структуру, некоторые из них я видел, но не во всём с ними согласен, к тому же конкретно С++ разработчиков я там не видел.

Читать далее
Total votes 397: ↑391 and ↓6+457
Comments288

Программист с фигой в кармане: в чем причины?

Level of difficultyEasy
Reading time11 min
Views72K

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

Степень активной осознанности может быть разной. Например, в самом ясном проявлении это может принимать такую форму: «не буду делать ни одного лишнего движения, если не посчитаю это нужным, ведь в первую очередь это нужно не мне». В самом слабом своем проявлении это звучит примерно так: «я просто боюсь выгорания и выживаю, как могу».

Я далек от того, чтобы делать какие-либо моральные оценки этому явлению (если
прочтете до конца, поймете, почему).  Я – тимлид с 15-летним опытом работы в IT. Я лично нанимал многих людей и со многими прощался. У меня есть своя приличная статистика откровенных мыслей и настроений людей, которые со мной работали, работают, или работают, но не со мной. На основании этого своего опыта (и не только своего) я попытаюсь дать ответ на вопрос, как и почему вырастает фига в кармане программиста. Я потяну за ниточку клубка причин и постепенно попытаюсь его распутать целиком. Результатом будет сводный граф причин феномена саботажа в IT. Поехали!

Читать далее
Total votes 93: ↑75 and ↓18+78
Comments295

Вышла Java 21

Level of difficultyMedium
Reading time18 min
Views61K
Вышла общедоступная версия Java 21. В этот релиз попало около 2500 закрытых задач и 15 JEP'ов. Release Notes можно посмотреть здесь. Изменения API – здесь.

Java 21 является LTS-релизом, а значит у него будут выходить обновления как минимум 5 лет с момента выхода.
Читать дальше →
Total votes 74: ↑74 and ↓0+74
Comments49

Мы сами себя обманули с Биткоином 2

Level of difficultyMedium
Reading time8 min
Views24K

Откупили крипту на платформе, которая не по нраву США? Теперь вы наркодиллер и торговец оружием.

Нет никакой децентрализации, все еще хуже чем в обычном банковском секторе.

Криптовалюту уже задушили, а люди до сих пор с пеной у рта доказывают, что это "свободное будущее". Все на словах только хорошо, а на практике не работает.

На примере РФ, я по фактам расписал как с помощью блокчейновской инфраструктуры можно закрыть всю страну полностью.

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

Это продолжение статьи "Мы сами себя обманули с Биткоином". Для понимания, о чем я буду писать, желательно прочитать ее.

Прочитав все 550 комментариев я полностью убедился в своей правоте - Биткоин не работает. Спасибо всем, кто писал критические комментарии. 

Читать далее
Total votes 136: ↑93 and ↓43+64
Comments112

Мы сами себя обманули с Биткоином

Level of difficultyMedium
Reading time4 min
Views88K

Вы идете в продуктовый магазин, хотите купить бутылку молока. Бутылка стоит 601$, транзакция идет 5 часов, и стоимость бутылки за эти 5 часов прыгает от 500 до 700.

Как вам такое будущее? А ведь именно это и продвигают бешеные криптоманы.

Сразу хочу сказать, я за криптовалюту, я сам работаю в этом секторе.

Я хочу написать о наболевшем:

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

На вершине этого стоит Биткоин, который вообще там, не потому что он самый удобный или правильный, а потому что он просто первый. И ничего более.

Статья будет в более спокойном и сухом формате. Числа и факты.

Читать далее
Total votes 215: ↑159 and ↓56+146
Comments751

Information

Rating
Does not participate
Registered
Activity