전체 글 103

SQLD 요약정리 - 식별자

취업 준비와 티스토리 임시저장이 계속 삭제돼서..써놨던 것들 계속 지워져서 늦.....었습니다... 저는 22년 47회차로 SQLD 자격증을 취득했습니다! 하지만 개인 공부 겸 & 공부하는 것을 공유할 겸 작성은 느리지만 계속 하겠습니다! 원본 링크 식별자란?? 어떤 대상을 유일하게 식별 및 구별할 수 있는 이름을 뜻한다. - 위키백과 + 왜 식별자가 필요할까?? 위에서도 말했지만 부연 설명을 해보자. 더보기 시험을 치러 갔다고 가정하자. 우리는 OMR 카드에 이름,생년월일을 입력하고 답안을 제출한다. 시험을 봤는데, 나는 가채점에서 분명히 2개 틀렸는데 35개를 틀렸다고 발표가 났다. 이름이 '김개똥'이고, 00년 1월 1일에 태어난 사람이 한 명 더 있던 것이다... 그 사람은 내 덕분에 시험 통과했..

자격증/SQLD 2022.12.19

@AuthenticationPrincipal null 값에 예외 던지기

//Controller @GetMapping public ResponseEntity findFishBreadAll(Pageable pageable, @ModelAttribute SearchCondition searchCondition, @AuthenticationPrincipal UserPrincipal principal) { return ResponseEntity.ok(fishBreadService.findBySearchCondition(principal.getUserId(), pageable, searchCondition)); } 현재 나는 @AuthenticationPrincipal을 사용해서 유저의 정보를 가져온다. 만약, 유저가 로그인 하지 않은 유저라면 principal의 값에 null이 들어..

카테고리 없음 2022.11.29

SQLD 요약 정리 - 관계

참고 : + 표시는 제가 이해한 부분을 다시 설명한 것입니다. 1.관계의 개념 관계는 DB에서 연관성이 있는 상태라고 할 수 있다. 2.관계의 표기법 ㄱ.관계명 관계명은 엔티티가 관계에 참여하는 형태를 지칭한다. 각각의 관계는 두개의 관계명을 가지고 있다. + 예를 들어 학생은 학원을 다니면 강사와 관계를 가진다고 할 수 있다. 학생은 강사에서 배우고, 강사는 학생을 가르치기 때문에 둘은 두개의 관계명을 가지고 있다고 할 수 있다. 관계가 시작되는 쪽을 관계시작점이라하고, 받는 편을 관계 끝점이라 한다. 참여자의 관점에 따라 관계 이름이 능동적이거나, 수동적으로 명명됨. 관계명의 명명 규칙 애매한 동사는 피하기. '관계된다 | 관련이 있다 | 이다 | 한다' 등은 구체적이지 않아 어떤 상태가 있는지 모름..

자격증/SQLD 2022.11.14

SQLD 요약 정리 - 속성

1. 속성의 개념 속성은 사전적으로 '성질', '특성' 으로 정의할 수 있다. Database(앞으로 DB라고 부름.)에서는 쪼갤 수 없는 최소의 데이터 단위라고 할 수있다. 학생을 예로 들으면 학생은 이름, 거주지, 성별, 주민등록번호, 생일 등이 있을 수 있다. 2. 속성값에 대한 내용과 표기법 속성은 엔티티의 구체적인 정보를 나타내고, 각각의 속성은 구체적인 값을 갖는다. ex ) 이름(정보) : 홍길동 (값) 추가로 Barker 표기법의 #은 식별자를 나타내고, 필수 값에는 * (애스태리스크) 를 추가한다. 3. 속성의 특징 엔티티와 동일 필요한 정보이고, 관리해야 하는 정보이다. 정규화 이론에 근간해 주식별자에 함수적 종속성을 가져야 한다. 하나의 속성에는 하나의 값만 가진다. 4. 속성의 분류..

자격증/SQLD 2022.11.03

SQLD 요약정리 - 엔티티

원본 위의 원본을 요약하면서 나와 다른 사람이 이해하기 편하게 (나름대로) 하기 위해 작성한 글입니다. 1. 엔티티의 개념 엔티티( Entity )는 우리나라 말로 실체, 객체라고 번역한다. Database 에서 Entity는 다음과 같이 요약할 수 있다. 사람, 물건, 사건, 개념 등 명사 관리가 필요한 관심사 저장이 되기 위한 어떠한 것 엔티티는 집합에 속하는 개체들의 특성을 설명할 수 있는 속성을 갖는다. 예를 들어서 대학교의 Database(앞으로 DB라고 부름)에는 여러가지가 존재하겠지만, 학생과 과목이라는 Entity가 있다고 해보자. 학생이라는 엔티티는 학번, 이름, 총 이수학점, 생일, 성별 등의 속성을 가질 수 있다. 과목이라는 엔티티는 과목명, 이수학점, 수강 정원 등의 속성을 가질 수..

