본문 바로가기
스파르타 내배캠

[TIL] #16. spring 1주차 강의

by saemsaem 2024. 5. 13.


 

 [ Spring 입문주차 1주차 강의 ] 

Gradle이란 무엇일까

Gradle : build 자동화 시스템
build : 작성한 소스코드를 실행 가능한 결과물(jar) 로 만드는 것

build.gradle : gradle 기반의 빌드 스크립트 => 스크립트 작성 시 빌드와 라이브러리 관리가 가능해짐!
dependencies에서 라이브러리 관리 가능

 

SERVER란 무엇일까

네트워크 : 여러 대의 장비가 서로 연결되어 정보를 주고 받을 수 있게 도와주는 기술. 프로토콜을 사용하여 통신한다.

사용자의 요청 → 서버 → 사용자에게 돌려줌
  - 사용자 요청 시 해당 서버의 정보가 필요함.
  - 정보 = IP주소 (받는 주체 = 포트번호)

웹 서버 :
browser가 request → 요청승인, 결과를 reponse에 받아서 browser에 전송 → 웹을 그려냄

API : 다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙 [약속]

HTTP 요청을 받아들여서 사용자에게 전달하는 역할 : web server
  - 정적인 content (모두에게 같은 페이지를 보여줌) → 이미 완성되어 있음
  - 동적인 요청 → WAS에 전달 (web server에서 처리가 불가능하기 때문)

Apatche Tomcat : web server + WAS
  - 효율적인 처리를 위해
  - 정적, 동적 content 모두 처리 가능
  +) spring boot는 내장 Apatche tomcat을 가짐

 

HTTP란 무엇일까

HTTP : 데이터를 주고 받는 양식을 정의한 통신규약
통신규약 : 컴퓨터끼리 데이터를 주고 받을 때 정해둔 약속

Request = Response
 : 브라우저가 request하면 서버가 response함 → 받은 정보를 토대로 browser가 그려줌

+) status code
   1 : 요청수신O, 처리 중
   2 : 성공적 처리
   3 : client가 추가적인 행동을 해야 함
   4 : client에 오류가 있을 때 (ex. 404 error)
   5 : server에 오류가 있음

HTTP 구조
  - Header : browser가 어떤 페이지를 원하는지, 찾았는지, 어떤 형식으로 보내는지 ...
  - Payload : 응답을 보낼 때 payload를 받음 (GET 방식 제외)

 

테스트코드

동일한 경로를 가지는 것이 좋음
테스트 실행환경을 따로 가지고 있기 때문에, 메인을 가지고 있지 않아도 기능별로 테스트코드 실행 가능
Assertions.assertEqulas : 예상값과 실제 수행 결과 값이 동일한지 확인 --> 다르면 오류남

 

lombok

: 필수 메서드나 생성자를 자동으로 생성해주는 라이브러리
   @Getter, @Setter,
   @AllArgsConstructor, @NoArgsConstructor, @RequiredArgsConstructor

- annotation을 달면 자동으로 getter, setter 만들어줌
- getter, setter가 너무 많이 생기기때문에, 직접 코드로 작성하지 않고 annotation으로 관리함 - 눈에 보이지는 않지만 동일하게 사용 가능

 

application.properties

  • Main > resources 에 위치
  • spring과 관련된 설정할 때 사용
    • 자동 설정값을 쉽게 변경 가능
    • DB 연결 쉽게 가능

 

MVC란 무엇일까

Model : DB연동, 데이터 관리
View : 사용자 interface (화면, 버튼 폼 등 디자인)
Controller :  model과 view 사이 제어

spring에서 MVC란,
DispatcherServlet이 중앙에서 HTTP 요청을 처리. Front Controller 패턴으로 설계됨

Servlet : 자바를 사용하여 웹 페이지를 동적으로 생성하는 서버 프로그램

사용자가 API를 요청했을 때,
  client가 request → HTTPServletRequest, HTTPServletResponse 객체 생성 → API 요청 확인 → 어떤 servlet과 매칭되는지 찾기 → 찾은 servlet 실행 → service 메서드 실행 → 요청방식 확인 → 메서드 호출 → 반환

 

Path Variable 과 Request Param

browser에서 서버로 http요청을 보낼 때 데이터를 함께 보낼 수 있음. 서버는 이러한 데이터를 받아서 사용해야 함. ⇒ 데이터를 보내는 방식을 알아야 함!!

 - path variable : 서버에 보내려고 하는 데이터를 URL 경로에 추가
 - request param : 파라미터 이름으로 바인딩

 

'스파르타 내배캠' 카테고리의 다른 글

[TIL] #18. spring 2주차 강의  (0) 2024.05.17
[TIL] #17. UseCase Diagram, ERD  (0) 2024.05.14
[TIL] #15. KPT 회고  (0) 2024.05.10
[TIL] #14. SQL  (0) 2024.05.09
[TIL] #13. Class  (0) 2024.05.08