[ 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 |