emotional developer 썸네일형 리스트형 k8s JVM memory Config 개요Pod total memory 대비 JVM memory 설정값 측정Pod total memoryPod에 지정 된 limit memory 값ex) 2000MPod OS 기본 사용 memoryPod 구동 시, 기본적으로 사용하는 memory대략 200M 가정 ( 대체로 200M가 보다 더 작을 것이지만, 여유롭게 가정)JVM memoryJVM total memory = heap + metaspaceex) 예제 가정값Pod total memory: 2000Mmetaspace: 256MPod total memory 대비 JVM memory Max 사용량 비율(Pod total memory * heap 사용 비율) + metaspace = JVM total memory → Pod total memory 대비 .. 더보기 6 Tips for Resolving Common Java Performance Problems https://medium.com/javarevisited/6-tips-for-resolving-common-java-performance-problems-b88f42dc6118 6 Common Java performance problems 1. Memory leaks 자바는 가비지 컬렉터를 통해 자동 메모리 관리를 제공함에도 불구하고, 성능 문제에 대한 보장을 하지 않습니다. 가비지 컬렉터는 더 이상 사용되지 않는 메모리를 자동으로 식별하고 회수하지만, 자동 메모리 관리에만 의존하는 것은 성능 문제에서 완벽한 방법은 아닙니다. 자바의 가비지 컬렉터는 더 이상 사용되지 않는 메모리를 자동으로 식별하고 회수하여 언어의 강력한 메모리 관리 시스템의 필수적인 기능 입니다. 그러나 이러한 고급 메커니즘을 사용하.. 더보기 Clean Code: Optional Parameters https://medium.com/@bubu.tripathy/clean-code-optional-parameters-327d67abbf90 메서드에서 선택적 매개변수를 다룰 때는 긴 매개변수 목록이나 널 값 사용을 피하는 것이 좋습니다. 대신 메서드 오버로딩 또는 빌더 패턴으로 코드 가독성과 유지 관리성을 향상 시키는 것이 좋습니다. 이 방법들은 다양한 매개변수 집합을 가진 메서드를 호출할 때 더 깔끔한 인터페이스를 제공합니다. ⭐️ 메서드 오버로딩을 활용하여 서로 다른 매개변수 집합을 가진 메서드의 여러 버전을 생성하세요. 이렇게 하면 선택적 매개변수에 의존하지 않고도 명확하고 명시적으로 호출할 수 있습니다. ⭐️ 선택적 매개변수의 수가 상당히 많아지면 빌더 패턴을 구현하는 것을 고려하세요. 이 접근 .. 더보기 What Is a Modular Monolith? https://medium.com/@MilanJovanovicTech/what-is-a-modular-monolith-babd989a4ea2 What is a Modular Monolith? 모듈형 모놀리스는 애플리케이션을 잘 정의된 경계를 가진 독립적인 모듈 또는 구성 요소로 구조화하는 아키텍처 패턴입니다. 모듈은 논리적 경계를 기준으로 분할되어 관련 기능을 함께 그룹화합니다. 이 접근 방식은 시스템의 응집력을 크게 향상시킵니다. 모듈은 느슨하게 결합되어 있어 모듈화와 분리를 더욱 촉진합니다. 모듈은 공용 API를 통해 통신하며, 이에 대한 자세한 내용은 모듈형 모놀리스 통신 패턴에 대한 글에서 확인할 수 있습니다. 그렇다면 모듈식 설계의 장점은 무엇일까요? Benefits of a Modular Mo.. 더보기 mongodb bulk remove 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 더보기 Git Branch Model/Strategy Release Train IT회사에서 일상적으로 사용하는 RT는 "Release Train"의 약자입니다. 소프트웨어 개발과정에서 사용 되는 용어로, 주로 Agile 또는 린소프트웨어 개발 방법론에서 활용됩니다. Release Train은 여러 팀이 협력하여 일정 주기마다 새로운 소프트웨어 버전을 배포하는 프로세스를 나타냅니다. 이 프로세스는 큰 프로젝트 또는 제품을 관리하고 지속적으로 배포하기 위해 사용됩니다. Release Train 접근 방식은 다음과 같이 동작합니다: 일정 주기: 일정한 주기(보통은 2주, 4주 등)로 소프트웨어 버전을 배포하는 시간 단위를 결정합니다. 팀 협력: 여러 개발 팀이 하나의 Release Train에 참여합니다. 이 팀들은 동시에 개발을 진행하며, 주기마다 생성된 기능.. 더보기 TDD Isn't Design https://tidyfirst.substack.com/p/tdd-isnt-design?fbclid=IwAR2CvJPKgRkoSiKl6LfHIugUsFyJI2bFkfrB80oebLdb_V4PeWbJgaWBUBw 프롬프트는 다음과 같았습니다: "TDD만으로 훌륭한 시스템 설계가 나올 수 있다는 생각은 마음에 들지 않습니다." 결론적으로 동의합니다. 당신은 디자인 결정을 내려야 합니다. 더 자세한 답변은 다음과 같습니다. 조금이라도 상식이 있는 사람이라면 TDD가 디자인의 필요성을 대체한다고 말하지 않습니다. 핵심 질문은 '언제'입니다. 첫 번째 테스트를 작성하고 통과하기 전에 몇 가지 구현 디자인 결정을 제안하고 있습니다. 특히 몇 달에서 몇 년이 걸리던 과거의 디자인 '단계'와 비교하면 그렇게 끔찍해 보.. 더보기 Optimizing Spring Integration Tests https://www.baeldung.com/spring-tests 주요 부분이라고 생각한 것만 한글화. 2. Integration Tests 통합 테스트는 자동화된 테스트 suites의 기본적인 부분입니다. 하지만 건강한 테스트 피라미드를 따른다면 단위 테스트만큼 많지는 않아야 합니다. Spring과 같은 프레임워크에 의존하면 시스템의 특정 동작에 대한 위험을 제거하기 위해 상당한 양의 통합 테스트가 필요합니다. Spring 모듈(데이터, 보안, 소셜 등)을 사용하여 코드를 더 단순화할수록 통합 테스트의 필요성은 더 커집니다. 특히 인프라의 일부분을 @Configuration 클래스로 옮길 때 더욱 그렇습니다. "프레임워크를 테스트"해서는 안 되지만, 프레임워크가 우리의 요구 사항을 충족하도록 구성되어.. 더보기 이전 1 2 3 4 5 ··· 24 다음