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

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

Day 1 : 서버 개발을 위한 환경 설정 및 네트워크 기초

스프링 프로젝트를 시작하는 방법과 네트워크, HTTP, API에 대한 개념들을 학습했다.

HTTP란 데이터를 주고 받는 표준이다. 행위와 자원은 HTTP 요청을 보내기 전에 약속해야한다.

HTTP Method는 GET, POST, PUT, DELETE가 있다.

구성은 HTTP Method, Path, Query or Body이다.

API는 정해진 약속을 하여 특정 기능을 수행하는 것이다.

 

  • 미션

     

    • 어노테이션을 사용하는 이유

    • 나만의 어노테이션을 만드는 방법

  • 제출

 

 

Day 2 : 첫 HTTP API 개발

POST API는 HTTP Body를 이용해 데이터를 받는다.

곱셈 API의 스펙은 다음과 같다.

  • HTTP Method -> POST

  • Path -> /multiply

  • HTTP Body -> {”number1”:숫자,”number2”:숫자}

  • API 반환 결과 -> 숫자

     

@PostMapping("multiply") 
public int multiplyTwonNumbers( @RequestBody CalculatorMultiplyRequest request){ 
         return request.getNumber1()* request.getNumber2(); 
}

여기서 @RequestBody는 HTTP Body에 있는 JSON 객체를 CalculatorMultiplyRequest 객체로 변환한다.

 

  • 미션

    • 제시된 API 스펙에 맞게 API 개발

  • 제출

 

 

Day 3 : 기본적인 데이터베이스 사용

Intellij에 있는 Database를 이용해 테이블을 생성했다.

Spring에서 만든 테이블을 생성하기 위해 application.properties를 생성하여 database의 url과 driver을 설정했다.

기존에 만든 사용자 저장 기능과 조회 기능을 jdbcTemplate를 이용해 database에 접근하는 로직으로 수정하였다.

jdbcTemplate.update()를 이용하였고 이는 INSERT, UPDATE, DELETE 쿼리에서 사용할 수 있다.

 

  • 미션

    • 자바의 람다식

    • 람다식과 익명 클래스간 관계

  • 제출

 

 

Day 4 : 데이터베이스를 사용해 만드는 API

jdbcTemplate.update를 이용할 때 인자로는 실행할 sql과 sql에 들어가는 값을 전달해야한다.

예를 들어 sql = "UPDATE user SET name = ? WHERE id = ?" 라면

jdbc.Template.update(sql,name,id) 가 되어야한다.

 

예외처리를 하고 싶으면 예외를 발생시켜 500 Internal Server Error이 발생할 수 있도록 한다.

 

  • 미션

    • 제시된 API 스펙에 맞게 API 개발

  • 제출

 

 

Day 5 : 클린코드의 개념과 첫 리팩토링

Controller의 기능을 Controller, Service, Repository 분리하는 리팩토링을 진행했다.

 

  • 미션

    • 제시된 코드를 클린 코드로 리팩토링

  • 제출

 


공부하면서 부족한 점들을 찾을 수 있었다. 그 중 람다식을 잘 몰랐는데 이번을 계기로 공부할 수 있었다.

이번주 빠지지 않고 강의와 과제를 했다는 점에서 다행이라고 생각하지만 아직 1주차이기 때문에 방심하지 않고 마지막까지 열심히 공부할 것이다.

댓글을 작성해보세요.

채널톡 아이콘