반응형

Programing 154

HTML <input> 시간 관련 타입 완전 정복: time, month, week, date, datetime-local

웹 폼에서 날짜와 시간을 입력받는 경우는 매우 많습니다. HTML5부터는 사용자 경험과 데이터 일관성을 높이기 위해 다양한 날짜/시간 입력 타입이 추가되었으며, 이들 타입은 기본적인 폼 처리뿐 아니라 예약 시스템, 달력 UI, 시간 기록 등 여러 실무 영역에서 핵심 기능으로 활용됩니다.이 글은 의 날짜/시간 관련 타입에 대해 기본 구조 → 고급 예제 → 자바스크립트 활용 → 심화 응용 순으로 설명하여 초보자도 글을 다 읽고 나면 준전문가 수준에 이를 수 있도록 구성했습니다.🕒 1. — 시:분 입력 전용✅ 기본 개념시간(시:분)을 입력받기 위한 입력 필드초 단위는 입력할 수 없음 (HH:mm 포맷)기본적으로 사용자의 로컬 시간대를 따름✅ 기본 사용 예예약 시간:💡 고급 사용 예 1: 최소/최대 시간 ..

Programing/HTML 2025.04.26

자바스크립트 Date 객체 소개, 예제, 그리고 심화 활용법

연관글2025.04.24 - [Programing/javascript] - 자바스크립트 날짜 다루기: Date vs dayjs vs date-fns2025.04.24 - [Programing/javascript] - moment.js 소개, 사용법, 그리고 심화 이해자바스크립트에서 날짜와 시간을 다루기 위해 가장 기본적으로 사용하는 객체는 Date입니다. 브라우저 내장 객체로 별도의 설치 없이 사용할 수 있으며, 시간 생성, 포맷 추출, 시간 연산 등 다양한 기능을 제공합니다. 이 글에서는 Date 객체의 기본 사용법부터 유용한 예제, 그리고 실무에서 활용할 수 있는 심화 팁까지 정리해보겠습니다.✅ Date 객체 생성 방법const now = new Date(); // 현재 시간const specific..

moment.js 소개, 사용법, 그리고 심화 이해

연관글 2025.04.24 - [Programing/javascript] - 자바스크립트 날짜 다루기: Date vs dayjs vs date-fns moment.js는 한때 자바스크립트에서 가장 널리 사용되던 날짜 및 시간 처리 라이브러리입니다. 간결하고 직관적인 API 덕분에 많은 개발자들이 사용했지만, 최근에는 파일 크기 및 성능 등의 이유로 dayjs, date-fns와 같은 대체 라이브러리로 옮겨가는 추세입니다. 그럼에도 불구하고 moment.js는 레거시 프로젝트나 일정 기능에서는 여전히 사용되기도 하므로 그 구조와 개념을 이해하는 것은 중요합니다.✅ moment.js란?날짜와 시간 관련 기능을 쉽게 처리할 수 있도록 설계된 JavaScript 라이브러리입니다.포맷팅, 파싱, 비교, 덧셈/뺄셈..

자바스크립트 날짜 다루기: Date vs dayjs vs date-fns

웹 애플리케이션에서 날짜와 시간을 다루는 작업은 매우 흔하지만, 자바스크립트의 기본 Date 객체만으로는 복잡한 날짜 계산이나 포맷 변경 등을 처리하기 까다롭습니다. 이를 보완하기 위해 등장한 라이브러리들이 dayjs, date-fns이며, 두 라이브러리는 moment.js의 대안으로 널리 쓰이고 있습니다.이 글에서는 자바스크립트에서 날짜를 다루는 세 가지 방법을 비교하고, 각각의 특징과 사용법을 예제로 정리합니다.✅ 기본 내장 객체: Dateconst now = new Date();console.log(now.toISOString()); // 현재 시간 ISO 포맷const specific = new Date("2024-04-01T12:00:00");console.log(specific.getFullY..

브라우저 저장소 정리: localStorage vs sessionStorage vs cookie

웹 애플리케이션은 사용자 상태를 유지하거나 설정 값을 저장하기 위해 클라이언트 측 저장소를 활용합니다. 대표적인 저장소로는 localStorage, sessionStorage, 그리고 cookie가 있으며, 각각의 특성과 용도에 따라 적절히 사용해야 성능과 보안 측면에서 이점을 얻을 수 있습니다.✅ 저장소 간 비교 요약구분localStoragesessionStoragecookie저장 위치브라우저브라우저브라우저 + 요청 시 서버 전송만료 시점수동 삭제 시까지 영구 저장탭(세션) 종료 시 삭제설정된 만료 시간 또는 세션 종료용량 제한약 5MB약 5MB약 4KB서버 전송 여부❌ 전송 안됨❌ 전송 안됨✅ 매 요청마다 함께 전송접근 방식JavaScriptJavaScriptJavaScript + HTTP보안 수준중..

