본문 바로가기
728x90

Node.js18

[Node.js] 노드의 주요 특징 Node.js 는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임 환경으로, 주로 서버 사이드 애플리케이션 개발에 사용되는 소프트웨어 플랫폼이다. Node.js 주요 특징 1. 비동기 I/O Node.js 는 비동기식 I/O 를 사용하여 빠른 성능을 제공한다. 이는 여러 작업을 동시에 처리하고, 블로킹되지 않고 다음 작업으로 계속 진행할 수 있도록 한다. 이는 높은 동시성을 가능하게 하며, 특히 입출력이 빈번한 작업에서 높은 성능을 제공한다. 2. 이벤트 주도 아키텍처 Node.js 는 이벤트 기반의 비동기적인 아키텍처를 사옹하여 작업이 완료되었을 때 콜백 함수를 호출하도록 한다. 이를 통해 비동기 작업을 처리하고, 효율적으로 이벤트를 관리할 수 있다. 3. 단일 쓰레드 .. 2024. 1. 16.
[Node.js] ECS Fargate Datadog APM 심기 Datadog? 개발자라면 Datadog 를 한번쯤은 들어봤을 것이다. Datadog 란 서버, 데이터베이스, 클라우드 서비스 등에 대한 다양한 모니터링 서비스를 제공하는 클라우드 모니터링 애플리케이션이다. AWS, Azure 등의 클라우드 컴퓨팅 플랫폼과의 통합 기능을 제공하고 있으며, 에이전트의 확장 기능을 통해 데이터베이스와 캐시 스토어 등 다양한 애플리케이션에 대한 추가적인 메트릭 수집과 모니터링을 지원한다. 또한 알람, 대시보드, 로그 수집, APM, 네트워크 트래픽 모니터링, 엔드포인트 모니터링 등을 지원하는 종합 모니터링 서비스로 확장해나가고 있다. APM? Application Performance Management 의 약자로, 말 그대로 실시간 데이터를 사용해 애플리케이션의 성능을 관리.. 2023. 4. 1.
[Node.js] OpenSearch Node.js 클라이언트 AWS OpenSearch 의 경우 Node.js 에서 사용할 만한 라이브러리가 없어서 http 클라이언트를 이용하여 요청을 날렸었는데, 드디어 사용할 만한 라이브러리가 나왔다. $ npm install @opensearch-project/opensearch AWS 에 API 요청을 보낼 땐 AWS 가 발신자를 식별할 수 있도록 서명해야 한다. 보안을 위해 대부분의 요청은 AWS 보안 자격 증명을 사용하여 서명되는데, 이를 위해 JavaScript 용 SDK 버전3의 credential-provider-node 모듈을 이용하여 자격 증명을 찾고, 그 후 API 요청에 서명해주기 위해 aws4 를 호출해줘야 한다. 따라서 아래 2개의 패키지도 다운로드 해준다. $ npm install @aws-sdk/cr.. 2022. 12. 20.
[Node.js] 문자열 표기법 - Camel Case, Pascal Case, Kebab Case, Snake Case 프로그래밍을 할 때 우리는 보통 단어 사이의 공백을 제거하여 문자열을 표현하는데, 그 표기법에는 무엇이 있는지 알아보자. Camel Case (카멜 케이스) 낙타의 쌍봉과 같이 문자열의 첫 문자를 제외하고 단어의 첫 글자마다 대문자로 표현하는 방식이다. 많은 프로그래밍 언어에서 컨벤션으로 사용된다. myCamelCase const toCamelCase = (text) => { return text.toLowerCase().replace(/-\w|\s\w/g, clearAndUpper); }; const clearAndUpper = (text) => { return text.replace(/-|\s/, "").toUpperCase(); }; Pascal Case (파스칼 케이스) 카멜 케이스와 유사하지만 .. 2022. 7. 21.
[Node.js] Array.prototype.sort() Javascript 에서 제공하는 배열의 정렬 함수를 사용했을 때, 다음 값으로 도출되는 것은 무엇일까? let nums = [6214, -2290, 2833, -7908]; nums.sort(); console.log(nums); 정답! 당연히 [ -7908, -2290, 2833, 6214 ] 아닌가요? 그러나 틀렸다. 도출되는 값은 [ -2290, -7908, 2833, 6214 ] 이었다. 배열의 요소 값을 문자열로 변환하여 유니코드 값을 비교하기 때문이다. 따라서 함수를 따로 만들어줘야 내가 원하는 대로 오름차순과 내림차순의 결과값을 얻어낼 수 있다. const nums = [6214, -2290, 2833, -7908]; // 오름차순 const compareDesc = (a, b) => { .. 2021. 11. 2.
[Node.js] 웹훅을 이용하여 Slack 에 메시지 전송하기 - 2. 테스트 $ npm install axios lodash ▷ ./lib/Slack.js const _ = require('lodash') const axios = require('axios') const { SLACK_WEBHOOKS_URL_TEST, AWS_REGION } = process.env class Slack { static get Colors() { return { primary: '#007bff', info: '#17a2b8', success: '#28a745', warning: '#ffc107', danger: '#dc3545', } } static get Channels() { return { test: `${SLACK_WEBHOOKS_URL_TEST}`, } } static async send.. 2021. 10. 22.
728x90
반응형