본문 바로가기

Server Programming/BackEnd Project

65일차 - TIL

반응형

오늘 한것

  • 운영체제 - 프로세스 간 통신, 클라이언트 서버 간 통신, 스레드
  • DB - LIMIT, SUM/AVG/COUNT/WHERE 조건절/MIN/MAX/JOIN
    • INDEX
      • 테이블 저장하는 것보다 키-필드만 저장해 효율적으로 저장하면서 테이블에 대한 동작 속도를 높이기 위한 자료구조
      • 기본키로 작성된 필드는 클러스터형 인덱스(클러스터드 인덱스)가 자동으로 생성된다
      • 유니크키로 작성된 필드는 보조 인덱스(넌클러스터드 인덱스)가 자동으로 생성된다.
    • 외래키
      • 다른 테이블의 기본키를 필드로 가지고 있으면서 데이터 정확성을 보장하기 위해 외래키 제약조건을 설정할 경우
      • 두 테이블 사이의 관계를 선언함으로써 데이터의 무결성을 보장해 주는 역할을 수행한다.
      • 외래키 제약조건은 기본값으로 수정, 삭제에 제약이 발생한다.
      • 제약 조건 설정시 함께 옵션으로 추가해 제약 조건을 바꿀 수 있다.
        • ON DELETE CASCADE
        • ON UPDATE CASCADE
  • 스프링 - 서블릿에서의 doGet과 doPost
    • API = APplication Interface로 작성한 프로그램을 개발자가 지정한 (강제적인) 규칙을 따르면
      재사용할 수 있도록 만드는 인터페이스
    • API 문서 작성 도구
      • API 문서
        • 작성한 API에 대한 정보를 작성해 프론트엔드 개발자, 다른 서버 개발자가 문서만 보고 어떻게 API를 사용할 수 있는지 데이터 전달방식을 알려주는 문서
        • POSTMAN, SWAGGER UI등이 있다
    • URL = HOST 주소+ EndPoint + 쿼리스트링
    • 쿼리스트링은 모두 SQL의 WHERE절에 해당한다. (0건 이상의 정보가 SELECT 가능)
    • HTTP 메서드 - 규칙기반 프로그래밍
      • GET 요청
        • 데이터 줘
        • 바디가 없는 요청 
      • POST 요청
        • 생성해줘 
        • 바디가 있는 요청(데이터의 설명을 위한 메타정보를 MIME타입으로 작성된 Content-Type을 명시해야 한다.)
      • PUT 요청
        • 수정해줘 
        • 바디가 있는 요청(데이터의 설명을 위한 메타정보를 MIME타입으로 작성된 Content-Type을 명시해야 한다.)
      • DELETE 요청
        • 삭제해줘
        • 바디가 없는 요청
    • 서블릿 - 클래스 단위로 동작하는 작은 서버 단위
      • URL로 요청과 응답을 수행할 경우 HTTP에 따라서 버퍼에 담겨 버퍼를 전달하는 방식으로 동작한다.
      • web.xml 재정의
        • 필터역할을 하는 배포서술자
        • server.xml을 보고 만든 서버에 요청이 들어오면 web.xml을 보고 요청에 대한 필터링을 수행한다.
        • 웹 요청을 처리하는 방법을 기술한 문서로, 요청의 URL을 해당 요청을 처리해야하는 코드에 매핑하는 역할을 수행한다.
      • WEB_INF 폴더는 보안폴더로 외부에서 접근이 불가능하다. 
      • @WebServlet (*.컨텍스트)
        • host주소 다음에 어떤 주소가 와도, 마지막에 컨텍스트 주소가 들어간다면 해당 클래스가 요청을 처리한다.
        • HttpServlet을 상속받아 작성한 클래스로,  service 메서드를 구현해 작성한다.
        • protected void service(HttpServletRequest req, HttpServeltResponse resp)
      • context-path
        • 문맥 주소로 WAS가 처리하는 프로젝트를 구분하기 위해서 사용
    • 아파치 톰캣 - HTTP를 지켜서 동작하는 WAS로 서블릿 자바 클래스 파일에 요청 정보를 파싱에서 넘겨주는 역할을 수행한다.
      • 클라이언트인 브라우저에서 요청을 받으면 JSON 데이터를 파싱해 Request 객체에 담고, Response 객체에는 클라이언트의 IP주소를 담아서 서블릿에게 전달한다.
      • 서블릿이 전달받은 객체를 처리하고, 결과를 Response 객체에 담아서 톰캣에게 돌려주면, 톰캣이 클라이언트에게 결과를 응답한다.

 

내일 할것

  • SELECT 구문 문제풀이
  • 운영체제 - 스레드와 동시성

 

반응형

'Server Programming > BackEnd Project' 카테고리의 다른 글

70일차 - TIL  (0) 2023.02.21
66일차 - TIL  (0) 2023.02.16
64일차 - TIL  (0) 2023.02.15
63일차 - TIL  (0) 2023.02.13
60일차 -TIL  (0) 2023.02.10