목록개발 공부/Node.js (8)
코딩일상
상태 확인은 애플리케이션의 안정성과 가용성을 유지하는 데 필수적입니다. 애플리케이션의 상태와 성능을 정기적으로 모니터링하면 문제를 신속하게 감지하고 사전 조치를 취하여 지속적인 서비스 가동 시간을 보장할 수 있다.healthCheck 중요한 이유서비스 수준 계약(SLA): 많은 기업에서는 특정 가동 시간 보장을 유지해야 합니다. 상태 점검은 애플리케이션 가용성을 모니터링하여 규정 준수를 보장하는 데 도움이 됩니다. 문제 조기 감지: 정기적인 상태 점검을 통해 문제가 최종 사용자에게 영향을 미치기 전에 식별하여 보다 빠른 해결이 가능합니다. healthCheck 설정기본 상태 확인 엔드포인트를 구현하려면Express 프레임워크를 사용하여 애플리케이션의 상태를 반환하는 간단한 경로를 생성할 수 있습니다. c..

express-rate-limit 기능정의Express용 기본 속도 제한 미들웨어. 반복되는 요청을 암호 재설정과 같은 공용 API 및/또는 엔드포인트로 제한하는 데 사용합니다. middleWare로 적용한 예제 1)const limiter = rateLimit({ windowMs: 15 * 60 * 1000, // 15 minutes max: 100, // Limit each IP to 100 requests per `window` (here, per 15 minutes) standardHeaders: true, // Return rate limit info in the `RateLimit-*` headers legacyHeaders: false, // Disable the `X-RateLimit-..

1.메모리 누수는 무엇인가? 메모리 누수는 부주의 또는 일부 프로그램 오류로 인해 더 사용되지 않는 메모리를 해제하지 못하는 것이다. 간단히, 어떤 변수가 100M의 메모리를 점유한다고 할 때, 이 변수가 사용되지 않더라도 수동 또는 자동으로 해제되지 않아 계속 메모리를 점유하는 것을 말한다 2.왜 발생하는가? 사용되지 않는다고 판단되는 변수들을 담은 힙 메모리에서 GC를 해주어야 하는데 어떠한 이유들로 GC가 되지 않기 때문에 2-1 GC 가비지 컬렉션이란? 대량의 데이터 생성 데이터 해제 및 메모리 사용량 확인 3.어떤 경우 발생하는가? 메모리 누수 예제들 그래서 어떤 상황들에서 메모리 누수가 발생이 될까? 다음은 공통적인 사례들이다. 1.클로저의 잘못된 사용 2.의도치않게 생성된 전역 변수 3.분리..
node --prof app.js node --prof-process isolate-0xnnnnnnnnnnnn-v8.log > processed.txt node --prof-process --preprocess -j isolate-0x130008000-81644-v8.log | flamebearer

환경 Node.js 가 설치 되어 있어야 합니다. artillery Modern performance testing toolkit for DevOps and SRE. Latest version: 2.0.0-23, last published: 2 months ago. Start using artillery in your project by running `npm i artillery`. There are 35 other projects in the npm registry using artillery. www.npmjs.com artillery 테스트를 하기위해서 테스트 방법을 작성을 하여야 합니다. config: target: "http://localhost:3000" //요청을 보낼곳 phases: - ..
Sequelize를 처음부터 배워서 DB를 다루는데 현재까지 무작정 사용을 해왔다. 뭐가 좋고 뭐가 나쁜거지 이런고민을 하면서도 이부분에 대해서는 무감각하였는데, 지금이라도 알고 가보자 한다. 일단 Sequlize를 처음 배웠을때 ORM이라고 듣고 썼지만 아직까지도 뭐라 해야할지 몰라서 이것부터 짚고 넘어가려고한다. ORM ?? ORM Object Relational Mapping 객체 관계 매핑이다. 객체 관계 매핑은 관계형데이터베이스(내가 배운것은 MYSQL)와 객체지향 프로그래밍(내가 배운것은 자바스크립트)을 매핑해주는 것 매핑(연결)이란 일종의 통역이라고 봐도 되는데 데이터베이스의 테이블과 객체지향 프로그래밍의 클래스가 호환이 되지 않는 것을 호환 ORM을 통해서 SQL Query문을 작성하지 않..

Request 객체는 API를 컨트롤 하기 위한 메소드를 담고 있다. 그 메소드들이 바로 아래의 3가지 이다. param query body 1.req. param 주소에 포함된 변수를 담는다. //주소예시 http://coding-daily/comments/1234 router.post("/comments/:articappleId", async (req, res) => { const postId = req.params.articleId; //postId에는"1234"선언된다. ...} postId에 담긴 1234의 타입은 Number(숫자형)가 아니라, String(문자열)이다. 2.req.query 주소'?'가 시작이며 이후의 변수를 담는다. http://coding-daily/comment?cate..
REST API의 put 과 patch 는 어떤 차이점이 있을까요? HTTP Method 중에 PUT와 PATCH는 리소스의 업데이트를 의미한다. 리소스를 업데이트 한다는 점에서는 같은 역할을 하는 메소드처럼 보이지만 두개의 요청에는 약간의 차이가 있다. PUT : 리소스의 모든 것을 업데이트 한다. PATCH : 리소스의 일부를 업데이트 한다. 예를 보면서 같이이해 아래와 같은 회원이라는 리소스가 있다. 회원 (member) 1 이름 (name) 애용이 나이 (age) 10 성별 (gender) M 아래와 같은 요청을 보내면 PUT /members/1 { name : "홍길동", age : 19, gender : "M" } 회원 (member) 1 이름 (name) 홍길동 나이 (age) 19 성별 (..