1. 캐시(Cache)란? [ Cache ] Cache란 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 아래와 같은 저장공간 계층 구조에서 확인할 수 있듯이, 캐시는 저장 공간이 작고 비용이 비싼 대신 빠른 성능을 제공한다. Cache는 아래와 같은 경우에 사용을 고려하면 좋다. 접근 시간에 비히 원래 데이터를 접근하는 시간이 오래 걸리는 경우(서버의 균일한 API 데이터) 반복적으로 동일한 결과를 돌려주는 경우(이미지나 썸네일 등) Cache에 데이터를 미리 복사해 놓으면 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있다. DBMS의 부하를 줄이고, 성능을 높이기 위해 캐시(Cache)를 사용한다. 원하는 데이터가 캐시에 존재할 경우 해당 데이터를 반환하며, 이러..
상황 service 프로젝트가 web-common(공통, 자바프로젝트)를 의존하고 있다. Jenkins로 빌드 후 실행을 하려면 web-common,service가 Jenkins 서버 안의 같은 디렉토리에 있는 상태로 빌드를 해 Jar 파일을 만들어야 하는 상황. 해결 순서 : 1. web-common 을 Jenkins로 깃랩에서 소스 변화가 생길 시 새로 받아 빌드하여 젠킨스 서버에 둔다. 2. web-common과 service 프로젝트를 연결한다. 3. web-common에서 변화가 생겨 새로 빌드가 될 시 service 프로젝트 또한 젠킨스에서 깃랩 저장소의 service를 새로 pull 해 빌드를 하게 한다. - 1. web-common Jenkins Job 설정 - 깃랩 저장소 연결 - 빌드 ..
@Email : 이메일 형식인지 체크한다. RequestDTO의 email에 @Email 어노테이션을 걸어두면 이메일 형식으로 입력안하면 Bad_REQUEST가 뜰 것이다. 왜 되는거지? 회원가입 API인데 Spring Validation을 적용하려면 RequestDTO에 제약조건을 걸어두고 Request 받을 매개변수에 @Valid를 걸어두어야 적용된다. 안 적어서 이메일로 test123이 적용된거 같다. @Valid 적용 원하는 대로 되었다. 그런데 @Email, @NotNull private String email;에서 @Notnull을 빼면 어떻게 될까 ? json에서 email을 뺐다. bad request가 안 뜨고 200 ok가 떠버렸다. 항상 requestdto를 만들 때 아이디 비밀번호에..
테이블은 TEAM의 PK가 곧 Member의 FK이므로 하나로 이루어 진 관계이다. 하지만 객체로 연관 관계를 설정 한다면 사실상 양방향이 아닌 단방향 관계가 두 개로 이루어 져있다. 여기서 오는 패러다임으로 멤버 중심으로 팀을 바꾸고 싶다든가, 팀 중심으로 멤버를 바꾸고 싶다든가 하는 상황이 생긴다. 여기서 이 문제를 해결하기 위해서 우리는 연관관계에서 주인을 정해야하고 규칙이 필요하다. 연관관계의 주인(Owner) 양방향 매핑 규칙 • 객체의 두 관계중 하나를 연관관계의 주인으로 지정 • 연관관계의 주인만이 외래 키를 관리(등록, 수정) • 주인이 아닌쪽은 읽기만 가능 • 주인은 mappedBy 속성 사용X • 주인이 아니면 mappedBy 속성으로 주인 지정 연관관계의 주인 설정 기준 외래 키가 있..