Spring
- record class
record class는 JDK16부터 정식으로 지원된 불변 객체를 쉽게 생성할 수 있는 클래스이다.
record는 생성자, getter, hashcode, equals, tostring 을 제공해준다.
class가 final이기 때문에 subclass를 생성할 수 없다.
모든 필드는 불변이기 때문에 setter를 제공하지 않는다.
불변적인 데이터를 저장할 때 적합하므로 DTO에 사용하면 좋다.
- 이모저모
변동 가능성이 있고 더 작은 범위의 모듈인 DTO가 더 중요하고 변동 가능성이 없어야 하는 모듈인 엔티티에 직접 접근하는 것은 좋지 않다.
예를들어 Entity의 몇가지 필드 값을 바꿔야할 때 modifyEntity(인자....) 인자에 DTO를 넣기보다는 DTO에서 데이터를 꺼내서 넣어주자.
한 레포지토리에 대해 여러 서비스 혹은 컨트롤러가 접근하지 않도록 제한한다.
레포지토리에 접근하는 도메인을 하나로 제한하면 계층적 구조는 명확하여 좋겠지만,
서비스가 물고 물리는 순환참조가 발생할 위험성이 있다. -> 취향 차이다?
알고리즘
- 프로그래머스 : 게임 맵 최단거리(Level 2, BFS)
추가로 시저 암호라는 레벨 1짜리 푸는 게 있는데 ABD를 4로 밀면 DEG 이렇게 출력하라는 것이었다.
z가 넘어갈 때 -26으로 빼주려고 했는데 계속 틀렸다.
n만큼 민다고 했을 때 'z' + n 하고 'z' 보다 크면 -26을 해줬다.
알고보니 아스키코드가 127까지 있는데 n만큼 더할 때 오버플로우가 발생해서 오류가 낫었다.
느낀 점
너무 춥다. 오른손 말초신경까지 온기가 잘 전해지지 않는다.
'TIL' 카테고리의 다른 글
[23.12.21] (1) | 2023.12.22 |
---|---|
[23.12.20] (1) | 2023.12.20 |
[23.12.18] (0) | 2023.12.18 |
[23.12.15] (1) | 2023.12.15 |
[23.12.14] (0) | 2023.12.15 |