[인프런 워밍업 클럽 스터디] BE 스터디 1기 1주차 발자국

[인프런 워밍업 클럽 스터디] BE 스터디 1기 1주차 발자국

image

 

1주가 정말 빠르게 지나간 것 같다.

지금까지 공부했던 내용들을 정리하기가 너무나 좋았다.

1주차

  • DAY 2 - 서버 개발을 위한 환경 설정 및 네트워크 기초

  • DYA 3 - 첫 HTTP API 개발

  • DAY 4 - 기본적인 데이터베이스 사용법

  • DAY 5 - 데이터베이스를 사용해 만드는 API

  • DAY 6 - 클린코드의 개념과 첫 리팩토링

DAY 2 서버 개발을 위한 환경 설정 및 네트워크 기초

어노테이션

어노테이션에 대해 대강적으로 알고 있었는데 이를 조금 더 구체적으로 공부해서 이전보다 더 알게되는 계기가 되었다.

1일차 과제

DAY 3 첫 HTTP API 개발

HTTP와 API

HTTP (Hypertext Transfer Protocol)

HTTP는 인터넷에서 데이터를 전송하기 위한 표준 프로토콜입니다. 주로 웹 브라우저와 웹 서버 간의 통신에 사용됩니다. HTTP는 클라이언트가 서버에 요청을 보내고, 서버가 클라이언트에 응답하는 방식으로 동작합니다. 주요 특징은 다음과 같습니다

  1. Stateless (무상태성): 각각의 요청은 서로 독립적이며, 이전 요청과의 상태를 유지하지 않습니다.

  2. Request-Response (요청-응답): 클라이언트가 서버에 요청을 보내고, 서버가 그에 대한 응답을 돌려줍니다.

  3. Methods (메소드): 주요 메소드에는 GET(데이터를 요청), POST(데이터를 제출), PUT(데이터를 업데이트), DELETE(데이터를 삭제) 등이 있습니다.

  4. 상태 코드 (Status Codes): 서버가 클라이언트에게 보내는 세 자리 숫자로, 요청의 성공, 실패, 리다이렉션 등을 나타냅니다 (예: 200 OK, 404 Not Found).

API (Application Programming Interface)

API는 응용 프로그램 간에 데이터를 교환하기 위한 인터페이스입니다. 주로 소프트웨어 구성 요소 간에 상호 작용하기 위해 사용됩니다. 웹 API는 이러한 인터페이스를 웹 기술에서 활용한 것입니다. 주요 특징은 다음과 같습니다

  1. 정의와 문서화: API는 사용 가능한 엔드포인트와 그들이 수행하는 작업을 정의하고 문서화합니다.

  2. 요청과 응답: 클라이언트가 API에 요청을 보내고, 서버가 해당 요청에 대한 응답을 제공합니다.

  3. RESTful API: Representational State Transfer의 약자로, HTTP를 통해 자원을 조작하는 데 사용되는 아키텍처 스타일입니다. 각 자원은 고유한 URI(Uniform Resource Identifier)를 가지며, HTTP 메소드(GET, POST, PUT, DELETE)를 통해 조작됩니다.

  4. 인증 및 권한: API는 종종 인증과 권한 부여를 통해 접근을 제어합니다.

API 개발

강의 영상을 보면서 API를 만드는 법을 복습하였고 설계를 구체적이면서 어떻게 하면 효율적으로 구현하는 지에 대해서도 배웠다.

또한 수정할 때 왜 PUT을 선호하는지에 대해서도 배웠습니다.

https://www.inflearn.com/questions/1175426/수정이라는-작업을-할-때-put을-더-사용하는-이유가-있을까요

과제 내용

  1. 두 수를 입력하면, 계산하는 API

  2. 날짜를 입력하면 요일을 출력하는 API

  3. 여러 수를 받아 총 합을 반환하는 POST API

2일차 과제

 

DAY 4 - 기본적인 데이터베이스 사용법 & DAY 5 - 데이터베이스를 사용해 만드는 API

 

MySQL

이전에는 JPA를 통해서 구현하는 하는 법은 대충 알았지만 MySQL로 하는 법은 알지 못했습니다. 비유를 하자면 리액트는 할 줄 아는 데 자바스크립트는 잘 하지 못하는? 느낌이었는데 이번 기회에 JPA를 사용하지 않고 MySQL로 하는 법을 알게되어 JPA의 원리를 조금 더 아는 기회가 되었습니다.

예외 처리

예외 처리를 하지 않았을 때 어떤 문제가 발생하였고 그 문제를 어떤식으로 해결하는 지에 대해서 알 수 있었습니다.

 

 

DAY 6 - 클린코드의 개념과 첫 리팩토링

 

Controller / Service / Repository 3단 으로 왜 분리하고 분리했을 때와 하지 않았을 때와의 차이점을 느끼면서 좋은 설계왜 그 이유를 알 수 있었습니다.

댓글을 작성해보세요.