https://medium.com/javarevisited/6-tips-for-resolving-common-java-performance-problems-b88f42dc6118 6 Common Java performance problems 1. Memory leaks 자바는 가비지 컬렉터를 통해 자동 메모리 관리를 제공함에도 불구하고, 성능 문제에 대한 보장을 하지 않습니다. 가비지 컬렉터는 더 이상 사용되지 않는 메모리를 자동으로 식별하고 회수하지만, 자동 메모리 관리에만 의존하는 것은 성능 문제에서 완벽한 방법은 아닙니다. 자바의 가비지 컬렉터는 더 이상 사용되지 않는 메모리를 자동으로 식별하고 회수하여 언어의 강력한 메모리 관리 시스템의 필수적인 기능 입니다. 그러나 이러한 고급 메커니즘을 사용하..
https://medium.com/@bubu.tripathy/clean-code-optional-parameters-327d67abbf90 메서드에서 선택적 매개변수를 다룰 때는 긴 매개변수 목록이나 널 값 사용을 피하는 것이 좋습니다. 대신 메서드 오버로딩 또는 빌더 패턴으로 코드 가독성과 유지 관리성을 향상 시키는 것이 좋습니다. 이 방법들은 다양한 매개변수 집합을 가진 메서드를 호출할 때 더 깔끔한 인터페이스를 제공합니다. ⭐️ 메서드 오버로딩을 활용하여 서로 다른 매개변수 집합을 가진 메서드의 여러 버전을 생성하세요. 이렇게 하면 선택적 매개변수에 의존하지 않고도 명확하고 명시적으로 호출할 수 있습니다. ⭐️ 선택적 매개변수의 수가 상당히 많아지면 빌더 패턴을 구현하는 것을 고려하세요. 이 접근 ..
https://medium.com/@MilanJovanovicTech/what-is-a-modular-monolith-babd989a4ea2 What is a Modular Monolith? 모듈형 모놀리스는 애플리케이션을 잘 정의된 경계를 가진 독립적인 모듈 또는 구성 요소로 구조화하는 아키텍처 패턴입니다. 모듈은 논리적 경계를 기준으로 분할되어 관련 기능을 함께 그룹화합니다. 이 접근 방식은 시스템의 응집력을 크게 향상시킵니다. 모듈은 느슨하게 결합되어 있어 모듈화와 분리를 더욱 촉진합니다. 모듈은 공용 API를 통해 통신하며, 이에 대한 자세한 내용은 모듈형 모놀리스 통신 패턴에 대한 글에서 확인할 수 있습니다. 그렇다면 모듈식 설계의 장점은 무엇일까요? Benefits of a Modular Mo..
mongodb bulk remove https://www.mongodb.com/docs/manual/reference/method/Bulk.find.remove/ https://docs.spring.io/spring-data/mongodb/reference/mongodb/template-crud-operations.html https://www.mongodb.com/community/forums/t/how-best-to-delete-a-huge-amount-of-data-from-a-collection/212849
Release Train IT회사에서 일상적으로 사용하는 RT는 "Release Train"의 약자입니다. 소프트웨어 개발과정에서 사용 되는 용어로, 주로 Agile 또는 린소프트웨어 개발 방법론에서 활용됩니다. Release Train은 여러 팀이 협력하여 일정 주기마다 새로운 소프트웨어 버전을 배포하는 프로세스를 나타냅니다. 이 프로세스는 큰 프로젝트 또는 제품을 관리하고 지속적으로 배포하기 위해 사용됩니다. Release Train 접근 방식은 다음과 같이 동작합니다: 일정 주기: 일정한 주기(보통은 2주, 4주 등)로 소프트웨어 버전을 배포하는 시간 단위를 결정합니다. 팀 협력: 여러 개발 팀이 하나의 Release Train에 참여합니다. 이 팀들은 동시에 개발을 진행하며, 주기마다 생성된 기능..