[인프런 워밍업 클럽 2기 - BE] 1주차 발자국
인프런 워밍업 클럽 2기 백엔트 과정에 참여하게 되었다. Kotlin과 Spring을 이용해서 포트폴리오 사이트를 만들어 보는 프로젝트이며 미니 프로젝트를 함께 수행한다.
이전에 코틀린이나 스프링은 사용해 본 적이 없어서 많이 걱정했는데 쉽게 설명되어 있어서 이해하기 쉬웠다.
강의
입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
• 어드민 영역 : 관리자 페이지
• 타임리프 - Thymeleaf
: 모델에 있는 데이터를 가져와서 동적으로 데이터를 뿌려서 동적인 화면을 만들어 줄 수 있도록 하는 문법
--'템플릿 엔진'의 일종. html 태그에 속성을 추가해 페이지에 동적으로 값을 추가하거나 처리할 수 있다. 스프링에서 권장한다고 함.
'템플릿 엔진' : 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어
:: 웹 템플릿 엔진은 View Code(HTML) 과 Data Logic Code(DB) 를 분리 시킴
• 부트스트랩
: 부트스트랩은 웹사이트를 쉽게 만들 수 있게 도와주는 CSS, JS 프레임워크
부트스트랩 프레임워크는 글자, 인용문, 목록, 표, 입력폼, 버튼, 이미지, 아이콘 등의 자잘한 것뿐만 아니라, 드롭다운 메뉴, 내비게이션 바, 버튼, 탭, 리스트, 페이지 이동 바, 알림 메시지, 썸네일, 진행 바 등의 웹 페이지에서 많이 쓰이는 요소를 거의 전부 내장하고 있다. 따라서 디자인 할 때 소요되는 시간을 줄여줌
• 프레임워크 VS 라이브러리 : 제어의 주도권
- 프레임워크 : 틀이 정해져 있고 그 안에서 활용해서 원하는 것 만듬
- 라이브러리 : 사용자가 주도권을 가지고 원하는 것을 만들 수 있음
※ 프레임워크 안에서도 라이브러리 사용가능
SPRING
• mvc 패턴
소프트 아키텍쳐 디자인 패턴. model, view, controller 3가지 요소가 각각 독립된 기능을 담당하고 상호작용하는 형식으로 작동
1. model
: 데이터를 담음
2. view
: 데이터를 꺼내옴. 사용자에게 보여지는 화면 담당
3. controller
: 데이터를 넣음. 요청을 받아 작업을 수행함
• 레이어드 아키텍처
처리의 과정을 구조화하는 방법 중의 하나
: Controller, Service, Repository 로 레이어를 분리하고 각각 하나의 기능 만을 담당하게 하는 것
1. Controller : 사용자와의 상호작용 담당
2. Service : 주요 로직 처리
3. Repository : 데이터베이스와 상호작용
등등 이외에도 spring bean, jpa 등의 개념을 강의를 통해서 새롭게 알게 되었다. 더 이상의 자세한 내용은 생략하도록 하겠다...
회고
이번 미션1, 미션2 와 일주일 동안의 강의 수강을 통해서 어느 정도 spring과 친해진 것 같다. 다음 주에도 열심히 들어서 좀 더 체화해야겠다. node.js 와 생각보다 다른 부분이 많아서 헷갈리고 어려운데 열심히 해야겠다. MVC 패턴에 대해서는 계속 들어보기만 하고 직접 이렇게 나눠서 개발해본 적이 없는데 이 강의에서는 그런 식으로 개발을 진행하는 것 같아서 이에 대해서 더 익힐 수 있을 것 같아 기대가 된다.
미니 프로젝트의 경우 미용실 예약 서비스로 잡았는데 아직 테이블 설계 단계이다. 핵심 기능에서 디자이너 찜 기능을 넣을 지 말지 고민 중인데 이는 진행 상황을 봐서 스터디 중에 넣거나 아니면 끝나고 추가적으로 개발할 생각이다.
* 이전에는 primary key인 id의 경우 int로 넣는 것보다 string으로 만드는 것이 더 낫다고 해서 그렇게 설계했는데 이번의 경우에는 어떻게 할지 아직 정하지 못했다. 다음주에 rest api 설계하니까 그때 같이 생각해보아야겠다.
댓글을 작성해보세요.