본문 바로가기

일기

(3)
DAO, DTO 정리 spring5책을 보면서 DAO가 그냥 한글말을 영어로 음차한 것이라고 생각했었는데, 실제로는 DAO라는 개념이 있다는 것을 알게되어 관련 내용을 정리해보고자 한다. Entity Entity class는 DB table에 존재하는 Column들을 필드로 가지는 객체이다. DAO (Data Access Object) Database의 추상화된 인터페이스를 제공하는 패턴. Database의 구체적인 사항을 공개하지 않고 data 연산들을 제공한다. 이는 DB의 구체적인 사항을 알지 못해도 Data에 접근 가능하게 해주어 SW가 Single Responsibility Principle을 충족할 수 있게 한다. DTO (Data Transfer Object) DTO는 process, layer간 data를 주고..
Proxy pattern vs Decorator pattern spring을 공부하면서 aspect를 보게 되었는데, aspect를 위한 proxy object를 설명하면서 "해당 예시는 decorator 객체에 가깝다." 라고 설명한 부분이 있었다. 여기에 두 객체 무슨 차이가 있을까 궁금하여 찾아보았다. Proxy pattern : 원본 객체에 대한 접근 권한을 설정하는 것. Derocator pattern : 원본 객체에 추가 기능을 더하는 것. 두 패턴 모두 원본 객체(RealSubject, ConcreteComponent) 와 Decorator, Proxy class가 같은 interface를 상속 받는 것은 같지만, 사용예시들을 보면 다른 역할을 하고 있었다. Decorator패턴은 원본 객체에 기능을 "추가"하는 것이다. 그래서 Decorator 패턴이..
TypeError: Object of type is not JSON serializable JSON 변환 시 TypeError: Object of type is npt JSON serializable 에러가 떴다. 이는 JSON이 잘못 작성됬을 때 뜨는 에러이다. key, value 의 타입이 이상해도 해당 메시지가 뜨지만, (당연히) JSON 형식을 지키지 않았을 때도 해당 메시지가 뜬다. 나는 {"key","value"} 형식의 dictionary를 json으로 변경하려고 해서 에러가 떴다. 괜히 key, value의 타입만 1시간 동안 살펴봤다.