home.social

#archunit — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #archunit, aggregated by home.social.

  1. Шёл за утечкой памяти, нашёл утечку диска: SXSSFWorkbook без dispose() в Apache POI

    Меня зовут Игорь Симаков, работаю engineering manager’ом и руковожу командами разработки На одном из наших сервисов, который работает с XLSX-файлами, прилетел production-алерт на высокое потребление памяти. Стандартный P3, обычно решается рестартом. Пошёл смотреть поды и нашёл проблему, к памяти отношения не имеющую, но представляющую больший риск, чем сам алерт. Об этом и расскажу ниже: чем «утечка диска» отличается от «утечки памяти», как мы наткнулись на грабли в Apache POI и как закрыли их на уровне архитектуры

    habr.com/ru/articles/1039862/

    #apache_poi #утечка_памяти #kubernetes #java #rss #archunit #spring_boot #производительность

  2. Шёл за утечкой памяти, нашёл утечку диска: SXSSFWorkbook без dispose() в Apache POI

    Меня зовут Игорь Симаков, работаю engineering manager’ом и руковожу командами разработки На одном из наших сервисов, который работает с XLSX-файлами, прилетел production-алерт на высокое потребление памяти. Стандартный P3, обычно решается рестартом. Пошёл смотреть поды и нашёл проблему, к памяти отношения не имеющую, но представляющую больший риск, чем сам алерт. Об этом и расскажу ниже: чем «утечка диска» отличается от «утечки памяти», как мы наткнулись на грабли в Apache POI и как закрыли их на уровне архитектуры

    habr.com/ru/articles/1039862/

    #apache_poi #утечка_памяти #kubernetes #java #rss #archunit #spring_boot #производительность

  3. [Перевод] Руководство по ArchUnit — как модульно тестировать архитектуру

    Соблюдение определённой структуры пакетов или архитектуры крайне важно. Особенно в Java, где для корректной работы некоторые элементы должны быть public или действительно доступны за пределами своего пакета. В новом переводе от команды Spring АйО рассмотрим библиотеку с открытым исходным кодом ArchUnit, которая помогает в тех случаях, когда одного компилятора недостаточно.

    habr.com/ru/companies/spring_a

    #java #kotlin #archunit #тестирование #testing #test #spring #spring_boot #spring_framework

  4. [Перевод] Руководство по ArchUnit — как модульно тестировать архитектуру

    Соблюдение определённой структуры пакетов или архитектуры крайне важно. Особенно в Java, где для корректной работы некоторые элементы должны быть public или действительно доступны за пределами своего пакета. В новом переводе от команды Spring АйО рассмотрим библиотеку с открытым исходным кодом ArchUnit, которая помогает в тех случаях, когда одного компилятора недостаточно.

    habr.com/ru/companies/spring_a

    #java #kotlin #archunit #тестирование #testing #test #spring #spring_boot #spring_framework

  5. [Перевод] Руководство по ArchUnit — как модульно тестировать архитектуру

    Соблюдение определённой структуры пакетов или архитектуры крайне важно. Особенно в Java, где для корректной работы некоторые элементы должны быть public или действительно доступны за пределами своего пакета. В новом переводе от команды Spring АйО рассмотрим библиотеку с открытым исходным кодом ArchUnit, которая помогает в тех случаях, когда одного компилятора недостаточно.

    habr.com/ru/companies/spring_a

    #java #kotlin #archunit #тестирование #testing #test #spring #spring_boot #spring_framework

  6. [Перевод] Руководство по ArchUnit — как модульно тестировать архитектуру

    Соблюдение определённой структуры пакетов или архитектуры крайне важно. Особенно в Java, где для корректной работы некоторые элементы должны быть public или действительно доступны за пределами своего пакета. В новом переводе от команды Spring АйО рассмотрим библиотеку с открытым исходным кодом ArchUnit, которая помогает в тех случаях, когда одного компилятора недостаточно.

    habr.com/ru/companies/spring_a

    #java #kotlin #archunit #тестирование #testing #test #spring #spring_boot #spring_framework

  7. Was tun, wenn #JUnit nicht mehr reicht? Christopher Olbertz zeigt, wie #AssertJ für bessere Lesbarkeit sorgt, #ArchUnit Architekturverstöße erkennt & #Mockito Tests entkoppelt.

    Jetzt Teststrategie modernisieren: javapro.io/de/testen-mit-java-

    #CleanCode #JAVAPRO #unittesting #JAVAPRO

  8. Was tun, wenn #JUnit nicht mehr reicht? Christopher Olbertz zeigt, wie #AssertJ für bessere Lesbarkeit sorgt, #ArchUnit Architekturverstöße erkennt & #Mockito Tests entkoppelt.

    Jetzt Teststrategie modernisieren: javapro.io/de/testen-mit-java-

    #CleanCode #JAVAPRO #unittesting #JAVAPRO

  9. Du willst, dass dein Team systematisch testet, & das auch richtig? Christopher Olbertz zeigt dir die passenden Tools für verschiedene Testarten:

    ✔️ Unit-Tests, Architektur-Checks, Mocking komplexer Abhängigkeiten

    Lese: javapro.io/de/testen-mit-java-

    #JUnit #Mockito #AssertJ #ArchUnit

  10. Du willst, dass dein Team systematisch testet, & das auch richtig? Christopher Olbertz zeigt dir die passenden Tools für verschiedene Testarten:

    ✔️ Unit-Tests, Architektur-Checks, Mocking komplexer Abhängigkeiten

    Lese: javapro.io/de/testen-mit-java-

    #JUnit #Mockito #AssertJ #ArchUnit

  11. Architecture boundaries aren’t optional—they’re guardrails.
    With Quarkus + ArchUnit, you can turn BCE/ECB principles into executable tests that fail the build when boundaries erode.

    the-main-thread.com/p/quarkus-

    #Java #Quarkus #ArchUnit #CleanArchitecture #BCE

  12. Architecture boundaries aren’t optional—they’re guardrails.
    With Quarkus + ArchUnit, you can turn BCE/ECB principles into executable tests that fail the build when boundaries erode.

    the-main-thread.com/p/quarkus-

    #Java #Quarkus #ArchUnit #CleanArchitecture #BCE

  13. Architecture boundaries aren’t optional—they’re guardrails.
    With Quarkus + ArchUnit, you can turn BCE/ECB principles into executable tests that fail the build when boundaries erode.

    the-main-thread.com/p/quarkus-

    #Java #Quarkus #ArchUnit #CleanArchitecture #BCE

  14. Architecture boundaries aren’t optional—they’re guardrails.
    With Quarkus + ArchUnit, you can turn BCE/ECB principles into executable tests that fail the build when boundaries erode.

    the-main-thread.com/p/quarkus-

    #Java #Quarkus #ArchUnit #CleanArchitecture #BCE

  15. Architecture boundaries aren’t optional—they’re guardrails.
    With Quarkus + ArchUnit, you can turn BCE/ECB principles into executable tests that fail the build when boundaries erode.

    the-main-thread.com/p/quarkus-

    #Java #Quarkus #ArchUnit #CleanArchitecture #BCE

  16. Du arbeitest im Team & niemand hält sich an Architekturregeln? Mit #ArchUnit lassen sich Paketgrenzen, Namenskonventionen & Schichtenarchitektur automatisiert testen. Architekturdrift? Nicht mit dir.

    Mehr dazu von Christopher Olbertz: javapro.io/2025/09/08/testen-m

    #Java #CleanCode

  17. Du arbeitest im Team & niemand hält sich an Architekturregeln? Mit #ArchUnit lassen sich Paketgrenzen, Namenskonventionen & Schichtenarchitektur automatisiert testen. Architekturdrift? Nicht mit dir.

    Mehr dazu von Christopher Olbertz: javapro.io/2025/09/08/testen-m

    #Java #CleanCode

  18. Viele Teams nutzen JUnit & testen trotzdem ineffizient. Christopher Olbertz erklärt, wo #JUnit an Grenzen stößt & welche Tools wie #Mockito, AssertJ oder #ArchUnit gezielt weiterhelfen.

    Mehr Qualität mit weniger Aufwand: javapro.io/de/testen-mit-java-

    #CleanCode #JAVAPRO #unittesting

  19. Viele Teams nutzen JUnit & testen trotzdem ineffizient. Christopher Olbertz erklärt, wo #JUnit an Grenzen stößt & welche Tools wie #Mockito, AssertJ oder #ArchUnit gezielt weiterhelfen.

    Mehr Qualität mit weniger Aufwand: javapro.io/de/testen-mit-java-

    #CleanCode #JAVAPRO #unittesting

  20. Our next #JCON2025 session is live: 'Unit Test Your #Java Architecture With #ArchUnit' with Roland Weisleder

    #Architecture and #code are drifting more and more apart? The implementation of non-functional requirements and cross-cutting concerns…

    Grab your coffee and hit play: youtu.be/MxP521_i9zM

  21. Our next #JCON2025 session is live: 'Unit Test Your #Java Architecture With #ArchUnit' with Roland Weisleder

    #Architecture and #code are drifting more and more apart? The implementation of non-functional requirements and cross-cutting concerns…

    Grab your coffee and hit play: youtu.be/MxP521_i9zM

  22. Our next #JCON2025 session is live: 'Unit Test Your #Java Architecture With #ArchUnit' with Roland Weisleder

    #Architecture and #code are drifting more and more apart? The implementation of non-functional requirements and cross-cutting concerns…

    Grab your coffee and hit play: youtu.be/MxP521_i9zM

  23. Our next #JCON2025 session is live: 'Unit Test Your #Java Architecture With #ArchUnit' with Roland Weisleder

    #Architecture and #code are drifting more and more apart? The implementation of non-functional requirements and cross-cutting concerns…

    Grab your coffee and hit play: youtu.be/MxP521_i9zM

  24. Our next #JCON2025 session is live: 'Unit Test Your #Java Architecture With #ArchUnit' with Roland Weisleder

    #Architecture and #code are drifting more and more apart? The implementation of non-functional requirements and cross-cutting concerns…

    Grab your coffee and hit play: youtu.be/MxP521_i9zM

  25. ArchUnit против хаоса

    Привет! Я Масгутов Руслан, архитектор в Т-Банке. Одна из моих задач — вести архитектурный надзор по техническим решениям. Проверка структуры проектов при ревью довольно быстро становится скучной рутиной, и появляется желание автоматизировать эту деятельность, чтобы освободить время для более интересных задач. Расскажу, как мы используем ArchUnit для автоматизации архитектурного контроля. Покажу, как мы обернули правила в Gradle-плагин, встроили их в CI/CD, боремся с архитектурными отклонениями до того, как они попадают в pull request, и расскажу о возможности сбора архитектурных метрик.

    habr.com/ru/companies/tbank/ar

    #ArchUnit #Архитектурный_надзор

  26. ArchUnit против хаоса

    Привет! Я Масгутов Руслан, архитектор в Т-Банке. Одна из моих задач — вести архитектурный надзор по техническим решениям. Проверка структуры проектов при ревью довольно быстро становится скучной рутиной, и появляется желание автоматизировать эту деятельность, чтобы освободить время для более интересных задач. Расскажу, как мы используем ArchUnit для автоматизации архитектурного контроля. Покажу, как мы обернули правила в Gradle-плагин, встроили их в CI/CD, боремся с архитектурными отклонениями до того, как они попадают в pull request, и расскажу о возможности сбора архитектурных метрик.

    habr.com/ru/companies/tbank/ar

    #ArchUnit #Архитектурный_надзор

  27. ArchUnit против хаоса

    Привет! Я Масгутов Руслан, архитектор в Т-Банке. Одна из моих задач — вести архитектурный надзор по техническим решениям. Проверка структуры проектов при ревью довольно быстро становится скучной рутиной, и появляется желание автоматизировать эту деятельность, чтобы освободить время для более интересных задач. Расскажу, как мы используем ArchUnit для автоматизации архитектурного контроля. Покажу, как мы обернули правила в Gradle-плагин, встроили их в CI/CD, боремся с архитектурными отклонениями до того, как они попадают в pull request, и расскажу о возможности сбора архитектурных метрик.

    habr.com/ru/companies/tbank/ar

    #ArchUnit #Архитектурный_надзор

  28. ArchUnit против хаоса

    Привет! Я Масгутов Руслан, архитектор в Т-Банке. Одна из моих задач — вести архитектурный надзор по техническим решениям. Проверка структуры проектов при ревью довольно быстро становится скучной рутиной, и появляется желание автоматизировать эту деятельность, чтобы освободить время для более интересных задач. Расскажу, как мы используем ArchUnit для автоматизации архитектурного контроля. Покажу, как мы обернули правила в Gradle-плагин, встроили их в CI/CD, боремся с архитектурными отклонениями до того, как они попадают в pull request, и расскажу о возможности сбора архитектурных метрик.

    habr.com/ru/companies/tbank/ar

    #ArchUnit #Архитектурный_надзор

  29. It was a successful weekend for , the new federated meetup alternative: Now there is a header on every page, and on the homepage the communities are displayed with their picture in a responsive grid. Architecture tests with were introduced and thanks to we have a test coverage of 100%. This gives us a good feeling for refactorings and also when testing PRs. I'm already looking forward to spending a few evenings working on it next week! Screenshots will follow soon! 🤓

  30. It was a successful weekend for #Komunumo, the new federated meetup alternative: Now there is a header on every page, and on the homepage the communities are displayed with their picture in a responsive grid. Architecture tests with #ArchUnit were introduced and thanks to #TDD we have a test coverage of 100%. This gives us a good feeling for refactorings and also when testing PRs. I'm already looking forward to spending a few evenings working on it next week! Screenshots will follow soon! 🤓

  31. It was a successful weekend for #Komunumo, the new federated meetup alternative: Now there is a header on every page, and on the homepage the communities are displayed with their picture in a responsive grid. Architecture tests with #ArchUnit were introduced and thanks to #TDD we have a test coverage of 100%. This gives us a good feeling for refactorings and also when testing PRs. I'm already looking forward to spending a few evenings working on it next week! Screenshots will follow soon! 🤓

  32. It was a successful weekend for #Komunumo, the new federated meetup alternative: Now there is a header on every page, and on the homepage the communities are displayed with their picture in a responsive grid. Architecture tests with #ArchUnit were introduced and thanks to #TDD we have a test coverage of 100%. This gives us a good feeling for refactorings and also when testing PRs. I'm already looking forward to spending a few evenings working on it next week! Screenshots will follow soon! 🤓

  33. It was a successful weekend for #Komunumo, the new federated meetup alternative: Now there is a header on every page, and on the homepage the communities are displayed with their picture in a responsive grid. Architecture tests with #ArchUnit were introduced and thanks to #TDD we have a test coverage of 100%. This gives us a good feeling for refactorings and also when testing PRs. I'm already looking forward to spending a few evenings working on it next week! Screenshots will follow soon! 🤓

  34. Excited for #JCON EUROPE 2025? See Roland Weißleder at #JCON2025 in Cologne talking about 'Unit Test Your #Java #Architecture With #ArchUnit'

    Architecture and #code are drifting more and more apart? The implementation …

    Get your free #JUG Ticket: jcon.one

  35. Excited for #JCON EUROPE 2025? See Roland Weißleder at #JCON2025 in Cologne talking about 'Unit Test Your #Java #Architecture With #ArchUnit'

    Architecture and #code are drifting more and more apart? The implementation …

    Get your free #JUG Ticket: jcon.one

  36. Excited for #JCON EUROPE 2025? See Roland Weißleder at #JCON2025 in Cologne talking about 'Unit Test Your #Java #Architecture With #ArchUnit'

    Architecture and #code are drifting more and more apart? The implementation …

    Get your free #JUG Ticket: jcon.one

  37. Excited for #JCON EUROPE 2025? See Roland Weißleder at #JCON2025 in Cologne talking about 'Unit Test Your #Java #Architecture With #ArchUnit'

    Architecture and #code are drifting more and more apart? The implementation …

    Get your free #JUG Ticket: jcon.one

  38. TIL: #ArchUnit 1.4.0 was released almost three weeks ago 🎉

    The new version supports the upcoming #Java 24, enables the use of @AnalyzeClasses as a meta-annotation, improves the performance of transitive dependency checks – and includes several other useful improvements.

    Unit test your architecture with @archunit! ❤️

    github.com/TNG/ArchUnit/releas

  39. TIL: #ArchUnit 1.4.0 was released almost three weeks ago 🎉

    The new version supports the upcoming #Java 24, enables the use of @AnalyzeClasses as a meta-annotation, improves the performance of transitive dependency checks – and includes several other useful improvements.

    Unit test your architecture with @archunit! ❤️

    github.com/TNG/ArchUnit/releas

  40. TIL: #ArchUnit 1.4.0 was released almost three weeks ago 🎉

    The new version supports the upcoming #Java 24, enables the use of @AnalyzeClasses as a meta-annotation, improves the performance of transitive dependency checks – and includes several other useful improvements.

    Unit test your architecture with @archunit! ❤️

    github.com/TNG/ArchUnit/releas

  41. TIL: #ArchUnit 1.4.0 was released almost three weeks ago 🎉

    The new version supports the upcoming #Java 24, enables the use of @AnalyzeClasses as a meta-annotation, improves the performance of transitive dependency checks – and includes several other useful improvements.

    Unit test your architecture with @archunit! ❤️

    github.com/TNG/ArchUnit/releas

  42. TIL: #ArchUnit 1.4.0 was released almost three weeks ago 🎉

    The new version supports the upcoming #Java 24, enables the use of @AnalyzeClasses as a meta-annotation, improves the performance of transitive dependency checks – and includes several other useful improvements.

    Unit test your architecture with @archunit! ❤️

    github.com/TNG/ArchUnit/releas

  43. 2/ Potential improvements:

    * The docs could have an even simpler "Getting started" example or feature overview. Some colleagues had a hard time to quickly grasp what Spring Modulith actually does
    * I wish it could also verify basic inner module structure like no cycles between module layers or only top-down access allowed within module layers. Maybe this is not within the intended scope of Spring Modulith. Will keep using #archunit for this aspect.

  44. 2/ Potential improvements:

    * The docs could have an even simpler "Getting started" example or feature overview. Some colleagues had a hard time to quickly grasp what Spring Modulith actually does
    * I wish it could also verify basic inner module structure like no cycles between module layers or only top-down access allowed within module layers. Maybe this is not within the intended scope of Spring Modulith. Will keep using #archunit for this aspect.

  45. 2/ Potential improvements:

    * The docs could have an even simpler "Getting started" example or feature overview. Some colleagues had a hard time to quickly grasp what Spring Modulith actually does
    * I wish it could also verify basic inner module structure like no cycles between module layers or only top-down access allowed within module layers. Maybe this is not within the intended scope of Spring Modulith. Will keep using #archunit for this aspect.