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

+ Recent posts