[인프런 워밍업 클럽 1기/BE] 첫번째 발자국

[인프런 워밍업 클럽 1기/BE] 첫번째 발자국

Section 1 - 생애 최초 API 만들기

 

Java를 공부하기 전에 알아두면 좋을 것들 #1 #2

  • JVM: 자바 가상 머신, 컴파일된 코드를 읽고 실행

  • JDK: JVM을 포함해 자바 컴파일러(javac), 자바 실행 도구, 라이브러리 등 다양한 개발 도구 제공

 

HTTP, API

  • HTTP(Hypertext Transfer Protocol): 웹 브라우저가 웹 페이지를 요청하고 서버가 그에 대한 응답을 주는 기본적인 통신 규약

  • API(Application Programming Interface): 소프트웨어 간의 상호작용을 위한 인터페이스를 제공

  • 정리

    • 컴퓨터간의 통신은 HTTP라는 표준화된 방식

    • HTTP 요청은 HTTP Method (GET, POST)와 Path (/portion) 가 핵심

    • 요청에서 데이터를 전달하기 위한 2가지 방법은 쿼리와 바디

    • HTTP 응답은 상태 코드가 핵심

    • 클라이언트와 서버는 HTTP를 주고 받으며 기능을 동작하는데 이때 정해진 규칙을 API

GET API, POST API

  • GET API는 쿼리로, POST API는 바디에 담아 보냄.(무조건은아님)

  • DTO를 만들어서 구현가능 이경우 @RequestParam 제거 !

  • 과제 2일차

 

Section 2 - 생애 최초 Database 조작하기

DB

DB 없이 만들면 메모리에만 저장됨 => 데이터가 다날아감

DB => 데이터를 구조화 시켜 저장

 

MySQL 연동

  • application.yml 만들기

    image

    JdbcTemplate 사용

    image

  • 직접 sql을 연동하지 않고 JPA만 사용했던 경험이 있다.

  • sql 쿼리를 직접 사용해서 db에 접근가능함도 알음

     

     

    Section 3 - 역할 분리

     

    클린코드

    • 코드만 보고 의미 파악할 수 있게 함

    • 함수는 최대한 작게 만들고 한 가지 일만 수행

    • 클래스는 작아야 하고 하나의 책임만 가져야 함

    • 유지보수도 좋음

Controller 3단 분리

  • Controller 역할 - API의 진입 지점으로써 HTTP Body를 객체로 변환

  • Service 역할 - 현재 유저가 있는지, 없는지 등을 확인하고 예외 처리(메인 로직 수행)

  • Repository 역할 - SQL을 사용해 실제 DB와의 통신을 담당

    image

  • Layered Architecture

 


1주차 회고

  • 스터디 시작전 모든 미션과 과제를 수행하고자 했는데 첫번째 과제부터 놓쳐버렸다... 남은 것들은 꼭 다하겠다.

  • 오랜만에 스프링을 다시 하는데 당시에 바로 jpa를 바로 사용해서 db랑 연동을 했었는데 쿼리로 연동하는 것도 알게 되었음. 기초가 중요하다.

  • Java에 아직 덜 익숙함도 느꼈음. Java 다형성 부분에 대해서 다시 복습해야겠다.

  • 남은 스터디 기간에도 집중해서 꼭 많은 것을 얻어가는 시간이 되어야겠다.

댓글을 작성해보세요.