전체 글(113)
-
자바스크립트 모듈과 ES 모듈 시스템(ESM) 완벽 정리
📦 자바스크립트 모듈과 ES 모듈 시스템(ESM) 완벽 정리현대 자바스크립트 개발에서 모듈화는 필수입니다. 이 글에서는 자바스크립트의 모듈 개념과 함께, 최신 표준인 **ES 모듈 시스템(ESM)**의 동작 방식, import / export 사용법, 그리고 CommonJS와의 차이점까지 한 번에 정리해드립니다.🔸 모듈과 모듈 시스템이란?모듈이란 독립적이고 재사용 가능한 프로그램의 단위를 의미합니다.예: 로그인, 장바구니, 결제 모듈 등자바스크립트에서는 독립된 파일 하나가 하나의 모듈입니다. 이 모듈은 변수, 함수, 객체 등을 내보내고 불러올 수 있으며, 이를 가능하게 해주는 구조가 바로 모듈 시스템입니다.🔸 ES 모듈 시스템 (ESM)✅ 정의ESM은 ECMAScript의 표준 모듈 시스템으로, R..
2025.04.02 -
정적 vs 동적 vs 점진적 타이핑, 그리고 TypeScript의 동작 원리
🔹 정적 타이핑 시스템 (Java 등)정의:코드를 실행하기 전에 변수의 타입을 명시적으로 지정하고, 컴파일 타임에 타입 오류를 검사하는 시스템입니다.📌 특징모든 변수에 타입을 명시해야 함컴파일 단계에서 타입 안정성(type safety) 확보✅ 장점타입 불일치로 인한 런타임 오류 감소예측 가능한 코드, 쉬운 디버깅❌ 단점타입 명시로 인해 코드가 장황해짐유연성이 떨어짐🔹 점진적 타이핑 시스템 (TypeScript)정의:정적 타이핑과 동적 타이핑의 장점을 결합한 형태. 타입 주석이 선택적이며, 타입 추론도 가능.📌 특징타입을 명시하지 않아도 타입 추론이 가능실행 전 타입 검사로 안정성 확보✅ 장점정적 안정성과 동적 유연성을 동시에 제공개발 도중 오류를 빠르게 감지 가능최신 JavaScript와 호환됨..
2025.04.02 -
컴포넌트 인터페이스와 Props
1-1. React & React-ModalReact: 함수형 컴포넌트와 상태 관리를 위해 사용됩니다.React-Modal: 모달창을 쉽게 구현할 수 있도록 도와주는 라이브러리입니다.Modal.setAppElement('#root');→ 접근성(Accessibility) 향상을 위해 모달이 열릴 때 스크린 리더가 앱의 나머지 부분을 무시하도록 루트 요소를 지정합니다.1-2. CSS Modules파일을 TermsAgreementModal.module.css처럼 작성하면 클래스 이름이 네임스페이스화되어 충돌을 방지할 수 있습니다.JSX에서는 import styles from './css/TermsAgreementModal.module.css';를 통해 CSS 모듈 객체를 받아, 각 클래스에 styles.클래..
2025.04.01 -
상태 관리에서 immer가 필요한 이유
✅ 상태 타입 정의interface Birth { year: string; month: string; day: string;}사용자의 생년월일을 year, month, day로 나눠서 관리합니다.interface UserState { birth: Birth; gender: string; email: string; nickname: string; setBirth: (birth: Partial) => void; setGender: (gender: string) => void; setEmail: (email: string) => void; setNickname: (nickname: string) => void;}전체 사용자 상태와 관련된 필드 정의set 함수들을 통해 각 속성들을 업데이트할..
2025.04.01 -
React와 Chart.js로 구현하는 레이더 차트: RadarChart 컴포넌트 분석[FC]
React와 Chart.js로 구현하는 레이더 차트: RadarChart 컴포넌트 분석안녕하세요! 오늘은 React 프로젝트에서 Chart.js를 활용해 사용자 데이터를 시각화하는 레이더 차트를 구현한 예제를 공유하려고 합니다. 특히, react-chartjs-2 라이브러리를 사용하여 간단하면서도 직관적인 레이더 차트를 만드는 방법을 살펴보겠습니다.1. RadarChart 컴포넌트 소개RadarChart 컴포넌트는 사용자의 다양한 성향(예: 열정형, 집중형, 축알못형, 축잘알형, 먹방형, 인싸형)을 한눈에 파악할 수 있도록 시각화합니다. 이 컴포넌트는 다음과 같은 기술 스택을 활용하여 구현되었습니다.React: UI 컴포넌트 구축Chart.js: 차트 라이브러리react-chartjs-2: React에서..
2025.04.01 -
QRReader 컴포넌트[FC]
1. QRReader 컴포넌트 개요QRReader 컴포넌트는 두 가지 주요 방식으로 QR 코드를 인식합니다.실시간 카메라 스트림사용자의 후면 카메라를 통해 실시간 영상을 받아오고, 요소를 사용해 현재 프레임을 캡처합니다. 캡처된 이미지 데이터는 jsQR 라이브러리로 분석되어 QR 코드가 포함되어 있는지 확인합니다.이미지 업로드 지원카메라 사용이 어려운 경우 사용자가 이미지를 업로드하면, 해당 이미지를 에 그려 QR 코드를 인식합니다.추출된 QR 코드가 유효한 티켓 코드(정규 표현식으로 'T'로 시작하고 뒤에 10자리 숫자)인지 검사한 후, API를 호출하여 로그인 혹은 회원가입 처리를 진행합니다.2. 주요 코드 흐름2.1. 카메라 스트림과 캔버스 처리아래 코드는 사용자의 카메라를 활성화하여 실시간 영상..
2025.04.01