기본 콘텐츠로 건너뛰기

JavaScript 문자열 타입 정리: typeof vs instanceof, String 객체의 함정

JavaScript 문자열 타입 정리: typeof vs instanceof, String 객체의 함정 AI 생성 이미지: JavaScript 문자열 타입 정리: typeof vs instanceof, String 객체의 함정 안녕하세요 — 타입과 런타임 동작을 좋아하는 개발자입니다. 코드를 작성하다 보면 문득 이렇게 묻게 됩니다. "문자열인데 왜 instanceof String 이 false일까?" 특히 Java나 다른 정적 타입 언어 경험이 있으면 더 혼란스러울 수 있습니다. 이 글은 JavaScript 문자열 타입 정리: typeof vs instanceof, String 객체의 함정 을 바탕으로, 원시 문자열(primitive string) 과 String 래퍼 객체 의 차이, 그리고 typeof 와 instanceof 를 실제로 언제, 왜 사용해야 하는지를 예제와 함께 명확히 설명합니다. 1. 🔍 자바스크립트 instanceof 연산자는 무엇을 확인하는가? instanceof 는 값이 특정 생성자(또는 클래스)의 인스턴스인지 판별합니다. 핵심은 객체의 프로토타입 체인에 해당 생성자의 prototype이 포함되어 있는지 여부입니다. 동작 원리: 좌변 객체의 프로토타입 체인을 거슬러 올라가며 우변 생성자의 prototype과 일치하는지 검사합니다. 2. 🤯 문자열에서 instanceof String 이 false가 나오는 이유 ...

JavaScript로 HTML 태그 제거하기 – 정규식과 DOM 방식 완전 정리

JavaScript로 HTML 태그 제거하기 – 정규식과 DOM 방식 완전 정리 AI 생성 이미지: JavaScript로 HTML 태그 제거하기 – 정규식과 DOM 방식 완전 정리 크롤링 결과나 WYSIWYG 에디터에서 받은 HTML을 그대로 사용하지 않고, 텍스트만 깔끔하게 뽑아야 할 때가 많습니다. 이 글은 JavaScript로 HTML 태그 제거하기 – 정규식과 DOM 방식 완전 정리 관점에서 실무에 바로 적용 가능한 처리법을 정리합니다. 여기서는 정규식을 이용한 간단한 방법과 그 한계, 그리고 브라우저나 서버 환경에서 더 안전하게 처리하는 DOM/파서 기반 대안을 차례로 설명합니다. JavaScript로 HTML 태그 제거하기 – 정규식과 DOM 방식 완전 정리 내용을 통해 상황에 맞는 선택 기준을 제시합니다. 📚 목차 1. 정규 표현식으로 HTML 태그 삭제하기 2. 예제 코드 설명 3. 정규식 방식의 한계와 주의사항 4. HTML 파서/DOM을 사용한 더 안전한 방법 5. 정리 1. 정규 표현식으로 HTML 태그 삭제하기 가장 간단한 접근은 JavaScript의 replace() 와 정규식을 이용해 <태그> 형태를 찾아 모두 제거하는 것입니다. 속도가 빠르고 코드도 짧아 간단한 전처리에 유용합니다. ...

자바스크립트로 이미지 파일 크기(용량) 추정하기: Canvas.toDataURL 실전 예제

