JavaScript & TypeScript 4

Node.js 버전 업그레이드를 해야되는 이유

이전에 회사에서 모든 어플리케이션 개발환경의 Node.js 버전을 업그레이드한 적이 있습니다.Node.js 버전을 업그레이드 하지 않고, 단지 polyfill, transpile 해서 사용할 수도 있는데 왜 버전 업그레이드를 해야될까요?제 기준으로 가장 와닿는 이유를 정리해보았습니다. 1. 보안 업데이트메이저 버전 업그레이드시 CVE 패치가 적용됩니다.참고: https://github.com/nodejs/node/blob/main/CHANGELOG.md 2. 런타임 성능2-1. 성능 향상 node.js 22 버전에서 Maglev 컴파일러를 기본 활성화하여 CLI 성능 향상참고: https://nodejs.org/en/blog/announcements/v22-release-announce#maglev no..

Data Structure - Stack [JavaScript]

후입선출 Last In First Out class Stack { storage size constructor() { this.storage = {} this.size = 0 } push(data) { this.storage[++this.size] = data } pop() { if (this.size < 1) { console.error(`stack이 비어있습니다. - size: ${this.size}`) return null } const result = this.storage[this.size] delete this.storage[this.size--] return result } top() { if (this.size < 1) { console.error(`stack이 비어있습니다. - size:..

[express.js] 아주 간단한 express.js, singleton, typescript, prisma+mysql, mongoose+mongodb, oop

최근 엘리스 SW 5기 수강생 두분께 무료 수업을 진행해드리고 있는데, 블로그에도 글을 올리면 좋겠다 싶어서 포스팅하게 됐습니다. 정말 기초적인 수준의 singleton과 oop를 typescript와 express를 이용하여 구현해보았습니다. singleton 아이디어는 회사 선임분께서 작성하신 코드에서 영감을 받았습니다. 또한, typescript를 사용하여 간단하게 oop를 구현하였으며, 3 layered architecture임에도 불구하고 추상화를 통해 각 계층에 대한 정보 외에는 모르게 설계하였습니다. (시간 관계상 service에만 적용) 그래서 repository layer에서 prisma와 mongoose 어떤것을 사용하여도 service layer 에서는 영향이 없습니다. 우선 mysq..