본문 바로가기
728x90
반응형

전체 글86

Error creating bean with name 'entityManagerFactory' defined in class path resource Error creating bean with name 'entityManagerFactory' defined in class path resource Error executing DDL "alter table team drop constraint FKbias78n053djth87rpv0p2prl" via JDBC Statement 두번째 에러 해결 방법 spring.jpa.hibernate.ddl-auto=create-drop 참고 : https://jojelly.tistory.com/83 2022. 8. 10.
CORS 원인과 해결하기 CORS란? 교차 출처 리소스 공유(Cross-origin resource sharing, CORS), 교차 출처 자원 공유는 웹 페이지 상의 제한된 리소스를 최초 자원이 서비스된 도메인 밖의 다른 도메인으로부터 요청할 수 있게 허용하는 구조이다. SOP란 CORS 에러는 SOP라는 브라우저의 원칙으로 인해 발생한다. SOP는 Same Origin Policy로, 동일 출처가 아닌 경우 발생한다. 여기서 동일 출처는 프로토콜,호스트,포트가 동일한 경우이다. SOP가 필요한 이유 동일 출처가 아닐 경우 브라우저가 접근을 차단하는 이유는 무엇일까? 사용자가 웹사이트에 접근할 때는 브라우저의 쿠키에 로그인 세션 토큰을 남기게된다. 해당 토큰을 사용해 사용자는 매번 로그인할 필요없이 서비스를 이용할 수 있다. .. 2022. 6. 19.
N+1문제 해결법 Lazy로딩 Eager로딩 지연로딩과 즉시로딩 지연로딩과 즉시로딩을 알아보기 전에 프록시를 알아야 했다. 그래서 프록시에 대해 직접 정리한 내용을 그대로 가지고 와서 활용했다. 객체는 객체 그래프로 연관된 객체들을 탐색한다. JPA 구현체들은 이 문제를 해결하기 위해 프록시라는 기술을 사용한다. 프록시를 사용하면 연관된 객체를 처음부터 데이터베이스에서 조회하는 것이 아니라 실제 사용하는 시점에 데이터베이스에서 조회할 수 있다. 하지만 자주 함께 사용하는 객체들은 조인을 사용해서 함께 조회하는 것이 효과적이다. JPA는 즉시 로딩과 지연 로딩이라는 방법으로 둘을 모두 지원한다. 영속성 전이와 고아객체 JPA는 연관된 객체를 함께 저장하거나 함께 삭제할 수 있는 영속성 전이와 고아 객체 제거라는 편리한 기능을 제공한다. 영속성 전이:.. 2022. 6. 19.
과제 중 사용했던 개념과 어노테이션 사용법 이해 어노테이션 정말 몰랐던 어노테이션을 많이 알게 되었고, 어떻게 쓰이는지 이해하게 된 시간이었던 것 같습니다. 처음에 고민했던 많은 것들을 제쳐두고 구현에 집중하고자 일단은 구글링 또는 찾은 자료들을 무작정 때려놓고 시작해서 디버깅하여 프로젝트를 구현해나가면서 과제를 해 나아갔습니다. 물론 100% 이해했다고 확신할 수는 없지만, 계속 활용하다 보면 이해할 수 있지 않을까 생각하고 있어요. @JsonIgnore @JsonIgnore, @JsonIgnoreProperties, @JsonIgnoreType 이러한 주석은 JSON 직렬화, 역직렬화에서 속성을 무시하는 데 사용됩니다. 직렬화란?? 객체의 직렬화는 객체의 내용을 바이트 단위로 변환하여 파일 또는 네트워크를 통해서 스트림(송수신)이 가능하도록 하는 .. 2022. 6. 19.
@RequestParam이란? # @RequestParam ``` public String view(@RequestParam("id")int id) ``` 단일 HTTP 요청 파라미터를 메소드 파라미터에 넣어주는 어노테이션이다. 가져올 요청 파라미터의 이름을 @RequestParam 어노테이션의 기본값으로 지정 ``` public void view(@RequestParam(value="id", reqired=false, defaultValue="-1")int id)) ``` @RequestParam에 파라미터 이름을 지정하지 않고 Map 타입으로 선언하면 모든 요청 파라미터를 담은 맵으로 받을 수 있다. 파라미터를 선택적으로 제공하려면, required 엘리먼트를 false로 설정해주면 된다. 요청 파라미터가 존재하지 않을 때 사용할.. 2022. 6. 4.
클린코드 함수 잘 작성하는 법 함수 작게 만들어라 함수를 만드는 첫째 규칙은 ‘작게’ 다 함수를 만드는 둘째 규칙은 ‘더 작게’ 다 블록과 들여 쓰기 if문/else문 while문 등에 들어가는 블록은 한 줄 이어야 한다는 의미다. 대개 거기서 함수를 호출한다. 함수에서 들여 쓰기 수준은 1단이나 2단을 넘어서면 안 된다. 그래야 읽고, 이해하기가 쉬워진다. 한 가지만 해라 💡 함수는 한 가지를 해야 한다. 그 한 가지를 잘해야 한다. 그 한 가지만을 해야 한다. 함수 당 추상화 수준은 하나로! 위에서 아래로 코드 읽기 : 내려가기 규칙 위에서 아래로 프로그램을 읽으면 함수 추상화 수준이 한 번에 한 단계씩 낮아진다. 핵심은 짧으면서도 ‘한 가지’만 하는 함수다. Swich 문 switch 문은 작게 만들기 어렵다. 본질적으로 swi.. 2022. 6. 3.
728x90
반응형