양방향순환참조에러, Stackoverflow: null 에러내용 미니프로젝트 중 comment를 등록하면 로그에 stackoverflow: null이라는 메시지와 함께 무한 로그가 출력되며 서버가 터졌다. 로그에는 post["comment"] -> comment -> member -> post["comment"] 이런식으로 찍혀있어 무한 순환참조가 일어나는 듯 했다. 원인 JPA에서 양방향으로 연결된 entity를 JSON형태로 직렬화하는 과정에서 서로의 정보를 계속해서 순환하여 참조하여 stackoverflow가 발생한 것이다. Spring Boot는 @ResponseBody(rest api)를 구현할 시 Object를 JSON 형태로 변환하기 위해 Jackson 라이브러리를 이용하는데, Jackson..
keyword : Security class : CS CORS란? 위의 그림의 CORS policy 오류 메시지는 CORS 정책을 위반할 때 발생하게 됩니다. CORS는 Cross-Origin Resource Sharing의 약자입니다. 교차 출처 리소스 공유로 번역될 수 있는데, 브라우저에서 다른 출처의 리소스를 공유하는 방법입니다. URL 구조 다른 출처의 출처가 무엇인지 살펴봐야 하는데, 출처가 무엇인지 알기 위해서 먼저 URL의 구조를 살펴보아야 합니다. URL 구조는 아래 그림과 같습니다. 프로토콜의 HTTP는 80번, HTTPS는 443번 포트를 사용하는데, 80번과 443번 포트는 생략이 가능합니다. 출처(Origin)란? 출처(Origin)란 URL 구조에서 살펴본 Protocal, Hos..
1. 다형성이란? 부모-자식 상속 관계에 있는 클래스에서 상위 클래스가 동일한 메시지로 하위 클래스들을 서로 다르게 동작시키는 객체 지향 원리입니다. 다형성을 활용하면부모 클래스가 자식 클래스의 동작 방식을 알수 없어도 오버라이딩을 통해 자식 클래스를 접근할 수 있습니다. 그렇다면 어떻게 부모가 자식이 어떤 일을 하는 지 몰라도, 자식 멤버 함수를 호출시킬 수 있을 까요? 이유는 동적 바인딩 때문입니다. 동적바인딩이란, 메서드가 실행 시점에서 성격이 결정되는 바인딩인데요. 프로그램의 컴파일 시점에 부모 클래스는 자신의 멤버 함수밖에 접근할 수 없으나,실행 시점에 동적 바인딩이 일어나 부모클래스가 자식 클래스의 멤버함수를 접근하여 실행할 수 있습니다. 2. 다형성 장점 간편한 유지보수 개발자가 여러 객체를..
💬 기본적으로 SourceTree를 기준으로 설명합니다. Commit으로 버전관리 하기 프로젝트 만들기(영어로 특수문자 없이, 단어 연결시 -, _ 사용) 프로젝트를 Git이 관리하는 폴더로 만들기(깃 초기화, git initialize) New Tab Create 경로설정, 이름, 유형(Git) 설정, 원격저장소생성체크X 생성하기 폴더에 .git 생김(숨김파일) 커밋하기 커밋 누르기 스테이지에 올리기 커밋메시지 작성 후 커밋 Git프로젝트 없애는 방법 .git 파일 삭제 원격 repo 사용하기 로컬 repo -> 원격 repo : push 원격 repo -> 로컬 repo : pull 원격 repo에 있는 것을 로컬에 단순히 다운로드하는 개념 : 클론(clone) 충돌 최소화 꿀팁! Pull, Comm..
IoC(Inversion of Control) IoC(Inversion of Control)를 해석하면 제어의 역전입니다. 쉽게 말해 객체를 개발자 본인이 제어하는 것이 아닌 스프링 컨테이너에게 제어권이 넘어가는 것을 뜻합니다. 아래는 일반적으로 자바에서 객체를 생성하여 객체를 제어하는 코드입니다. class ClassA { } class ClassB{ private ClassA a; ClassB() { this.a = new ClassA(); } } 보시다시피 개발자 본인이 new 연산자를 통해 직접 객체를 생성하고 변수에 할당해줘야 하는 방식입니다. 스프링의 경우 어떨까요? 아래코드는 스프링에서의 객체 할당 방식입니다. @Component class ClassA { } class ClassB{ @Au..
- Total
- Today
- Yesterday
- SQLD
- 자바
- 알고리즘
- 정렬
- SQL
- 스프링부트
- 이분탐색
- 자바트리
- 자바dp
- 프로그래머스
- Comparator
- JavaScript
- CS
- JPA
- Queue
- java
- Spring
- 형변환
- 타입스크립트
- 스프링
- Algorithm
- 자바스크립트
- 리액트
- DP
- BFS
- dfs
- Nest
- 백준
- 해시맵
- 자바bfs
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |