언어(JS,TS)/JavaScript (28) 썸네일형 리스트형 javascript [ 백엔드 프레임워크: Nest.js vs Express.js] Nest.js vs Express.js: 어떤 프레임워크를 선택해야 할까?Node.js 기반의 백엔드 개발을 시작하려는 개발자라면 Express.js와 Nest.js라는 두 가지 프레임워크를 고민하게 될 것입니다. 두 프레임워크는 각각의 강점과 약점이 있어, 프로젝트의 요구사항에 따라 선택이 달라질 수 있습니다. 이번 글에서는 Express.js와 Nest.js의 주요 특징, 장단점, 그리고 어떤 상황에 어떤 프레임워크가 적합한지 확인해 보겠습니다.1. Express.js란?Express.js는 Node.js 환경에서 가장 널리 사용되는 웹 프레임워크로, 빠르고 간단한 설정으로 웹 애플리케이션을 개발할 수 있습니다. 최소한의 코드로 서버를 실행할 수 있는 경량 프레임워크로, 자유도가 높아 개발자에게 많은.. JS [study: 싱글스레드가 서버를 돌릴수 있는 이유 (nginx를 사용하는 이유) 싱글스레드가 서버를 돌릴수 있는 이유JavaScript는 기본적으로 싱글스레드에서 작동하므로, Node.js 서버는 한 번에 하나의 요청을 처리하는 방식으로 동작합니다.Node.js 자체는 비동기 I/O 처리에 강점을 가지지만, 여러 클라이언트 요청이 몰리면 메인 스레드가 처리할 수 있는 작업에 제한이 생기기 때문에 요청 지연이나 성능 저하가 발생할 수 있습니다. 여기서 Nginx를 프록시 서버로 사용하면 이런 문제를 줄일 수 있습니다. Nginx는 고성능 웹 서버로, 요청을 효율적으로 관리하고 분산하는 역할을 맡습니다. Nginx를 Node.js 서버 앞단에 배치하면 다음과 같은 이점이 있습니다:로드 밸런싱: Nginx가 들어오는 트래픽을 분산하여 여러 Node.js 인스턴스로 전달해 줄 수 있습니다... JS [test: forEach VS map VS for (속도 차이 및 원인 분석)] 맨날 코드 쓰다보니 뭐가 더 효율적인지 잘 몰라서 case별로 나누에서 테스트를 통하여 직접 알아보기로 하였다. 환경: node-v : v20.11.1실행 코드 : node test.js case는 총 4가지로 준비하였다.1. 단순반복2. 계산반복3. 배열 데이터 변형 후 삽입4. 새로운 배열 생성 4-1. 새로운 방식(push 영향 확인) 실험 하다보니 알게된 사실인데 같은 코드를 실행하여도 걸리는 시간이 달라진다.계산량을 늘리던가 여러번 돌려서 평균값으로 적던가 하는 방법으로 추가로 실험이 필요해 보인다. case 1 (단순 반복)테스트 코드const testArray = Array.from({ length: 1_000_000 }, (_, i) => i);// 'for' 루프 시간 측정cons.. JavaScript [ compare : Switch vs. If Else ] 결론은 단순비교는 switch가 좀더 효율적임 https://medium.com/@michellekwong2/switch-vs-if-else-1d458e7b0711 JavaScript [궁금증 : .forEach, .map and .reduce vs for and for..of (속도나 효율비교)] 결론 return 값이 있으면 map을 사용하고 없으면 forEach를 사용하는 것이 기능적으로 조금더 좋아보이고 기능을 빼더라도 의미론적으로 좀 더 좋은 것 같음 https://leanylabs.com/blog/js-forEach-map-reduce-vs-for-for_of/ Performance of JavaScript .forEach, .map and .reduce vs for and for..of Declarative programming is better 95% of the time. However, when performance matters, imperative style is the go-to solution. leanylabs.com https://medium.com/web-develop.. JavaScript [ ES6 : 이터레이터(iterator)와 제너레이터(generator) ] ES6에서 도입된 이터레이터(iterator)와 제너레이터(generator)는 알고는 있었지만 실제 개발할 땐 거의 사용하지 않았던 것 같다. 그래서 이번 기회에 한번 정리해 보았다. 본문 1. 이터레이터란? 이터레이터는 반복을 위해 설계된 특정 인터페이스가 있는 객체 MDN에서는 '시퀀스를 정의하고 종료시의 반환값을 잠재적으로 정의하는 객체'라고 되어 있다. 두 개의 속성 {value, done}을 반환하고, next 메서드를 가진다. Array.prototype.values() 사용시 배열의 각 인덱스에 대한 값을 가지는 새로운 Array Iterator 객체를 반환하여 이터레이터를 만들 수 있다. const book = [ 'a', 'b', 'c', 'd', ]; const it = book.va.. JavaScript [ 정보 : tc39/proposals Stage 란? ] 어느날 데코레이터에 대해서 궁금해서 찾아보다가 데코레이터가 tc39/proposals stage 3에 있다는 정보를 찾았다. 그래서 각 스테이지별로 무엇을 나타내는 건지 궁금해서 찾아보았다. 내용 0단계 : ECMAScript에 대한 아이디어 자유 형식 제출 단계 1단계 : 문제를 설명하고 적절한 솔루션을 제안하는 공식적인 제안 단계 2단계 : 제안 사양의 초기 초안 단계 3단계 : 거의 최종 단계이지만 마지막 피드백을 받을 준비가 된 초안 단계 4단계 : 제안 사양이 완전히 준비되어 다음 에디션에 포함될 예정 단계 결론 즉 ECMAScript 문법에 보함될 단계이다. 데코레이터는 stage 3이므로 문법에 포함되지는 않지만 포함될 가능성이 높다는 말이다. Reference https://tc39.es/.. JavaScript [파일 : package.json vs package.lock.json] package-lock.json이 필요한 이유 전에는 이런것이 있구나 하고 대충만 알고 넘겼는데 이번 기회에 package-lock.json 파일이 왜 생겼는지 찾아 보았습니다. package-lock.json 파일이란? package-lock.json 파일은 npm을 사용해서 node_modules 트리나 package.json 파일을 수정하게 되면 자동으로 생성되는 파일입니다. 이 파일은 파일이 생성되는 시점의 의존성 트리에 대한 정확한 정보를 가지고 있습니다. 예시코드 { "name": "typeclient", "version": "0.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "typeclient", "ver.. 이전 1 2 3 4 다음