Java
-
Java Lint 기능을 사용해서 formatting 강제하기JAVA/자바설치 2024. 5. 3. 23:48
1. 배경 클린코드 책을 보면 한 챕터를 formatting(형식)에 관한 이야기를 한다.요약하자면 작성한 소스코드에 formatting(들여쓰기, 줄바꿈, 띄어쓰기 . . . 등등)이 굉장히 중요하다고 한다.formatting이 코드를 읽을때 가독성에 영향을 주고 이는 뇌에 영향을 줘서 생산성에도 영향이 간다.formatting은 아키텍처와 같이 한번 굳어지면 리펙토링이나 변경이 불가능하다. 기존 코드 formatting을 모방해서 작성할 수 밖에 없고, 이를 지키지 않고 여러명이 각자의 style로 작성하게되면 카오스가 되기 때문. 2. 해결책 Linter 그리고 Sonar Lint, Sonar Cubeformatting을 clean하게 유지하기 위해, 개발자들은 강제로 formatting을 정해진 ..
-
[java] CompletableFuture 문법JAVA 2024. 1. 31. 22:14
비동기 프로그래밍 업무중에 @Async 애노테이션이 붙은 메서드 안에 있는 Exception이 동작하지 않은 일이 있었다. 정상화하기 위해 구글링을 하는데, 기본 개념이 부족해서 자료 읽기에 애를 먹었다. 기본 문법을 정리해본다. (문법은 백기선 님의 JAVA 8 강의 내용을 요약했습니다.) 우선 결론부터 JAVA는 스레드를 관리하는 Executor라는 것을 제공. Executor를 이용해 스레드 생성, 작업, 끼어들기, 기다리기, 종료 같은 작업 가능. Future는 스레드 작업을 결과로 return한 값, Future api로 스레드에서 아직 작업중인지 확인, 작업이 끝나서 나온 결과 호출, 멀티스레드 결과 관리 가능 CompleteableFuture는 자바 8에 등장한 Future 확장 기능 Cal..
-
[TEST 시리즈 1]단위테스트란? Unit 테스트 정의Spring Boot/테스트 2022. 11. 18. 02:07
회사에서 단위테스트를 추가하는 업무를 맡았다. 그 동안 내가 알고 있던 Unit Test와 시니어님이 요청하신 Unit Test의 정의가 달라서 일주일이 날아갔다. 이것은 고통과 함께한 단위테스트 기록이다. 단위테스트의 정의 마틴 파울러씨는 다음과 같이 말했다. (출처 : https://martinfowler.com/bliki/UnitTest.html) Unit testing is often talked about in software development, and is a term that I've been familiar with during my whole time writing programs. Like most software development terminology, however, it's..