자바스크립트로 이미지 파일 크기(용량) 추정하기: Canvas.toDataURL 실전 예제 AI 생성 이미지: 자바스크립트로 이미지 파일 크기(용량) 추정하기: Canvas.toDataURL 실전 예제 브라우저의 <img> 요소에서 로드된 이미지의 정확한 전송 파일 크기를 반환하는 표준 API는 없습니다. 대신 JavaScript와 Canvas 를 이용하면 브라우저에 렌더된 픽셀 데이터를 바탕으로 대략적인 이미지 용량(파일 크기 추정치) 을 계산해 사용자에게 보여줄 수 있습니다. 이 가이드에서는 img onload 이벤트 와 Canvas.toDataURL() 을 활용해, 단계별로 이미지 용량을 추정하는 방법을 설명합니다. 핵심은 "자바스크립트로 이미지 파일 크기(용량) 추정하기: Canvas.toDataURL 실전 예제"라는 접근으로 실제 구현 예제까지 제공합니다. 중요: 이 방식은 서버에서 전달된 원본 파일의 바이트 수와는 다를 수 있습니다. 브라우저에서 생성된 데이터의 근사치임을 염두에 두세요. 1. 왜 JavaScript로 이미지 용량(파일 크기)을 체크해야 할까? 프론트엔드에서 이미지 무게를 바로 확인하면 여러 상황에서 즉각적인 가치를 제공합니다. 사용자가 게시물이나 에디터에 지나치게 큰 이미지를 업로드하려 할 때 사전 안내를 하기 위해 모바일 데이터 사용을 줄이기 위한 UX 결정을 내릴 때 이미지 최적화를 통해 페이지 로드 속도와 Core Web Vitals를 개선하려 할 때 갤러리...

HTML + CSS로 헤더 고정 테이블 만들기 | position: sticky 활용법

