일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- 클린아키텍처
- mustache함수
- 스프링부트 프로젝트 이름 변경
- WebMvcConfigurer
- 테스트대역
- 유스콘
- @advice
- 개발블로그
- js숫자체크
- 헥사고날
- java병렬처리
- 멀티코어 프로그래밍
- WebMvcConfigurationSupport
- test double
- 자바디자인패턴
- MinorGC
- refelction API
- 동시요청
- MappingJackson2HttpMessageConverter
- java 멀티스레딩
- Java
- 테스트더블
- 인텔리제이에서 프로젝트 이름 바꾸기
- 어댑터패턴
- reflection api
- GOF
- Spring
- spring boot
- 개발컨퍼런스
- MajorGC
- Today
- Total
목록분류 전체보기 (23)
져니의 개발 정원 가꾸기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/YFfGL/btsEnXwufuJ/knGI3QEr5f8ww0qc2Bxyok/img.png)
목차 배경 최근에 업무 프로젝트를 정리하던 중 입사 초기에 신규 프로젝트에 투입되어 부하테스트 진행했던 부분이 생각났다. 1차 성능테스트 당시 부하가 증가함에에 따라 힙메모리가 지속적으로 증가해 OOM(Out Of Memoery) 문제가 발생했었고 이를 해결하기 위해 GC 설정과 캐시 설정을 바꾸었다. 실제 고객들이 사용중인 서비스에서 OOM이 나면 사용자는 아예 해당 애플리케이션이 제공하는 기능을 아예 사용할 수 없는 불편함을 겪게 된다. 더군다나 개발자가 이를 눈치 채지 못하고 화면과 기능이 꽤 오랜시간동안 제공되지 않은 상태로 머물러 있다면 결국 회사 매출과 사용자 이탈에도 악영향을 미칠 수 있다. 이처럼 GC는 애플리케이션 성능과 서비스의 품질에 지대한 영향을 끼치는 요소로서 중요하기 때문에 GC..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/XkScE/btsC34LxoSE/z6ZIsqRh1nBQsfpd4AZPAk/img.png)
목차 이번주에 회사에서 aop를 적용해 보았는데, 내친김에 aop 기술과 스프링AOP를 사용하는 간단한 방법에 대해 다뤄보고자 한다. AOP(Aspect Oriented Programming)란 무엇일까? 한국말로 직역해보자면 AOP는 '관점 지향 프로그래밍'이라는 뜻이다. 여기서 말하는 관점(Aspect)는 부가기능 모듈로 핵심기능은 아니지만 핵심기능에 부가 기능을 제공하는 의미있는 모듈을 말한다. 부가기능의 대표적인 예로 로깅과 트랜잭션이 있고 세트메뉴처럼 핵심기능에 부가적으로 제공되는 기능들이라고 보면 된다. AOP가 등장하게 된 배경에는 객체지향 프로그래밍(OOP)이 있다. OOP는 객체지향 설계 원칙(SOLID)에 따라 관심사 분리를 지향한다. 클래스가 하나의 목적 아래 동작하고 수정될 수 있도..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cyH3T7/btsCr6hAOtt/2SOlq1BK1AEiPSa2sCN28K/img.png)
gradle5.4.1 에서 6.9.4로 업그레이드를 하는데 사용하는 plugin들의 버전도 같이 업그레이드해야하는 상황이었다. 공식문서에 따르면 먼저 deprecated 된 플러그인, 문법, 의존성들을 업데이트 하고 gradle wrapper --gradle-version [version] 을 실행하여 그레이들을 업데이트 시키라고 한다. 참고 : https://docs.gradle.org/6.9.4/userguide/upgrading_version_5.html Upgrading your build from Gradle 5.x to 6.0 This chapter provides the information you need to migrate your Gradle 5.x builds to Gradle 6.0..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bt2Tvz/btsBHQfuxn9/0H79BuLteiO4F8YKaX7J01/img.png)
목차 스프링 프레임워크에서는 다양한 프레임워크들을 활용하여 테스트코드를 작성할 수 있다. 업무를 하면서 JUnit 프레임워크와 Hamcrest, AssertJ라이브러리를 사용하여 다양한 단위 테스트 코드를 작성할 수 있었는데, 이들의 특징들만 알아둬도 작성하기에도 쉽고 읽기도 쉬운 테스트 코드를 작성하는데 많은 도움을 얻을 수 있다고 생각한다. JUnit (사실은 JUnit5 중점) JUnit은 독립된 단위테스트(Isolated Unit Test)를 지원해주는 프레임워크이다. JUnit은 버전에 따라 발전해왔으며, 현재는 JUnit5가 일반적으로 사용되고 있다. JUnit5은 세 개의 하위 프로젝트의 다양한 모듈로 구성되어 있는데 JUnit5의 구성을 다음의 표현식으로 설명하기도 한다. JUnit5 = ..