인프런 워밍업 클럽 Backend - 1주차

인프런 워밍업 클럽 Backend - 1주차

~ 이번주 요약 ~

웹이 운영되는 구조, 웹프레임워크와 spring, HTTP와 API, 데이터베이스 구조, JPA, ORM 등 백엔드에 필요한 기초 내용 학습

 

~ 추가로 더 학습하고 익혀야 할 것들 ~

스프링 Bean - 스프링에서 관리되는 객체, 자바 클래스의 인스턴스. 스프링 컨테이너가 주체가 됨. (제어의 역전, IoC)

의존성 주입 - Bean에서 다른 Bean을 사용할 경우(의존하는 경우), 스프링 컨테이너에서 의존성을 주입해줌. 한 객체가 사용하는 다른 객체를 객체 내부에서 직접 만들지 않고, 외부에서 주입받아서 사용하는 방법. (약간 상속 같은 느낌)

스프링이 실행 될 때 컴포넌트 스캔과정을 걸쳐 Beam으로 지정된 클래스들의 객체를 모두 만들어둠. 의존성을 주입 받는 방법은 3가지가 잇는데, 생성자 주입 방식을 권장.

관계형 데이터베이스의 구조 (1:N이란 무엇인가- 하나가 여러개의 데베속성? 종류? 를 가질 수 있다는 소리같은데 맞나... , N:M은 무엇이고 어떻게 만드는가)

JPA - 자바의 객체를 관계형 DB의 테이블로, 그 반대로 변환 해주는 기능을 하는 맵핑을 해주는 라이브러리

ORM - 객체 관계 매핑, 객체지향 프로그래밍의인스턴스와 관계형 뎅터베이스를 매핑 해주는 기술, 각 테이블들이 갖는 관계까지 이용하여 DB를 좀 더 쉽게 다룰 수 있도록 기능 제공

코틀린 코드 (작성한 것과 주석, 필기로 다시 어떤 코드가 무슨기능을 하는지 익힐 필요가 있음...)

 

=> 코드가 흘러가는 전체적 흐름을 파악하여 각각의 코드가 무슨 기능을 하고, 기초 명령어를 알아야 두어야 할 것 같다...

다음주에 이번에 알듯말듯한게 확실히 잡혔으면 좋겠지만 그렇지 않다면... 주말에 시간을 추가적으로 내야할 것 같다...

 

 

 

~ 미션 ~

image

한 명의 유저는 여러개의 캐릭터를 가질 수 있다. (-> 매칭 테이블을 따로 만들어 두었다)

한 명의 유저는 캐릭터를 가질 수도 있고, 안 가질 수도 있다.

하나의 캐릭터는 여러개의 키워드를 가질 수 있다. (-> 매칭 테이블을 따로 만들어 두었다)

하나의 캐릭터는 키워드를 가질 수도 있고, 안 가질 수도 있다.

여러 캐릭터가 똑같은 키워드를 가질 수 있다. (-> 따라서 하나의 테이블로 만들어 두었다)

처음에는 유저id와 캐릭터 id로 매칭하여 PK를 하려했으나, 최소성에 어긋나기도 하고, 하나의 칼럼을 늘려도 데이터베이스의 크기에 큰 영향을 줄 것 같지않아, 두 테이블을 매칭시키는 테이블(My Character, Character Keyword)에 따로 각각 PK를 설정해두었다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

댓글을 작성해보세요.

채널톡 아이콘