이 글에서는 듀얼 패키지를 사용해야 하는 이유, 그로 인해 발생할 수 있는 위험성, 그리고 그 위험을 관리하는 방법에 대해 살펴보겠습니다.1️⃣ 듀얼 패키지를 사용해야 하는 이유Node.js에서 패키지를 관리하고 모듈화하는 방법은 지속적으로 발전해 왔습니다. 이전에는 CommonJS 모듈 시스템이 주로 사용되었지만, 최근에는 ES 모듈의 지원이 추가되면서 개발자들에게 더 많은 유연성과 선택지를 제공하고 있습니다.ES6의 지원 초창기에는 Node.js가 CommonJS 진입점을 실행하는 동안 빌드 도구(예: 번들러)가 ES 모듈 진입점을 사용할 수 있도록 했습니다. 즉 Babel과 같은 트랜스파일러를 사용하여거나나 다른 도구들이 ES 모듈 파일을 사용할 수 있었습니다.현재 Node.js는 ES 모듈 진입점..
1️⃣ 이 책을 선택한 이유는?최근에 진행된 특강에서 Node.js를 메인으로 서버 개발을 하는 개발자를 만났고, 그 경험은 나에게 큰 영향을 주었다. 프론트엔드 개발자로서 백엔드 기술에 대한 이해는 선택이 아닌 필수가 되어가고 있다고 생각한다. 그리고 Node.js는 그 중심에서 매우 중요한 역할을 차지한다고 생각한다(프론트엔드 개발자라서 그렇게 생각하는 것일지도!). 그리고 다가오는 백엔드 개발자의 소통이 필요한 프로젝트에서 효율적인 소통을 위해, Node.js에 대한 기술을 이해하는게 중요하다 생각했고, 이 책을 결정했다.2️⃣ 책을 읽으며 느낀 점들접근성이 좋은 설명이지만, 추가적인 학습이 필요하다고 생각된다."업무에 활용하는 Node.js"는 초보자도 부담 없이 접근할 수 있도록 쓰여졌다. 쉬운..
1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 😉문제 풀이 설명 문제는 DFS를 사용하여 풀 수 있습니다. 🤨문제 풀이 실패 코드 const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().trim().split("\\n") const [R, C] = input.shift().split(" ").map(Number); const map = input.map((v) => v.split("")); const next =..
1208번: 부분수열의 합 2 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 40, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net 😉문제 풀이 설명 문제에서 주어진 숫자는 최대 40개. 40개로 부분 수열을 만든다면 경우의 수가 2^40으로 시간초과가 됩니다. 따라서 다음과 같은 전략으로 문제를 풀 수 있습니다. 두 배열을 나누어서 경우의 수를 구합니다. 배열을 두 개로 나누면, 경우의 수가 2^20을 가진 배열 2개를 가지게 됩니다. 2^20은 100만번의 순회가 이루어져 시간 제한을 넘기지 않습니다. 따라서 두 배열 A와 B로 나눈 후 문제를 풉니..
2143번: 두 배열의 합 첫째 줄에 T(-1,000,000,000 ≤ T ≤ 1,000,000,000)가 주어진다. 다음 줄에는 n(1 ≤ n ≤ 1,000)이 주어지고, 그 다음 줄에 n개의 정수로 A[1], …, A[n]이 주어진다. 다음 줄에는 m(1 ≤ m ≤ 1,000)이 주어지고, 그 www.acmicpc.net 😉문제 설명 두 배열에서 연속된 합의 숫자를 찾은 값의 합이 T가 되는 경우의 수를 찾습니다. A배열에서 찾을 수 있는 경우의 수를 찾아 객체에 넣습니다. 이 객체는 key값으로 만들 수 있는 숫자를, value로 key값을 만들 수 있는 횟수를 넣습니다. B배열에서 찾을 수 있는 경우의 수를 만들며 이 수와 A배열로 만들어진 객체의 값을 더해 T값이 나올 수 있는 경우를 찾습니다...
1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 알파벳 대문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 www.acmicpc.net 😉문제 설명 이번 문제는 stack을 이용하는 문제입니다. 주어진 input을 배열로 만들고 차례대로 순회합니다. 순회 중인 값이 연산자 혹은 괄호 일 경우, stack에 넣고, 그렇지 않고 문자일 경우 정답 배열에 넣습니다. 연산자의 값이 +, -일 때는 스택에 넣고, 그 다음 스택으로 들어오는 연산자가 +, - 일 경우, 먼저 스택에 들어가 있는 연산자를 꺼내고 정답 배열에 넣습니다. 이후 들어온 연산자를 stack에 넣습니다. //A+B-C의 예시 1...