20240320

귤금·2024년 3월 20일

Node.js 4기 TIL

목록 보기
60/86

Today?

챌린지반 수업 : 주니어 개발자가 된다는 것

커뮤니케이션의 종류

  1. 회의
    • 아젠다와 흐름을 파악하려고 노력을 하자.
    • 많이 얘기를 하지 않더라도 간간히 의견을 내면서 내가 열심히 한다는 걸 느끼게 해 주자...
  2. 질문
    • 적극적으로 하되, 질문한 건 잘 기록해서 두 번 물어보지 않게 하자.
  3. 잡담
    • 너무 공격적인 어투만 아니면 괜찮음...
  4. 담배타임...?

커뮤니케이션의 중요성

취업

내 관심사와 내가 하고자 하는 일이 어느 정도 정렬이 되어야 하고
프로그래밍이라는 기술을 통해 이를 현실화하며 즐거움을 느끼며 살아간다.


팀과제 : 트릴로

알람 기능 구현

웹 소켓

웹소켓(WebSocket)에 대해서

  1. 웹소켓이란?
    • 웹 애플리케이션에서 양방향 통신을 가능하게 하는 프로토콜. HTTP와 마찬가지로 웹을 통해 데이터를 전송하지만, HTTP와 달리 웹 소켓은 지속적인 연결을 유지하고 실시간 데이터를 교환할 수 있다.
  2. 웹 소켓의 주요 특징
    • 양방향 통신: 웹 소켓은 클라이언트와 서버 간에 양방향 통신을 지원한다. 이는 클라이언트와 서버가 독립적으로 데이터를 보내고 받을 수 있음을 의미함
    • 실시간 통신: HTTP와 달리 웹 소켓은 연결을 유지하고 있어서, 서버에서 발생하는 변경 사항을 실시간으로 클라이언트에게 전달할 수 있다. 이러한 특성은 채팅 애플리케이션, 실시간 게임, 주식 시장 데이터 스트리밍 등에 유용하다.
    • 낮은 오버헤드: 웹 소켓은 HTTP의 요청/응답 모델보다 더 적은 오버헤드를 갖는다... 연결을 유지하는 데 필요한 부가적인 데이터가 적기 때문.
      클라이언트 및 서버에서의 지원: 대부분의 최신 웹 브라우저와 웹 서버는 웹 소켓을 지원된다. 웹 개발자들은 쉽게 웹 소켓을 구현하고 사용할 수 있다.
      웹 소켓은 실시간 통신을 필요로 하는 다양한 웹 애플리케이션에 사용됨. 실시간 채팅, 온라인 게임, 주식 거래, 주문 추적, 실시간 분석 등 다양한 분야에서 활용되고 있다!

특강 : 부하 테스트와 성능 최적화

네트워크 관련 최적화

API가 얼마나 버틸까? 2가지 지표

  1. Latency : 요청자의 입장에서 완료까지 얼마나 걸리는가
    • 한 패킷이 한 지점에서 다른 지점으로 전송되는 데에 소요되는 시간
    • 만약 도로에 차를 많이 지나갈 수 있게 하려면? 제한 속도를 높일 것인가? (= Latency를 줄이는 것)
  2. Throughput : 작업자의 입장에서 시간 당 얼마나 처리하는가
    • 도로의 폭을 넓힐 것인가? (= Throughput을 높이는 것)

둘을 적절히 활용해서 최적점을 찾아 효율적인 처리를 해야 한다.

테스트...

테스트용 더미데이터 만들기

npm install @faker-js/faker --save-dev
npm run build
node dist/create-dummy-one.js

사용자 10명이 해당 API 로 총 20번의 요청을 보내는 test

./node_modules/.bin/artillery quick http://localhost:3000/team/players -c 10 -n 20

Apdex

애플리케이션 성능 지표


회고

0개의 댓글