목록2024/08 (7)
쌓고 쌓다
최종 목표는 다음과 같은 API 응답을 만들어내는 것이다. 게시글과 태그 기능을 만들고자 한다.게시글과 태그는 N:M 관계이지만중간에 poster_tag라는 테이블을 만들어1:N과 M:1 관계로 풀어서 다음과 같은 관계를 갖는 테이블을 만들어서 관리하고자 한다. poster과 poster_tag는 1:N 관계이다.poster_tag과 tag는 M:1 관계이다. 먼저 복합키 연관관계를 매핑해보자.복합키 연관관계 매핑복합키 : 두개 이상의 컬럼을 묶어 기본 키로 사용하는 것이다. 다음과 같은 테이블을 JPA로 복합키를 설정해보자!+---------------------+ +---------------------+ +---------------------+| poster ..
테스트 코드를 작성하며 Getter를 이용해 .get 메서드를 통해 개수나 엔티티를 조회할때@OneToMany, @ManyToOne과 같은 연관 관계를 맺은 엔티티를 조회하고자할때조회가 되지 않는 경우를 자주 겪었었다. 아마 이 글을 검색해서 들어온 여러분들도...테스트 코드에서 왜 연관 관계 매핑을 제대로 했는데 원하는대로 테스트를 통과하지 못할까싶어서 들어왔을 것 같다. 간단하게 이해를 돕기위해 다음과 같은 예시 테스트 코드를 작성했다.한번 읽어보자! 상황 파악!member(회원)을 저장하고member(회원)이 poster(게시글)를 작성한 상황이다.이때 회원이 작성한 게시글의 개수를 조회하고자 한다.@Test@DisplayName("예시")void test1() { // 회원 저장 Mem..
이전에 잘만 서버에서 처리하던 업로드 요청이...도메인을 구입하여 서버와 연결한 이후에파일 업로드 기능을 수행했더니 ... 다음과 같은 상황이 발생했다.빨간색으로 에러가 팡팡~ 서버에서 처리하지 못하는 에러는 아니다.CORS error, preflight 그게 뭔데~~! OPTIONS 메서드는 뭔데~~! 출처에 따른 리소스 공유브라우저는 SOP(Standard Operating Procedures) 정책을 따른다.그 정책중에 "같은 출처에서만 리소스를 공유할 수 있다"가 있다. 출처에 따른 리소스 공유가 무엇일까? 내가 만든 웹이 a.com이라고하자.a.com에서 업로드된 이미지 파일을 가져오기위해서 a.com에 이미지 파일을 요청할 수 있다.이때 a.com에서 a.com으로 요청을 했다. 이것이 같은..
https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이 방법우선 경기 결과로 확실하게 순위를 알 수 있는 경우는 다음과 같다. 사람이 N명일때나를 이긴 사람들 수와 나에게 진 사람들의 수가 N-1일때, 나의 순위는 (나를 이긴 사람들 수 + 1)위 이다. 그런데 여기서 더 생각해볼 수 있는 부분은 다음과 같다.나를 이긴 사람들 (간접적으로 이긴 사람들이다.)내가 진 사람들을 이긴 사람들 또한 나를 이긴 사람들이다.내가 진 사람을 이겼다는것은 나를 이..
외부 서버에서 구글 OAuth2 로그인을 위해서redirect-uri를 localhost뿐만아니라 외부 서버 주소를 등록하려고 했더니..구글의 리디렉션 URI는 도메인 형식으로만 가능하다고 한다...localhost는 도메인 형식이 아니라도 허용해둔 것 같다...그래서~~ 도메인을 연결해보기로 한다. 가비아에서 도메인을 구매했는데 구매 후 즉시 구매한 도메인 관리가 탭은 안뜨고 5~10분 후에 뜬다.왜 결제했는데 바로 안뜨나 했다. DNS 설정에 위와 같이 호스트에 www, @를 넣고 값/위치는 서버 IP 주소를 넣어주자.여기에 계속 123.456:8080과 같이 포트도 넣으려 했는데 포트는 들어가지 않기에 나중에 포트 포워딩도 해주어야한다.그러니 서버 IP 주소만 넣어주자.호스트에 @는 www.test..
PC버전에서는 웹 에디터에 정상적으로 텍스트가 입력이 되었지만모바일 환경에서 텍스트 입력시 띄어쓰기 이후로 자음 모음이 분리되는 현상이 일어났다.Expect :가 나 다 라 Result :가 ㄴㅏ https://github.com/ckeditor/ckeditor5/pull/16755 Fix: composition breaks typing a Korean after space key on Android Chrome by Johnyworld · Pull Request #16755 · ckeditor/ckediThis issue still exists after version 42.0.1. Issue typing Korean after two space characters #11569 Composition ..
현재 CKEditor5를 사용해서 게시글의 텍스트 중간중간에 이미지 파일을 출력하고 있다. 이러한 방식의 게시글을 위해서는 사용자가 이미지 파일 업로드시에서버에서 업로드한 이미지파일을 저장하고 그 URL 경로를 통해서 게시글의 중간에 이미지 파일을 출력할 수 있다. 그런데 바로 이미지 파일을 바로 업로드 해버리면 다음과 같은 문제가 발생한다. 문제게시글 작성(수정)중에 나가버리는 경우 업로드한 파일은 쓰레기가 된다. 그래서 다음과 같은 구현 방법을 고민해야한다.게시글 작성(수정)중에 나가버리는 경우 업로드된 파일은 어떻게 관리할 것인가?게시글 수정하여 지워버린 이미지 파일은 어떻게 관리할 것인가? 해결 방법이미지 파일 업로드시에 게시글과의 연관관계는 우선 NULL로 맺어놓는다.이미지 파일의 저장 정보는..