Vanilla JS 컴포넌트 설계 패턴
Frontend/JavaScript
바닐라 자바스크립트로 SPA를 구현할 때 컴포넌트 패턴을 활용하면 코드의 재사용성과 유지보수성을 크게 향상시킬 수 있다.이 글에서는 React와 같은 프레임워크 없이 순수 자바스크립트만으로 컴포넌트 기반 아키텍처를 구현하는 방법을 알아본다.바닐라 JS 컴포넌트 설계 패턴애플리케이션 진입점 설정SPA의 시작점에서 애플리케이션을 초기화한다.import App from './App.js';const $app = document.querySelector('#app');new App($app);App 컴포넌트가 #app DOM 요소에 마운트되어 애플리케이션이 시작된다. $app 요소는 전체 애플리케이션의 최상위 컨테이너 역할을 한다. 부모 컴포넌트 구현부모 컴포넌트는 애플리케이션의 상태를 관리하고 자식 컴포넌트들..
Node.js와 Express.js를 이용한 서버 구축
TIL
오늘은 Node.js와 Express.js를 활용하여 간단한 서버를 구축하는 방법을 학습했다.Express.js는 Node.js 환경에서 웹 서버를 쉽게 구축할 수 있게 해주는 프레임워크로, 간결한 코드만으로 서버 기능을 구현할 수 있다.Express 서버 기본 설정const express = require("express");const path = require("path");const app = express();const PORT = 3000;app.listen(PORT, () => { console.log("START SERVER");})express와 path 모듈을 불러와 app 인스턴스를 생성하고, 포트 번호를 3000으로 설정하여 서버 리스닝을 시작한다. 정적 파일 제공 설정// 프로젝트..
상태 관리 설계
TIL
오늘은 포켓몬 도감 애플리케이션에 필요한 상태를 설계해보았다.상태 관리는 SPA 개발에서 핵심적인 부분으로, 어떤 데이터를 중앙에서 관리할지 결정하는 과정이다.상태 관리란상태(state)는 애플리케이션의 데이터를 의미하며, 애플리케이션의 동작과 화면 표시 방식을 결정한다. 상태 관리는 데이터의 흐름을 제어하고 컴포넌트 간에 데이터를 공유하는 방법을 설계하는 것이다. 포켓몬 도감 애플리케이션의 상태 설계프로젝트의 구조를 보면, 여러 컴포넌트(Header, PokemonList, PokemonDetail)가 공유해야 하는 데이터가 있다. 이 데이터들은 App 컴포넌트에서 state로 관리하면 보다 효율적으로 관리할 수 있다.import Header from './components/Header.js';imp..