자격증/SQLD 2022.11.03

Open API - @ArraySchema 적용이 안 됨.

이 글은 구동 원리가 아닌 문제 해결하는 하나의 방법을 제시할 뿐입니다. 이유를 알고 있거나 더 좋은 의견이 있다면 꼭 댓글 부탁드립니다 ;ㅅ; 버전 springdoc-openapi-ui : 1.6.11 springdoc-openapi-data-rest : 1.6.11 문제 상황 - 아래는 모집글(Post)의 전체 목록을 조회하려는 코드이다. 아래의 코드에서 PostSearchCondition 부분은 모집글 검색 조건을 설정하는 객체이다. PostSearchCondition 안에서 해당 컬럼들을 Open API 문서화시키고 있는데, 모집글에서 사용하는 기술 스택의 배열 부분이 아래 사진처럼 나오지 않는다. PostController @Operation(summary = "모집글 전체 목록", descri..

Open API/Swagger 2022.10.29

gradle Could not resolve placeholder '~' in value "${~}"

스터디 프로젝트를 AWS EC2에 배포할 때 계속 이런 오류가 떴다. 전문은 너무 길어서 중요한 부분만 캡쳐 이해하기 쉬운 에러 메세지이다. 'moyeo.auth.header.schema' 를 찾을 수 없는데 그걸 사용하고 있어?? ${moyeo.auth.header.schema}는 application-xx.yml (프로젝트 프로필 yml 파일)에 정의해 놓았다. 분명히 있는데 왜 계속 찾을 수 없다고 하는지 몇시간 잡아먹다가 로그를 살펴보기로 했다. 네모친 부분을 보면 기본 profile set이 없어서 default로 설정 된 프로필을 쓰겠다--라는거다. 근데 여기서 좀 의아한게 나는...프로필 환경변수를 줬지..않나??? dk............ --spring ~~ 으로 해야하는데 ...실수했..

Gradle 2022.10.28

Querydsl에서 컬럼의 존재 유무를 가져오기

현재 프로젝트하면서 본인의 글이 맞는지 유무를 판단하기 위해서 Spring Data JPA와 Querydsl을 사용하고 있는데, 스터디원 중 한 분이 selectOne을 사용해보는게 어떻냐고 의견을 줘서 selectFrom & fetchOne과 selectOne & fetchFirst를 비교하기 위해서 글을 작성합니다. 단순히 비교와 기록을 남기는 것이라 자세한 설명은 https://jojoldu.tistory.com/516 로 가셔서 보시면 될 것 같습니다. @Override public boolean existByIdAndUserIdAndPostStatusNormal(Long postId, String userId, PostStatus postStatus) { return jpaQueryFactory..

JPA/Querydsl 2022.10.24

[모든 개발자를 위한 HTTP 웹 기본] PORT

PORT란 뭘까?? 같은 IP 내에서 프로세스를 구분시켜주는 것을 말한다. 위의 이미지처럼 한 같은 IP 내에서 여러 Application을 실행했을 때 구분하기 위해서 사용하는 개념이다 예를 들어 게임을 실행했을 때 서버에 요청을 보낸다고 가정을 해보자. IP가 200.200.200.2인 서버는 게임과 화상통화의 요청을 받을 수 있다. 서버에 요청할 때 PORT번호가 없다면 이 요청이 게임에 대한 요청인지 화상통화에 대한 요청인지 구분할 수 없다. 반대로 PORT 번호를 통해서 한다면 11220번인 PORT에 요청할 때 게임서버에 연결하려는 요청인 것을 서버는 알 수 있다. 이전 게시물에서 IP 프로토콜의 한계점을 보면 https://beetr.tistory.com/69 [모든 개발자를 위한 HTTP ..

HTTP/HTTP강의 2022.09.19

[모든 개발자를 위한 HTTP 웹 기본] TCP, UDP

IP 프로토콜에서 발생되었던 문제들을 해결하기 위해서 TCP가 나타났다. ( UDP는 해결은 안 되지만 도와주는 부분이 있음) 네트워크를 공부하면 OSI 7 계층이란 것을 본 경험이 있을 것이다. TCP/ IP model에서는 그림과 같이 OSI 계층을 묶어서 4 계층으로 만들었다. 위의 그림은 이해가 안가기 때문에 아래와 같이 예시를 들게 되면 Hello라는 메시지를 보내게 되면 TCP 계층은 TCP 정보를 씌우게 되고 한 칸 내려서 IP계층으로 보내게 되고 TCP 정보를 씌운 데이터에 IP 정보를 위에 씌우게 된다. 이런 식으로 LAN 드라이버까지 내린 다음 인터넷으로 보내게 된다. **웹 개발할 때는 물론 다 배우면 좋지만 그러면 밑도 끝도 없기 때문에 IP 프로토콜까지 깊이 있게 공부하면 된다.*..

HTTP/HTTP강의 2022.09.19