최근 포스트

JavaScript 모듈 시스템 알아보기 - 순환 의존성

JavaScript로 개발 중에 코드상으로 아무런 문제가 없어 보이는데 다음과 같은 에러가 발생한다면 그 원인으로 순환 의존성을 의심해 볼 수 있습니다. TypeError: [변수명] is not a function ReferenceError: Cannot access '[변...

JavaScript 모듈 시스템 알아보기 - CJS vs ESM

Node.js 환경에서 사용할 수 있는 모듈 시스템의 두 가지 선택지로 CJS (CommonJS) 와 ESM (ES Module) 이 있습니다. 더 이른 시기에 등장한 CJS에 비해 이후에 등장한 ESM은 더 성숙해진 체계를 갖추고 있으나, 여전히 하위 호환성 때문에 CJS의 흔적...

JavaScript 모듈 시스템 알아보기 - 모듈의 역사

JavaScript는 초기 개발 기간이 짧았던 만큼 완성도가 낮고 문제점이 많은 언어였습니다. 시간이 지나면서 많이 성숙해지긴 했으나, 브라우저의 특수성 때문에 하위호환성을 갖춰야 할 필요가 있고, 이에 과거 문제가 많았던 기능은 그대로 지원되며 개선된 기능은 새로운 문법으로 추가...

게임 개발 도전기

저는 이번에 게임 개발에 도전하고자 합니다. 현업에서 웹 개발을 주로 하는 저로서는 다소 생소한 분야이긴 합니다. 그러나 웹게임으로 입문하게 된다면 그 괴리감의 격차를 충분히 줄일 수 있다고 봅니다. 실제로 JavaScript의 범용성은 점점 넓어져 가고 있고, HTML, CSS,...

프론트엔드 성능 개선

웹 프론트엔드에서 성능을 측정하는 여러 방법론들이 있습니다만, 이론 만으로는 실제 문제를 진단하고 적용하기 난해할 수 있습니다. 렌더링 횟수를 줄이는 방법을 흔히 생각해볼 수 있는데요, 사실 특수한 상황이 아니고서야 랜더링 횟수 몇 번 줄여서 달라지는 차이는 체감이 안됩니다. 게다...