230503_TIL

majungha·2023년 5월 3일
1

TIL

목록 보기
46/68

앞으로의 목표 👍


  1. javascript 능력 및 고난도 알고리즘 풀이 능력
  2. Nest, Graphql등 최신 기술 스택 활용 능력
  3. 기초 미니프로젝트 포트폴리오
  4. 로그인, 결제기반 심화프로젝트 포트폴리오
  5. 배포를 위한 네트워크 및 CI/CD 배포자동화 능력
  6. 120% 백엔드 개발 지식

오늘부터 꾸준히 해야할 일 👍


  • 영타실력 늘리기
  • 단축키 사용 익숙해지기
  • 코드리딩 실력 키우기
  • 데일리 퀴즈
  • 포트폴리오 작성
  • 독스에 친숙해지기
  • MDN 보는 연습하기

오늘의 수업 👍



📝 성능테스트 도구를 활용한 무중단 배포 테스트


▷ 서버 성능 테스트

  • 배포한 서버가 클라이언트의 요청이 많은 상황에서도 잘 작동하는지 테스트하는 것이다.
  • API의 요청이 많은 상황을 가정하고, 가상의 클라이언트를 많이 만들어서 요청을 실제로 보내서 부하가 발생할 때 서버가 잘 작동하는지 어디서 오류가 발생하는지 등을 테스트한다.

▷ JMeter vs Locust

  • 성능테스트를 도와주는 프로그램 중 JMeter, Locust를 비교해보겠다.

▶ JMeter

  • 가장 먼저 출시된 성능 프레임워크 중 하나로 Java로 만들어졌다.
  • 웹 관련 어플리케이션의 부하 테스트 목적으로 만들어졌지만, 현재는 거의 모든 형태의 어플리케이션을 테스트 할 수 있다.
  • 데스크탑 프로그램이 있어서 GUI로 쉽게 사용 가능하다.
  • 대신 그만큼 무겁다. 테스트할 때 많은 메모리를 사용한다.

▶ Locust

  • Python으로 만들어졌다.

  • 파이썬으로 성능 테스트하는 스크립트를 작성할 수 있다.

  • 테스트하는 시나리오를 코딩으로 다 작성해야한다.

  • 그래서 GUI에 비해서 사용하는게 어렵지만, 코드라서 다른 사람과 공유하거나 유지 보수하기 쉽다는 장점이 있다.

  • 두가지 모두 오픈소스라서 자유롭게 사용 가능하다.

📝 CI / CD 배포 자동화


CI/CD
개발 단계부터 배포까지 자동화하는 것을 말한다.
Continuous Integration - 지속적 통합
Continuous Delivery - 지속적 제공
Continuous Deployment - 지속적 배포

  • 쿠버네티스를 사용하면서, 수정 사항이 있을 때마다 아래의 단계를 번거롭게 거쳐야했다.

    1. git add → commit → push
    2. docker-compose build
    3. docker-compose push
    4. 쿠버네티스에 접속
    5. set image로 이미지 업데이트
  • 배포를 자동화하게 되면 Git에 push 하기만 하면 그 코드를 가지고 도커가 자동으로 빌드되고 배포되기 때문에 훨씬 간단하다.

  • AI처럼 완전 자동이 아니라, 명령어 모음을 전달하면 그걸 실행해 주는 것이다.

📝 정규표현식


  • ( / / )안에 작성한다.
  • ( / / )안에 작성한 규칙이 유저가 작성한 규칙과 같은지 확인한다.
/안녕하세요/.test("안녕하세요")
=> true
/^안녕하세요$/.test("안요")
=> false
  • 비밀번호, 휴대폰번호 인증 등에 사용한다.
/\d{3}-\d{3,4}-\d{4}/.test("010-0000-0000")
true
  • \d => 숫자 한글자를 의미
  • \d? => 숫자 1개 또는 0개를 의미
  • \d{3} => 숫자 3개
/\d{3}-\d{3,4}-\d{4}/.test("010-0000-0000000000000000000")
true
  • 정규표현식은 같은가를 보는 것이 아니라 포함되는가를 보는 것이다.
/\d{3}-\d{3,4}-\d{4}$/.test("010-0000-0000000000000000000")
false
  • /\d{4}$/ => 숫자4글자로 끝나야한다.
/^\d{3}-\d{3,4}-\d{4}$/.test("01000000000000-0000-000")
false
  • /^\d{3}/ => 숫자3글자로 시작해야한다.

오늘의 마무리 👍



  • 복습
  • github 공부
  • 블로그 포스팅
  • 데일리 퀴즈
  • 알고리즘 문제 풀기

항상 겸손한 자세로 배우면서 성장하자, 할 수 있다!! 💪


출처 : 코드캠프

profile
개발자 블로그 / 항상 겸손한 자세로 배우면서 성장하자 할 수 있다!

0개의 댓글