현업을 경험해보기 전에는 프로젝트가 비교적 단순했기 때문에 gradle 설정도 간단했고 멀티 프로젝트라는 개념도 눈에 들어오지 않았습니다. 이번에 맡게된 프로젝트를 뜯어보면서도 어떤 구조로 설계되었는지, 어떠한 로직들로 구성되었는지를 파악하는 데에만 집중하였고 application.yml 이나 build.gradle 설정들은 신경쓰지 못했던 것 같습니다. 중요하지만 간과하기 쉬운 부분을 다지는 의미에서 직접 멀티 모듈 프로젝트를 구성해보며 해당 내용을 정리하게 되었습니다. 프로젝트 구성 multi-project(root 프로젝트. 전역 설정을 담당) module-boot(프로젝트 부팅을 담당) module-domain(엔티티) module-controller(컨트롤러) 전역 설정을 담당하는 multi-p..
JUnit이란? JUnit 은 Java 진영의 대표적인 단위 테스트 프레임워크입니다. 어노테이션을 기반으로 테스트를 지원하며 스프링부트 프로젝트의 경우 기본적으로 의존성이 추가되어 있습니다. JUnit 5는 크게 세 가지 모듈로 이루어져 있습니다. JUnit Platform은 테스트를 발견하고 테스트 계획을 생성하는 TestEngine API를 지원해줍니다. 테스트를 실행하기 위한 뼈대라고 볼 수 있습니다. JUnit Jupiter는 TestEngine API 구현체로 개발자가 테스트 코드를 작성할 때 사용되며 테스트 코드를 발견하고 실행하는 역할을 수행합니다. JUnit Vintage는 JUnit 이전 버전은 3, 4와의 호환성을 위한 모듈입니다. 주요 어노테이션 LifeCycle Annotation ..
비트 연산자란? 비트 연산자는 비트(bit) 단위로 논리 연산을 할 때 사용하는 연산자입니다. 원소의 수가 많지 않은 경우에, 작업을 여러 번 수행해야 하는 경우 비트 연산으로 최적화를 할 수 있습니다. 비트연산자 설명 & 대응되는 비트가 모두 1이면 1을 반환 | 대응되는 비트가 하나라도 1이면 1을 반환 ^ 대응되는 비트가 서로 다르면 1을 반환 ~ 비트를 서로 반전 x의 비트를 부호를 유지하면서 지정한 수만큼 오른쪽으로 이동 & (비트 AND 연산) int x = 5; // 0 0 1 0 1 int y = 19; // 1 0 0 1 1 int x_and_y = 5 & 19; // 0 0 0 0 1 => 1 비트 AND 연산은 양쪽 모두 1이어야 1을 반환합니다. boolean 타입을 &&로 연산을 ..
record 란 무엇일까요? 불변(immutable) 데이터 객체를 쉽게 생성할 수 있도록 하는 새로운 유형의 클래스로 일반 class와 다르게 생성자, getter, hashCode(), equals(), toString() 메소드를 제공해줍니다. DTO처럼 데이터를 운반하는 특성의 클래스를 구현할 때 반복적으로 작성했던 부분을 없애줍니다. JDK14 버전에서 preview로 등장하여 JDK16 버전에서 정식 스펙으로 포함되었습니다. 어떻게 사용하는 걸까요? 선언 방식 record 레코드명(컴포넌트1, 컴포넌트2) {} class를 사용한 DTO 객체 public class Person { private final String name; private final int age; public Person..
로깅(Logging) 로깅이란 시스템이 동작하는 동안의 시스템의 상태, 동작 정보 등을 기록하는 것이다. 이것을 통해 애플리케이션의 문제를 진단할 수도 있고 데이터를 수집하여 분석 자료로써 활용할 수 있다. 로깅 구현체 대표적으로 Log4j와 Slf4j의 구현체인 Logback이 있다. Log4j는 가장 오래된 자바 기반 로깅 프레임워크이며 Logback은 Log4j의 아키텍처 기반으로 재작성된, 스프링부트에 기본적으로 포함된 로깅 프레임워크이다. Logback Log4j에 비해 향상된 필터링 기능, 로그 레벨 변경 등에 대해 서버를 재시작할 필요없이 자동 리로딩을 지원한다는 장점이 있다. 로그 레벨 Logback은 5단계의 로그 레벨을 가진다. 로그는 설정 레벨과 설정 레벨 상위의 로그만 추적한다. (..
- Total
- Today
- Yesterday
- 스프링부트
- 자바
- 프로그래머스
- 자바트리
- 자바bfs
- JPA
- 백준
- java
- BFS
- 자바dp
- 타입스크립트
- JavaScript
- SQL
- 스프링
- Nest
- 정렬
- dfs
- DP
- 리액트
- Comparator
- Queue
- 자바스크립트
- SQLD
- Spring
- 이분탐색
- 알고리즘
- 형변환
- CS
- Algorithm
- 해시맵
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |