인프런 워밍업 클럽 3기 :: 백엔드 프로젝트 1주차 발자국

인프런 워밍업 클럽 3기 :: 백엔드 프로젝트 1주차 발자국

25년 신년 계획을 세우면서 협업에서 사용 중인 기술 스택의 기초를 좀 더 다지고 싶어 인프런 워밍업 클럽 3기에 참여하게 되었습니다.


강의

입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기

https://inf.run/WM5mW


이론

 웹 서비스 구성 요소

  • 클라이언트, 서버, 데이터베이스

우리가 사용할 Kotlin이나 Java는 Spring 프레임워크 사용

Spring Framework

  • MVC패턴

  • 레이어드 아키텍처

스프링 Bean과 의존성 주입

  • 생성자

  • 수정자

  • 필드

HTTP와 REST API

  • HTTP 요청 메서드 - GET, POST, PUT, PATCH, DELETE

  • HTTP 상태 코드 - 200 (OK), 300 (Multiple Choices), 400 (Bad Request), 500 (Internal Server Error)

  • REST API 핵심 - URL 이용한 자원 표현, HTTP 메서드를 이용한 행위 표현, HATEOAS 준수


데이터베이스?

관계형 데이터베이스 : 행과 열로 이루어진 표의 형태로 저장 (Oracle, MySQL, PostgreSQL)

비관계형 데이터베이스 : MongoDB, Redis

JPA?

자바 ORM 표준 기술로 객체지향적 관점에서 접근 가능하며 의존성이 줄어듭니다.

하지만, 충분한 학습이 필요하며 모든 쿼리 기능을 구현하기에는 한계가 있습니다.

트랜잭션? 여러 개의 데이터베이스 작업을 하나로 묶어주는 논리적인 단위

영속성 컨텍스트? JPA에서 엔티티를 관리하는 임시 메모리, 버퍼와 같은 개념

 


실습 / 미션

[실습]

초기 세팅부터 프로젝트 생성을 어떻게 하는 지에 대해 알고 포트폴리오라는 프로젝트의 뼈대를 만들어갈 수 있었습니다.

Github 내 해당 프로젝트의 레퍼지토리를 생성하고 인텔리제이에서 Github와 연동하여 개발 소스를 commit, push하는 작업의 기초를 배웠습니다.

프로젝트 개발에 앞서 기본적인 세팅이 필요로 했는데 Domain 패키지 내 constant, entity, repository 패키지를 만들어 각각 역할에 맞게 분리하여 기본 작성을 하였으며 각각의 엔티티 개발을 진행하여 본격 개발을 앞선 작업을 하는 1주차 실습이었습니다.

 

[미션]

  1. Github 레퍼지토리 생성

  2. 1:N 테이블 설계

포트폴리오 프로젝트를 위한 레퍼지토리를 생성하는 간단한 미션이라 어렵지 않게 마무리 했습니다.

일대 다 구조로 관계형 데이터베이스를 만들어야 하는데 기본적으로 많은 예제로 쓰이며 좋은 예제이기도 한 수강신청을 생각해보긴 했습니다.

아직 설계가 끝나지 않아 이는 좀 더 고민해보고 괜찮은 구조의 설계를 해보고자 합니다.

 


회고

일이 바빠 1주차부터 헐레벌떡 따라가기 바빴지만 주말을 활용하여 최대한 열심히 임해보고자 합니다!

목표는 끝까지 마무리하여 전반적인 흐름을 다시 잡기 위함이니 더 열심히 노력해야겠습니다.

1주차에서는 기본 개념 및 프로젝트 생성 및 초기 세팅 관련 내용을 알아볼 수 있는 시간이었는데 평소 개인 프로젝트 외엔 이를 할 일이 없어 다시금 초기 작업을 어떻게 하는 지를 한 번 더 잡고 갈 수 있는 계기가 되었습니다.

2주차엔 조금씩 깊숙한 내용으로 들어가기 위해 부지런히 강의 듣고 실습을 하도록 해야겠습니다.

 

댓글을 작성해보세요.

채널톡 아이콘