목록Node.js (4)
JAN's History
개발하는 프로젝트가 멀티프로세스로 떠있는데, Node.js는 싱글 프로세스인데 어떻게 멀티프로세스로 떠있다는거지..? 라는 의문이 생겨서 정리해보았습니다.먼저 멀티 프로세스와 싱글 프로세스의 개념을 알아보겠습니다.싱글프로세스하나의 프로세스에서 모든 작업을 처리합니다.Node.js는 기본적으로 싱글스레드 이벤트 루프 기반이므로, 기본 서버는 싱글프로세스입니다.CPU 코어가 여러 개라도, 기본 싱글프로세스는 한 코어만 사용 가능 → CPU 자원 활용이 제한적입니다.멀티프로세스CPU 코어 수만큼(또는 지정한 수만큼) 프로세스를 띄워 병렬로 작업 처리합니다.Node.js에서는 cluster 모듈이나 throng 같은 라이브러리를 사용해 구현할 수 있습니다.각 프로세스는 독립적인 메모리 공간을 가지므로 메모리 사..
1. path 모듈 : 필요성 path 모듈을 사용하면 경로 구분자를 통일할 수 있습니다! (path 모듈의 중요한 역할 중 하나) 예를 들어, 윈도우와 맥은 경로 구분자가 다르기 때문에 통일해 파일 경로를 다루는 것이 좋은데요. 윈도우 – 역슬래시 ( ) 사용 (예, C:\Users\funco\Desktop\myNode\basics\03\example.txt) 맥OS - 슬래시( / ) 사용 (예, /Users/funnycom/Desktop/basics/03/example.txt) 절대 경로와 상대경로 절대 경로 (파일을 다룰 때, 절대 경로로 표현하는지, 상대 경로로 표현하느냐에 따라 차이가 있음) 파일이나 폴더의 위치를 루트(root) 폴더부터 시작해서 파일까지 전부 다 나타내는 것 상대 경로 (현..
Node.js에서 모듈이란? 프로그래밍에서 가장 기본적이 개념이 바로 모듈인데요! 프로그램을 작은 기능 단위로 쪼개고 파일 형태로 저장해 놓은 것을 모듈이라고 한답니다. ➡️즉, 이렇게 기능별로 만들어 놓은 함수를 모듈이라고 해요. CommonJS 모듈 시스템과 ES 모듈 시스템 자바스크립트에는 두가지의 모듈 시스템이 있어요. CommonJs와 ES 모듈 시스템인데요. Node.js에서는 보통 CommonJS모듈을 사용합니다.(이 글에서도!) 그럼 모듈을 만들어보며 이해해봅시다! 사용자 이름을 가져와 화면에 표시하는 함수(모듈)를 만들어보자 const user = "홍길동"; const hello = (name) => { console.log(`${name} 님, 안녕하세요?`); }; hello(use..
자바스크립트는 쓰레드가 하나다!😶 그렇기 때문에 동시 작업이 되지 않는 언어입니다. 그러다보니 빨리 처리할 수 있는 것을 처리해놓고, 그 다음 작업을 처리하는 언어입니다. 그러나 우리가 실제로 코딩을 하게 되면 서버에서 데이터를 가져오고 난 후에야 화면을 보여주는 등 시간지연을 사용해야 할 일들이 종종 일어납니다. 그래서 우리는 그 "작업 다음에 표시하는 작업을 해라" 라고 코딩해주는 게 비동기 처리방식 입니다. ➡️즉, 함수들이 서로 어떤 순서로 연결되어야하는지 적어주는 거에요. ➡️setTimeout() 함수로 displayB 메소드에게 2초라는 시간을 부여하니 displayC가 먼저 실행된 것을 확인할 수 있어요. 동기와 비동기처리방식을 비유하자면..🤔 커피주문을 예시로 두 방식에 대해 설명해보겠습..