ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [데브코스] 13,14(주말) 15일차 교육내용 정리
    TIL/교육 내용 정리 2024. 4. 22. 13:08

    백엔드 기초

    Client

    1. 사용자가 프론트엔드한테 먼저 요청함.
    2. 프론트엔드

    웹 서버

    • 정적 페이지에 대해 대응합니다.
    • 동적 페이지에 대한 처리는 직접 처리하지 않고, 웹 어플리케이션 서버에게 전달.
    • 정적페이지란 화면의 내용or데이터 등의 변동이 없는 페이지
    • 동적 페이지란, 데이터 처리or연산을 통해 화면의 내용, 데이터가 변하는 페이지.

    위 사진처럼 데이터가 업데이트 되면 바뀌는 페이지

    웹 어플리케이션 서버와 데이터베이스

    웹 어플리케이션 서버는 동적 페이지를 처리합니다. 필요한 데이터 연산을 위해 데이터 베이스와 연결되어 있으며 데이터 조회,수정,삭제에 대한 처리를 요청합니다.

    *데이터베이스란, 데이터를 통합하여 효율적으로 관리하기 위한 데이터 집합체.

    벡엔드 개발자는 API를 만듭니다.

    Application Programming Interface

    Interface

    중간에서 양쪽에 있는 친구들을 중재or매개체가 되어주는 역할.

    • GUI : Graphic User Interface =컴퓨터(프로그램)한테 명령을 내릴 때, 그래픽을 사용해서 명령을 내리는 방식
    • CLI : Command Line Interface = 명령어 문장(”줄”) 컴퓨터한테 명령을 내리는 거

    REST API? 그냥 API ?

    웹(=인터넷 망 속에 가상 공간)개발자

    = 인터넷을 돌아다니기 위한 규약을 지켜야 한다.

    = HTTP를 지켜야 한다.

    REST API 란 HTTP 규약을 잘 따른 API

    RESTful API란 HTTP 규약을 매우매우 잘 따른 API

    HTTP에 담아 보내야 하는 것들, HTTP 프로토콜 템플릿

    HEAD

    1. 통신 상태가 어떤지 알려줘요 ex)

    200 : 정상이다 400 : 클라이언트가 원하는 걸 못 찾겠다. 500 : 서버가 이상하다.

    우리는 이 숫자들을 HTTP status code 라고 부릅니다.

    1. 응답이 어떤 형태인지 적어줘요.

    ex) HTML 이다.

    BODY

    1. 전달해줄 데이터 or 화면 or,…
    2. 이 데이터 좀 줄래? + 목적

    ex)

    전체 상품을 보고 싶어 = 전체 상품 리스트 이 상품을 등록해줘 = _____ +등록

    그럼, 이거 해달라 저거해달라 요청은 어떻게 말하지?=URL

    URL이란 인터넷 상에서 웹 페이지 어디있는지 ‘위치’를 알려주는 주소 뿐만 아니라. 데이터 연산 해달라고 서버에 요청을 보내는 방법입니다. , 쉽게 말해서 웹 페이지 주소.

    ex)

    전체 상품 조회,

    상품 등록,

    전체 상품 삭제

    를 할 때도 같은 문장을 보내면 어떻게 구분을 할 건데?

    그래서

    전체상품 좋회 : http://localhost:8888 /전체 상품 조회

    상품 등록 : http://localhost:8888 /상품 등록

    전체 상품 삭제 : http://localhost:8888 /전체 상품 삭제

    URL + method 연습 1

    URL 연습 전

    http://localhost:8888/post product - 상품등록

    http://localhost:8888 **/select_all_prodcut -**전체상품조회

    http://localhost:8888/DelectAllProducts -전체상품삭제

    REST API URL 규칙

    1. 소문자 O (대문자 X)
    2. 언더바( _ ) X 대신, 하이픈( - ) O
    3. 마지막에 ( / ) 포함 X
    4. 행위를 포함하지 않는다. = 목적을 포함하지 않는다. ex) post라는 말은 method에 포함되어 있다.
    5. 파일 확장자 포함 X
    6. 복수형을 쓴다.

    규칙을 적용해보자 ( 스스로 한 것)

    method란 내부에 정의된 함수, 이러한 함수는 클래스의 특정 기능을 수행하거나 클래스의 상태를 변경할 수 있다.

    http://localhost:8888/**p-product -** 상품등록

    http://localhost:8888 **/s-all-product -**전체상품조회

    http://localhost:8888/d-all-product -전체상품삭제

    규칙을 적용해보자 ( 같이 )

    hod란 내부에 정의된 함수, 이러한 함수는 클래스의 특정 기능을 수행하거나 클래스의 상태를 변경할 수 있다.

    http://localhost:8888/product +(POST(method)) - 상품등록

    http://localhost:8888 **/products+ (GET(method)) -**전체상품조회

    http://localhost:8888/products + (DELETE(method)) -전체상품삭제

    그래서 이 API를 어떻게 사용하는 데?

    쇼핑몰 메인 페이지

    1. 쇼핑몰 메인 페이지 틀 → 전체 상품조회 API 호출 → 받은 데이터를 페이지에 뿌려주죠.
    2. 상품 클릭 → 상품 상세 페이지 틀 → 상품 1 개별 조회 → 받은 데이터를 → 틀에 맞게 뿌려준다.
    3. 상품 관리 페이지 → 전체 상품 조회 API → 데이터,….
    4. 상품 1 수정 페이지 상품 1 개별 조회 API //완료 버튼 → 상품 1 수정 API

    URL + method 연습 2

    1. 상품 전체 조회 GET http://localhost:8888/products
    2. 상품1 개별 조회 GET 1~하기엔 상품이 많으면?변수처리 http://localhost:8888/product/1 X http://localhost:8888/product/{id} O ex) http://localhost:8888/product/1 이라고 하면 id = 1이 들어가서 변수에 맞게 보여준다.
    3. 상품2 개별 조회 http://localhost:8888/product/2
    4. 상품 개별 ‘수정’ PUT http://localhost:8888/product/{id}

    REST API URL 규칙 복수형으로 표현 하면 좋은 이유

    • 상품 개별 조회 때 product : 상품보단 products 상품들 중에 id 값을 가지는 개별 데이터
    • 통일감.

    위의 내용을 API 설계 라고 함.

Designed by Tistory.