언어 · 런타임/JavaScript
JavaScript 배열 복사: spread와 map의 차이 완벽 정리 (얕은 복사 vs 깊은 복사)
2024.02.05
JavaScript 배열 복사: spread와 map의 차이 완벽 정리 (얕은 복사 vs 깊은 복사)실무에서 데이터를 다룰 때, 원본 배열을 복사하여 수정하는 작업은 자주 발생합니다.하지만 단순히 복사했다고 생각한 배열이 의도치 않게 원본에 영향을 주는 경우도 있습니다.이 글에서는 JavaScript에서 많이 사용되는 스프레드 연산자 (...)와 map() 함수를 활용한 복사 방식의 차이를 정리해보겠습니다.예시 코드// 1. Spread 문법 사용const newList = [...rawMemberTypeList];// 2. map + Spread 사용const newList = rawMemberTypeList.map((item) => { ...item });1. 스프레드 문법([...])은 얕은 복사입..
언어 · 런타임
[Node.js] dependencies vs devDependencies – 실무에서 헷갈리지 않기
2023.12.20
실무하면서 다시 꺼내보게 된 Node.js 의존성 이야기실무를 하다 보면 완전히 새로운 걸 만드는 것보단,기존 코드에 기능을 추가하거나 유지보수하는 일이 훨씬 많죠.그러다 보니 잊고 지냈던 친구들... dependencies와 devDependencies를 다시 정리해보게 됐습니다.dependencies (실행 의존성)프로덕션 환경(=서비스 환경)에서 애플리케이션을 실행할 때 필수적인 라이브러리npm install express위처럼 express를 설치하면 서버를 구성하는 핵심 라이브러리죠?이건 실제 서비스 구동에 꼭 필요한 라이브러리니까 dependencies에 등록됩니다.예시:expressaxiossequelizemongoosejsonwebtokendevDependencies (개발 의존성)개발할 ..