TIL 04

김지우·2022년 11월 4일
0

TIL

목록 보기
4/16
post-thumbnail

TD: review

코딩을 배우기 전 서버에 관해 이야기를 하면 그저 사용자의 데이터를 서버에 저장하는 수준으로 매우 간단한 기능이라고 생각했었다.

하지만 서버에 대해서 이론을 배우며 직접 그 기능들을 실행하고 만들어보면 볼수록 신기하면서도 하나하나 매우 정교하게 코드를 짜야 한다는 걸 알게 되었다.

오늘은 서버에 가동에 필요한 프로그램들을 설치한 뒤에 Rest-API를 만들고 postman 으로 확인했으며 Rest-API docs를 만들고 swagger로 확인까지 해보았다.


Server

  • Server: 서버란?
    서버는 사용자에게 네트워크를 통해 정보나 기능을 제공하는 컴퓨터 시스템으로 프로그램이나 장치를 의미한다.

  • Server 컴퓨터의 구조
    서버 컴퓨터의 구조는 일반적인 컴퓨터와 크게 다르지 않으며, 많은 사용자에 데이터를 처리하기 위해 고성능을 갖춘것 뿐이다.
    고성능 컴퓨터라고 해도 데이터 수용량의 한계는 분명히 있으므로, 환경에 따라 여러 대의 서버(컴퓨터)를 증축하고 분산 처리를 한다.

Sever 프로그램의 종류와 기능

  • 브라우저
    웹 환경에서는 브라우저가 사용자의 역할을 한다.
    주소에 어떤 도메인이나 컴퓨터 주소를 치면 해당 컴퓨터(서버)가 요청에 대한 응답을 하는데 이때 보통은 프론트 서버와 백엔드 서버로 나눠진다.
  • 프론트엔드
    프론트 서버는 어떤 주소에 대한 요청을 보냈을 때, markup language (html, css)를 보내줘서 사용자에게 GUI 환경을 제공해준다.
    → react, next, styled component, redux 등
  • 백엔드
    백엔드 서버는 프론트 서버와 통신하는 컴퓨터로도 볼 수 있는데, 사용자가 프론트 서버에서 어떤 동작을 하였을 때, 사용자 정보나 데이터에 접근하는 것을 가능하게 해준다.
    → DB, express, react API(통신방식) 등등

출처 : https://velog.io/@leyuri/프론트-서버와-벡엔드-서버의-의미


Port

  • Port: 포트란?
    네트워크를 통해 데이터를 주고받는 프로세스를 식별하기 위해 호스트 내부적으로 프로세스가 할당받는 고유한 값이다.
  • Port의 특징
    포트의 범위 : 0 ~ 65535
    포트 번호는 하나의 컴퓨터 안에서 겹치지 않게 해야 한다.

백엔드, 프론트엔드 서버 프로그램은 보통 3000을 사용하며, 데이터베이스 서버 프로그램은 3306을 사용한다.

예시
하나의 컴퓨터로 프론트엔드 백엔드 데이터베이스 서버 프로그램을 실행시킬 경우,
Node index.js(백엔드)의 포트 번호 3000

Yarn dev(프론트엔드) 의 포트 번호 3001

데이터베이스 서버 프로그램(더블클릭 실행) 포트 번호 3306
으로 지정하여 사용할 수 있다.

요즘엔 각 사용자의 사용빈도에 맞게 프로그램(컴퓨터)를 추가하여 사용하고 있다.


nodemon

  • nodemon: 코드를 수정할 때 마다 서버를 자동으로 재시작해주는 프로그램
  • nodemon 사용 방법
  1. 터미널의 경로가 본인이 nodemon을 설치하고자 하는 폴더에 위치해 있는지 확인

  2. 터미널에 명령어 ls를 입력해 현재 위치에 package.json 파일이 있는 것 또한 확인

  3. 터미널에 명령어 yarn add nodemon 실행

  4. package.json 파일에 scripts 부분을 작성
    예시: "scripts": { "start:dev": "nodemon index.js" }


    postman

    API 개발을 보다 빠르고 쉽게 구현 할 수 있도록 도와주며, 개발된 API를 테스트하여 문서화 또는 공유 할 수 있도록 도와 주는 플랫폼이다.

    Postman은 모든 API 개발자를 위해서 다양한 기능을 제공한다.

    변수 및 환경, request 설명, 테스트 및 사전 요청에 필요한 스크립트 작성 등 POSTMAN은 현재 워크 플로우를 더 효율적으로 만들 수 있도록 고안되었다.


    swagger

    Swagger는 간단한 설정으로 프로젝트에서 지정한 URL들을 HTML화면으로 확인할 수 있게 해주는 프로젝트이다.

profile
백엔드 성장 기록

0개의 댓글