ReadTimeout 서론 요즈음에는 모놀리틱 아키텍쳐 보단 MSA 형태로 역할을 분리하여 구성을 한다. MSA란 하나의 서버에서 모든 역할을 수행하는것이 아닌, 각 역할별로 별도의 서버로 분리해 API 형태로 데이터를 제공하는 형태이다. 즉 MSA 환경에서 API 간의 통신이 중요해진다. API 응답속도, timeout 설정 등이 중요하다. 일반적으로 API 응답시간이 5초를 넘어간다면 잘못 개발되었을 확률이 높다. ReadTimeout Timeout의 종류는 여러가지가 있다. 일반적으로 많이보이는 ConnectionTimeout, SocketTimeout 등등.. 그런데 ReadTimeout 이란 무엇일까 ? ReadTimeout 이란 그대로 직역하면 무엇인가를 읽는데 시간을 초과했다는 의미이다. H..
니시오 히로카즈 (저) 프로그래밍 언어에는 다양한 개념이 왜 존재하고, 이런 개념들은 왜 탄생한 것일까 ? 언어별 다양한 문법과 구문들, 현대의 프로그래밍 언어가 어떤식으로 진화해 왔는지를 알수있는 도서. 기존에는 당연시 여기던 부분들도 '왜?' 를 알게 되니 한층 더 이해가 높아진다. 특히 '객체지향' 에 대한 부분을 인상깊게 읽었다. - http://www.yes24.com/Product/Goods/11101558?Acode=101 코딩을 지탱하는 기술 프로그래밍 언어 안내서. 수많은 프로그래밍 언어를 효율적으로 학습할 수 있도록 돕는다. 언어 설계자의 관점에서 여러 언어를 비교하고 언어가 어떻게 변화되어 왔는지를 설명하며, 프로그래밍 언어가 가지고 있는 다양한 개념이 ‘왜’ 존재하고 있는지를 알려준..
반 관리 기능 목록 조회 상세 조회 등록 수정 삭제 반소속 학생 등록 반소속 학생 삭제 Groups GroupMember 반 관리 기능 + 반 소속학생 관리 기능 특이점 이라고 한다면 해당 반의 소속 학원생을 조회해 오는 부분이 화면에 종속적이다. 순수한 Repository계층에 어울리지 않는다. (재사용하기 어려움) QueryRepository를 생성하여 별도로 관리 GroupMemberQuery Tuple을 사용하기 보다는 DTO를 이용한 조회 (@QueryProjection을 활용)는 방법을 사용, 필요한 최소한의 데이터만 조회해 온다. QueryRepository로 별도 분리한 이유 ? 화면에 종속적인 경우 재사용하기 어렵고, 순수 Repository의 라이프사이클과 QueryRepository의..
학생 관리 기능 목록 조회 상세 조회 등록 수정 삭제 기본적인 CRUD 기능 MemberController MemberService 조회 기능 목록 조회시, Querydsl 이용하여 동적 쿼리 처리 (Querydsl) 상세 조회시 엔티티 식별자로 단건 조회를 시도하며, 만약 없다면 NotFoundMemberException 예외 발생 등록 기능 MemberForm (DTO) 를 통해 입력값을 전달받으며 엔티티로 변환후 학원생 등록 학원생 등록시 별도의 중복 체크 기능은 없음 (관리자만 이용하는 관리기능) 회원 등록후 해당 엔티티를 반환하는것이 아닌, 엔티티의 식별자만 반환 커맨드와 쿼리를 분리하라 원칙 수정 기능 MemberForm (DTO) 를 통해 입력값을 전달받으며 식별자로 해당 하는 학원생이 존재..