![[인프런 워밍업 클럽_3기 백엔드 프로젝트]1번째 발자국](https://cdn.inflearn.com/public/files/blogs/9313d00e-c2b9-4cac-a164-66fe00d12d9a/336111.jpg)
[인프런 워밍업 클럽_3기 백엔드 프로젝트]1번째 발자국
웹은 클라이언트와 서버로 구성되어있다.
클라이언트 : 요청하는 주체
서버: 응답하는 주체 (CRUD)
데이터베이스 : 데이터의 집합
데이터베이스관리시스템:DBMS
도메인 주소: WWW.NAVER.COM
DNS서버 : 전화번호부 같은 역활
DNS서버->해당하는 IP주소를 알려줌-> IP로 다시 요청->다시 크롬으로 응답
프레임워크:틀이 정해져있음
라이브러리 : 공구상자
MVC 패턴
레이어드 아키텍쳐 : controller -> service->Repository<->db
스프링 bean과 의존성 주입(dependency lnjection)
@controller @Service @Repository
스프링 컨테이너라는 곳에서 컴포넌트 스캔으로 의존성 주입을 이용한다.
의존성 주입에는 3가지 방법이 있다
생성자 주입, 수정자, 필드 방식
필드가 깔끔하긴 하지만 생성자 주입이 안전하다
이미 들어가 있는 의존성을 다른 곳에서 쓸 수 있는 가능성이 있어서
순환참조 예방
http엔 상태코드 값이라는 것이 있다.
200~500까지 해당되는 숫자의 메시지가 다르다.
restAPI
데이터베이스
유일성과 최소성을 만족해야 하는 것 : pk
jpa 자바 orm 기술의 표준 인터페이스
트랜잭션 : 데이터베이스 작업을 하나로 묶어주는 논리적 단위입니다.
영속성 컨텍스트
jpa에서 엔티티를 관리하는 임시 메모리, 버퍼와 같은 개념.
패키지 구조
entity 자바객체들이 들어갈 패키지
<미션1 git에 프로젝트 올리기>
미션은 깃에 레퍼지토리만들기인데.
일단 인텔리제이에서
프로젝트에서 commit 이라는 단어를 누른 후
마우스 오른쪽 버튼을 눌러 addvcs를 클릭한 후 커밋을 누른다.
그 후 깃에 가서 레퍼지토리를 만들고
그 주소를복사하여 git->mange remote버튼을 클릭하여 git 주소를 입력하면 된다
상단에 git의 master라고 되어 있는 부분을 main으로 바꿔 주고
git->commit and push 버튼을 눌러주면 해당 프로젝트로 git에 업로드 된다.
강의 프로젝트의 기본 패키지 구성은
domain->constant
->entity
->repository
로 구성되어 있다.
엔티티 안에 기본 뼈대인 추상 클래스를 하나 만들고
그 클래스를 상속하는 뼈대의 테이블 구조와 같게 만든다
그리고 레퍼지토리 또한 테이블 구조와 같게 만든다.
아직 이 개념이 익숙하지 않아 무지성으로 따라하는 중이다.
코틀린에선 var라는 것을 사용하는데
분명 자바스크립트에서는 권고하지 않는다 라며 사용을 권장하지 않고 let이라는 것을 사용하도록 유도했다
근데 코틀린은 조금 다른 것인가 궁금증이 든다
그리고 내가 미처 생각하지 못했는데 난 코틀린을...해본적이 없었다
이걸 신청하고 나서 깨달았다.
물론 자바나 스프링 모든 걸 다 할 순 있지만. 해본 적 없는 것을 한다고 한 내 호기로움이 제법 무섭기도하다.
그리괴 인텔리제이에서 일대다 다대일의 매핑을 해주는
어노테이션이 있는 것이 너무 신기하고 사용하기 좋은 거 같다.
아직 제대로 한 것이 없어서 반성이나 고쳐야 할 점 보단. 일단 따라가기에 너무 급급했던 것 같다.
특히 난 이클립스를 주로 쓰고 인텔리제이는 많이 안 써봐서 낯설고 단축키에 대한 연습이 더 필요할 거 같다
그리고 git에 푸시를 할 때 처음엔 무조건 에러나고 두번째엔 되는데 이 현상 또한 왜 그런지 한 번 살펴볼 필요가
있을 거 같다.