[TIL] 20241105

ekkkyo_j·2024년 11월 25일

[내배캠 Java 6기] TIL

목록 보기
38/38

1. Gradle

빌드(Build) 자동화 시스템
빌드란? 작성한 Java 코드를 실행 가능한 형태로 만드는 과정
=> Gradle은 내가 작성한 자바 코드을 실행 가능한 jar 파일로 만들어준다.

2. build.gradle

gradle 기반 빌드 스크립트
=> 소스 코드를 빌드하고 외부 라이브러리들(필요한 기능들이 모여있는 코드 묶음)의 의존성을 관리할 수 있다.

라이브러리들을 모아둔 저장소: Maven Repository

3. 네트워크

여러 대의 컴퓨터 또는 장비가 연결돼서 정보를 주고 받게 해주는 기술
라우터, 허브 등의 장비
서로 정보를 주고 받기 위해서는 IP 주소, 서브넷 마스크, 게이트웨이 등의 정보를 설정하고 네트워크 프로토콜을 이용해서 통신

왜 알아야하나? 사용자가 요청했을 때 해당 요청에 대한 응답을 수행하는 프로그램을 만드는 것이 서버 개발자

3-1. Client vs Server

Client: 서버에 정보를 요청하는 과정
Server: 클라이언트에서 온 요청을 처리하여 응답하는 과정

어디에 보낼꺼냐? IP 주소

3-2. 웹 서버

인터넷을 통해 Http를 이용해 웹 클라이언트의 요청에 응답해주는 컴퓨터.

3-2-1. 동작 원리

  1. 브라우저(크롬)을 통해 Http Request를 웹서버에 보냄.
  2. 웹서버는 요청을 승인하고 Http Response를 통해 웹사이트 데이터를 브라우저에 보냄.
  3. 브라우저는 웹서버에서 받은 웹사이트 정보를 가지고 웹사이트를 브라우저에 그려냄
    => 보통 GET method

4. API

운영체제와 응용프로그램 사이의 통신에 사용되는 언어나 메세지 형식
application programming interface
다른 소프트웨어 시스템과 통신하기 위해 따라하는 규칙을 정의.

개발자는 다른 애플리케이션이 프로그래밍 방식으로 애플리케이션과 통신할 수 있도록 API를 표시하거나 생성한다. "약속"

4-1. RESTful API

REST 아키텍쳐 스타일을 따르는 API

고유 리소스 식별자:
- URI(Uniform Resource Identifier): 인터넷 상에 존재하는 자원을 식별하는 식별자
- URL(Uniform Resource Locater): 인터넷 상에 존재하는 자원의 위치(ex) 웹사이트 주소), 요청의 엔드포인트
- URN(Uniform Resource Name): 인터넷 상에 존재하는 자원의 이름

REST 서비스의 경우 URL을 사용해서 리소스를 식별한다.

메서드:
HTTP(Hypertext Transfer Protocol)를 통해 RESTful API를 구현.
HTTP 메서드는 리소스에 수행해야하는 작업을 서버에 알려준다.

GET
: 클라이언트는 GET 요청으로 URL의 자원에 접근.

POST
: 클라이언트는 POST 요청으로 URL에 데이터를 전송.

PUT/PATCH
: 클라이언트는 PUT을 사용해서 URL에 있는 기존의 리소스 전체 업데이트.
클라이언트는 PATCH를 사용해서 URL에 있는 기존의 리소스 부분 업데이트.

DELETE
: 클라이언트는 DELETE를 사용해서 URL에 있는 리소스 삭제.

5. Apache Tomcat

5-1. Web Server vs Web Application Server

Web Server
: 브라우저에 URL을 입력해서 페이지를 요청했을 때 Http Request를 승인해 HTML 문서와 같은 정적 컨텐츠를 사용자에게 전달해준다.
ex) Apache, Nginx

Web Application Server
: 로그인해서 내 페이지가기와 같은 동적인 요청이 들어왔을 때, 웹서버가 처리하기엔 어렵다. Web Application Server에 해당 요청을 전달한다.
ex) Tomcat, JBoss

  • HTTP 기반으로 작용
  • 웹서버가 할 수 있는거 거의 다 가능

그래서 Apache Tomcat은?

Apache와 Tomcat이 합쳐진 형태 => 정적, 동적 데이터 처리를 해줌!

6. SpringBoot와 Spring

SpringBoot에서는

  • xml 설정 필요X
  • spring-boot-starter-web으로 외부 라이브러리와 프레임워크 버전 호환성을 맞춰줌
  • 내장 Apache Tomcat 생김
profile
게으르지만 성실히 공부하기^_^

0개의 댓글