자바스크립트 이벤트 위임(Event Delegation)과 성능 최적화

웹 페이지에서 많은 DOM 요소에 이벤트 리스너를 개별로 붙이면 성능 저하와 관리 복잡도가 발생할 수 있습니다. 이런 문제를 해결하는 효과적인 기법이 바로 이벤트 위임(Event Delegation)입니다. 이 글에서는 이벤트 위임의 개념, 장점, 실전 예제, 그리고 성능 최적화 포인트까지 정리합니다.✨ 이벤트 위임이란?자식 요소마다 개별적으로 이벤트를 붙이는 대신, 상위 요소에 이벤트 리스너를 등록하고 이벤트 버블링을 통해 처리하는 방식입니다.자바스크립트 이벤트는 기본적으로 버블링(Bubbling) 되므로, 상위 요소에서도 하위 요소에서 발생한 이벤트를 감지할 수 있습니다.📌 왜 이벤트 위임을 사용할까?성능 개선: DOM 요소가 많을수록 이벤트 핸들러를 줄일 수 있어 렌더링 효율 향상동적 요소 대응:..

자바스크립트 debounce와 throttle 차이 및 성능 최적화 예제

사용자 입력, 스크롤, 리사이즈 등 브라우저 이벤트는 짧은 시간에 여러 번 연속으로 발생하는 경우가 많습니다. 이런 경우, 무분별하게 이벤트 핸들러가 호출되면 성능 저하가 발생할 수 있습니다. 이를 방지하기 위해 자바스크립트에서는 debounce(디바운스)와 throttle(스로틀) 기법을 활용합니다.이 글에서는 두 개념의 차이점과 활용 예제를 정리합니다.✨ debounce란?연속된 이벤트 중 마지막 이벤트가 발생한 후 일정 시간 동안 아무 동작이 없을 때 한 번만 실행하는 방식입니다.📌 사용 시점검색창 자동완성입력창 유효성 검사창 크기 조절 이벤트 처리예제:function debounce(fn, delay) { let timer; return function(...args) { clearTi..

자바스크립트 IIFE 패턴(즉시 실행 함수 표현식)의 쓰임새와 모던 대안

자바스크립트의 IIFE(Immediately Invoked Function Expression)는 과거부터 변수 스코프를 보호하거나 초기화 코드를 실행할 때 자주 사용되던 패턴입니다. 최근에는 ES6 이후의 모듈 시스템과 블록 스코프 변수(let, const)로 인해 덜 사용되긴 했지만, 여전히 유용한 구조로 여겨지며 이해하고 있어야 할 중요한 문법입니다.✨ IIFE란?정의하자마자 즉시 실행되는 함수 표현식을 의미합니다.형식:(function() { // 코드 실행})();또는(() => { // 코드 실행})();✅ 왜 사용했을까?ES6 이전에는 var만 존재해 **함수 스코프(function scope)**를 만들기 위해 IIFE가 널리 사용되었습니다.예시 1: 변수 보호(function() { ..

자바스크립트 클로저(Closure)의 개념과 실전 활용 예제

자바스크립트를 공부하다 보면 반드시 마주하게 되는 개념 중 하나가 **클로저(Closure)**입니다. 클로저는 함수형 프로그래밍의 핵심이자, 자바스크립트의 유연하고 강력한 기능을 가능하게 하는 중요한 요소입니다. 이 글에서는 클로저의 정의부터 실전 예제까지 자세히 설명합니다.✨ 클로저란?클로저는 함수가 선언될 당시의 외부 변수 환경(스코프)을 기억하여, 함수 외부에서 해당 변수에 접근할 수 있는 기능을 말합니다.즉, 함수가 **자신이 선언된 렉시컬 환경(Lexical Environment)**을 기억하고, 그 환경에 있는 변수에 접근할 수 있게 해줍니다.🔍 가장 기본적인 예시function outer() { const name = "Alice"; function inner() { consol..

자바스크립트 비동기 처리 개념 정리(setTimeout, Promise, async/await)

자바스크립트는 기본적으로 싱글 스레드 언어입니다. 하지만 실제 웹 애플리케이션에서는 서버에서 데이터를 불러오거나, 타이머 등을 통해 비동기 작업을 자주 처리하게 됩니다. 이 글에서는 자바스크립트 비동기 처리의 기본 개념부터 대표적인 사용 방식인 setTimeout, Promise, async/await까지 단계별로 정리합니다.✨ 비동기 처리란?코드가 순차적으로 실행되지 않고, 결과가 나중에 도착하는 작업을 처리하는 방식입니다.대표적인 예: API 호출, 파일 읽기, 타이머, 이벤트 리스너⏳ setTimeout: 가장 기본적인 비동기 처리console.log("1초 후 실행 시작");setTimeout(() => { console.log("1초 후 실행됨");}, 1000);console.log("즉시 ..

반응형