HTML + CSS로 헤더 고정 테이블 만들기 | position: sticky 활용법 AI 생성 이미지: HTML + CSS로 헤더 고정 테이블 만들기 | position: sticky 활용법 스크롤 시 헤더가 고정되는 테이블 만들기 (Sticky Table Header) 많은 데이터를 한 화면에 보여줄 때 열 제목이 사라지면 사용성에 큰 불편이 생깁니다. 이 문서에서는 CSS의 position: sticky; 를 활용해 헤더를 항상 보이게 하는 방법을 단계별로 설명합니다. 실제 예제와 함께 따라하면 금방 적용할 수 있으며, 특히 "HTML + CSS로 헤더 고정 테이블 만들기 | position: sticky 활용법"을 적용하면 표 탐색이 훨씬 수월해집니다. 💡 기본 원리 핵심은 <thead> 의 셀에 position: sticky; 와 top: 0; 을 적용하고, 헤더를 감싸는 부모 컨테이너에는 스크롤이 가능하도록 overflow-y: auto; 를 설정하는 것입니다. 한 문장으로 정리하면: 헤더는 sticky로 고정하고, 스크롤 컨테이너가 있어야 정상 동작합니다. 다만 부모 요소에 overflow: hidden; 이나 일부 레이아웃 상황에서는 sticky가 무시될 수 있으니 주의하세요. 이 방식은 "HTML + CSS로 헤더 고정 테이블 만들기 | position: sticky 활용법"을 이해하는 데 핵심 개념입니다. 🧩 CSS 코드 .tableFixHead { overflow-y: auto; /* 세로 스크롤 가능 */ height: 400px; /* 테이블 높이 설정 */ } .tableFixHead thead th { position: sticky; /* 고정 위치 */ top: 0; /* 상단 기준으로 고정 */ background-color: #f8f8f8; /* 헤더 배경색 (가독성 향상) */ ...

table border-radius

table border-radius AI 생성 이미지: table border-radius 둥근 테두리와 선을 가진 테이블을 만드는 방법 (HTML + CSS) 이 글에서는 table border-radius와 관련된 핵심 기법을 실무적으로 설명합니다. CSS 의 border-radius 속성과 테이블 셀 선택자를 조합해, 모서리가 부드러운 테이블을 만드는 단계별 방법을 다룹니다. 목적은 단순한 시각 개선이 아니라, 코드가 읽기 쉽고 유지보수 가능한 결과를 얻는 것입니다. 1️⃣ CSS 스타일 정의 우선 <style> 안에 스타일을 선언합니다. 아래 예제는 라운딩 박스를 만들고, 각 셀에 경계를 적용한 뒤 중복된 외곽선을 제거하는 방식입니다. <style> .roundingDiv { border: 1px solid #D0D0D0; border-radius: 10px 10px 0 0; overflow: hidden; border-collapse: collapse; } .borderedTable { border-collapse: collapse; width: 100%; } .borderedTable th, .borderedTable td { border: 1px solid #D0D0D0; padding: 10px; text-align: center; } .borderedTable tr:first-child th { border-top: 0; } .borderedTable tr:last-child td { border-bottom: 0; } .borderedTable tr th:first-child, .borderedTable tr td:first-child { border-left: 0; } .borderedTable tr th:last-child, .borderedTable tr td:last-child { border-right...

jQuery prev_week / next_week 유틸 함수로 YYYY-MM-DD 날짜 이동하기

jQuery로 일주일 전·후 날짜 구하기 – prev_week, next_week 함수 구현 웹 화면에서 지난 주 / 다음 주로 이동하는 달력이나 통계 화면 을 만들다 보면 “일주일 전 날짜”, “일주일 후 날짜”를 쉽게 구하는 함수가 있으면 편합니다. jQuery 자체에는 날짜 계산 기능이 없기 때문에 prev_week , next_week 같은 함수는 직접 구현해야 합니다. 이 글에서는 JavaScript의 Date 객체를 활용해 YYYY-MM-DD 형식 으로 일주일 전/후 날짜를 계산하는 방법을 정리합니다. 1. prev_week / next_week 기본 구현 코드 아래 예제는 문자열 날짜(YYYY-MM-DD) 를 받아서 일주일 전/후 날짜를 반환하는 함수입니다. function prev_week(date) { // date를 JavaScript Date 객체로 변환합니다. var newDate = new Date(date); // 7일 전의 날짜를 계산합니다. newDate.setDate(newDate.getDate() - 7); // YYYY-MM-DD 형식으로 반환합니다. return newDate.toISOString().substring(0, 10); } function next_week(date) { // date를 JavaScript Date 객체로 변환합니다. var newDate = new Date(date); // 7일 후의 날짜를 계산합니다. newDate.setDate(newDate.getDate() + 7); // YYYY-MM-DD 형식으로 반환합니다. return newDate.toISOString().substring(0, 10); } 위 함수는 각각 7일 전 / 7일 후 의 날짜를 구한 뒤, toISOString() 으로 문자열로 바꾸고...

PostgreSQL PL/pgSQL 함수 작성 완벽 가이드 — 기본 구조부터 동적 SQL까지 (dynamic table select with function)

PostgreSQL PL/pgSQL 함수 작성 완벽 가이드 — 기본 구조부터 동적 SQL까지 (dynamic table select with function) AI 생성 이미지: PostgreSQL PL/pgSQL 함수 작성 완벽 가이드 — 기본 구조부터 동적 SQL까지 (dynamic table select with function) 핵심 개념과 실무 중심 사용법 PostgreSQL 에서 함수를 만드는 방식은 크게 두 가지입니다. 간단한 연산이나 조회는 순수 SQL 함수로 처리할 수 있고, 복잡한 제어 흐름이나 반복, 예외 처리 등이 필요하면 PL/pgSQL 을 사용합니다. PL/pgSQL은 절차형 언어로서 조건문, 반복문, 지역 변수 같은 프로그래밍 요소를 제공해 복잡한 비즈니스 로직을 데이터베이스 안에서 직접 구현할 수 있습니다. 성능과 유지보수 측면에서 서버 측 로직을 적절히 분리하면 이점이 큽니다. 📘 1. 기본 함수 구조 PostgreSQL 함수는 CREATE FUNCTION 문을 통해 선언합니다. 기본 형태는 다음과 같고, 실제 구현은 반환 타입과 필요한 권한에 따라 달라집니다. CREATE OR REPLACE FUNCTION 함수이름(매개변수) RETURNS 반환타입 LANGUAGE plpgsql AS $function$ BEGIN -- 함수 내용 작성 END; $function$; OR REPLACE : 기존 함수를 안전하게 덮어씀 RETURNS : 스칼라 타입, 레코드, 테이블 형태 등 반환 타입 지정 LANGUAGE plpgsql : PL/pgSQL로 작성되었음을 명시 🔍 2. 예제 함수 - 기간 내 월별 테이블 조회 아래 예제는 두 개의 날짜 입력( p_searchstartdate , p_searchenddate )을 받아 해당 기간에 해당하는 월별 테이블 이름을 조회합니다. 실무에서는 월 단위로 파티...