220502_TIL

적자생존·2022년 5월 2일
0

TIL

목록 보기
32/35
post-thumbnail

오늘의 목표
1. 배포를 위한 전체적인 그림 그리기
2. 테스트코드

  1. 배포

배포란?
세상에 공개하기

옛날 배포방식
백엔드, 프론트엔드, 디비 모두 배포

요즘 배포방식

접속량이 많아지면 메모리가 부족해짐
빨리빨리 일처리 하냐 CPU

그래서 컴퓨터를 새로 구매해서 트래픽을 분산시킴
하지만 이런 방식은 컴퓨터를 계속 늘려야 한다는 제한이 생김

그래서 컴퓨터가 엄청 많은 회사가 생김
클라우드 서비스 회사
ex) amazone, google, MS 등등

빌리는 방식
옵션 선택
ex) 램 몇기가, cpu무엇 등등 선택
빌리기 버튼 누르면 터미널 열고 명령어 입력

이때는 터미널을 종료해도 yarn dev가 종료되지 않음
이런 회사를 클라우드프로바이더라고 함

GCP
컴퓨터 엔진 -> VM인스턴스
컴퓨터 켜기 SSH켜서 입력하고 끄고 싶으면 :버트 눌러서 중지하기

물리적 거리가 멀수록 핑속도가 느리다
이거 측정하려면 GCPing으로 가서 테스트해보면 된다

VPC네트워크 - 방화벽
접속을 하게 하려면 방화벽을 해제해야됨

부분적으로 해제 할 수도 있음

DNS
컴퓨터 숫자 주소를 영어로 바꿔주는 것
즉 컴퓨터 숫자 주소를 연결시켜주는 것

트래픽이 늘어나면?

메모리가 가득차면 프로그램이 자동으로 종료됨

그러면
HTML,CSS,JS를 파일(정적파일)로 따로 만들어두고
스토리지(이미지등 파일 저장하는 대용량저장소)에 정적파일들을 올려두면
구글에서 관리하기 때문에 걱정없고
브라우저에서는 스토리지에 접속해서 html, css, js를 다운로드함(Static-file- serving)
이런거에는 NginX, Apache도 있음

모든 파일이 이렇게 되면 굳이 yarn dev 이 난리 필 이유가 없음
근데 왜 이러냐?
SSR때문에 그럼

스토리지에 올리는 것은 무한트래픽을 받을 수 있어 유리함

Load Balancer
부하 분산기를 이용해서 SSR페이지면 front back db back front br로 보내고
ssr페이지가 아니면(SSG) 그냥 스토리지로 보내면 된다.
ssg static site generation

즉 ssr페이지를 관리해줘야 함

  1. 테스트 코드

다 만들고 에러까지 다 해서 배포하고 나중에 업데이트 하면서 기능 추가하면 없던에러가 또 발생할 수 있음

그래서 에러를 고쳤음

근데 다른 에러가 발생할지도 모름

그래서 이 기능을 검증하는 코드를 만들어 줘야됨
이를 테스트 코드라고 함

단점
일이 두배
장점
사람이 클릭하는 것 행동하는것 다 만들어 둬서 해놓고 나면 재사용을 하면서 기능이 동작하는지 알 수 있음

테스트 코드 작성 타이밍??

방법
1. 규모큰 프로젝트 - 기능+테스트코드 -배포
2. 규모 작은 프로젝트 - 1차 기능 - 배포
업그레이드 2차 기능 준비 하면서 1차기능에 대한 테스트코드 작성

마우스클릭 테스트

버튼 클리과 같은 개별 기능 단위테스트
여러 기능 한꺼번에 통합테스트
접속해서 로그인하고 구매하는 등 시나리오있는 E2E테스트(end to end)

JEST라는 프레임워크를 이용하면 됨

e2e 할때 Cypress
단일 테스트는 JEST로 씀

eslint랑 jest랑 같이 쓰게 해줘야됨
eslint plugin-jest - eslintrc- plugins에 추가

TDD
테스트 먼저 만들고 기능만들기

profile
적는 자만이 생존한다.

0개의 댓글

관련 채용 정보