본문 바로가기

Programming/JS & TS10

[Javascript] Skill up 화살표 함수 (Arrow Function) : 기존의 방식은 function 함수명(인자) { ... 코드 ... } 형태인 반면 '=>' 기호를 사용하여 함수를 정의하는 새로운 방법 // 기존의 함수 선언 방법 function Eat(food){ return food * 0.9; } // 화살표 함수를 이용한 방법 1 const Eat1 = function (food) { return food * 0.9 } // 화살표 함수를 이용한 방법 2 const Eat2 = food => { return food * 0.9 } // 화살표 함수를 이용한 방법 3 const Eat3 = food => food * 0.9; Array 내장 함수 - Sort : 사용자가 정의한 기준으로 배열 각 요소들의 순서를 재정.. 2022. 1. 12.
[Back-End] Node.js 에서 환경 변수 파일을 사용하려면? 환경 변수란? : 일반적으로 우리는 코드 베이스는 하나만 관리하고, 개발, 테스트, 운영 등 여러 환경에 애플리케이션을 배포하는데요. 어느 환경에 배포하느냐에 따라서 다르게 설정해야하는 항목은 보통 운영 체제 레벨에서 환경 변수를 통해 관리하게 됩니다. 대표적인 예로, 개발 환경에서는 로컬 DB를 사용해야하는데, 운영 환경에서는 원격 DB를 사용해야하는 경우를 들 수 있습니다. 뿐만 아니라 DB password나 API key와 같은 인증 정보는 공개된 코드 저장소에 올리면 안 되기 때문에 환경 변수로 저장해놓고 사용하는 것이 일반적입니다. process.env - Node.js 에서 환경 변수에 접근할 때 process.env 라는 내장 자바스크립트 객체를 사용 - process 는 전역 객체이므로 애.. 2022. 1. 6.
[Back-End] Node.js 를 효율적으로 사용하는 법은? (무중단, 병렬처리) Node.js 특징 - Node.js는 싱글 스레드(Thread)로 동작하고, 단일 CPU 코어에서 실행됨 - 이는 서버의 CPU가 멀티 코어(8, 16 코어 등)여도 단 하나의 코어만 사용함 Cluster 특징 - CPU 코어를 모두 활용하여 병렬 처리 작업이 가능케 해주는 Node.js 모듈 - CPU 당 하나의 Worker 생성 (기본값) - Master 와 Worker 로 구성되며, Master 는 Worker 를 관리함 - Master 가 죽는 경우 모든 Worker 는 죽게됨 - 아래와 같은 번들 플러그인이 제공됨 cli : 클러스터를 관리할 수 있는 명령창 debug : 클러스터에 대한 디버깅 정보 logger : Master, Worker 로그 pidfiles : Master, Worker.. 2022. 1. 6.
[Back-End] Web 운영을 위한 로그 관리 로그 - 로그는 시스템을 운영할 때 발생하는 모든 데이터를 의미함 - 시스템 운영 시 예기치 못한 오류, 치명적인 장애가 발생했을 때 그 원인을 추적하기 위해 로그 관리가 필요함 로그 관리 모듈, Winston Winston.js - 로그를 관리하는데 사용하는 대표적인 Node.js 모듈 로그 레벨 - 각 로그별 중요도를 나타내기 위해 사용하는 로그 분류 기준 - 가장 중요한 것부터 덜 중요한 순으로 오름차순 정렬된 값 - RFC5424 의 심각도 순서를 차용함 Winston 에서의 로그 레벨[1] 설치 방법 npm install winston 예제 코드 // logger.js const winston = require('winston'); const winstonDaily = require('winst.. 2022. 1. 5.