전체 글

전체 글

    dialog 태그로 손쉽게 모달창 만들기

    HTML의 dialog 태그를 이용하면 많은 스크립트를 작성하지 않고 손쉽게 모달창을 만들 수 있다. 모달 열기 버튼 모달창 내용 모달 닫기 버튼

    리액트 JSX/TSX에서 switch 문법 사용하기

    function HelloWorld() { const [state, setState] = useState(0); return ( {(() => { switch (state) { case 0: return ; case 1: return ; case 2: return ; default: } })()} ); }

    [regex] 전화번호, 이메일 정규표현식

    전화번호 -는 있어도 되고 없어도 됨이 기준 /^01([0|1|6|7|8|9])-?([0-9]{3,4})-?([0-9]{4})$/ 이메일 /^[A-Z0-9._%+]+@[A-Z0-9.]+\.[A-Z]{2,4}$/ 0 이상의 정수 /^[0-9]\d*$/

    [React.ts] props로 setState 넘길 때 타입 지정하는 방법

    Dispatch 형태로 타입을 지정한다. import { Dispatch, SetStateAction, useState } from "react"; interface IExample { state: boolean; setState: Dispatch; } const [state, setState] = useState(false);

    앞으로 써먹어야 할 2022 CSS 최신 기술 모음

    CSS 최신 기술들을 모아보았다. 2022년 11월 현재 기준으로, 브라우저 호환성이 떨어지는 기술일 수록 아래 쪽에 작성했다. :has() 특정한 자식을 가진 부모 요소를 선택할 수 있다. /** 포인터가 올라가 있는 img를 가진 부모 a 태그 **/ a:has(> img:hover) { ... } accent-color 라디오 버튼, 체크 박스, 범위 슬라이더 등 HTML 요소의 기본 강조 색상을 변경한다. input { accent-color: purple; } dvh, lvh, svh dvh: Dynamic Viewport Height - 동적 뷰포트 높이 (네비게이션 여부에 따라 달라짐) lvh: Largest Viewport Height - 가장 큰 뷰포트 높이 (네비게이션이 없을 때) sv..

    PWA - RAIL 모델

    RAIL 모델이란? 성능에 대해 생각할 수 있는 구조를 제공하는 사용자 중심의 성능 모델로, 사용자 경험을 주요 작업으로 분류하고 각각에 대한 성능 목표를 정의하도록 돕는다. RAIL은 아래와 같은 웹 앱 수명 주기의 4가지 뚜렷한 측면을 말한다 Response (응답) Animation (애니메이션) Idle (유휴 상태) Load (로드) 참조 https://web.dev/i18n/ko/rail/ RAIL 모델을 사용한 성능 측정 RAIL 모델을 통해 디자이너와 개발자는 사용자 경험에 가장 큰 영향을 미치는 성능 최적화 작업을 안정적으로 목표로 삼을 수 있습니다. RAIL 모델이 설정한 목표와 지침, 그리고 이를 달성하기 위 web.dev

    PWA - PRPL 패턴

    PRPL 패턴이란? PRPL은 웹 페이지를 인터랙티브하고 더 빠르게 로드하는 패턴으로 Google Chrome 팀이 고안했다. 오프라인이거나 데이터 절약 모드에서 네트워크 지연이 높은 모바일 기기를 위한 것이다. PRPL은 다음을 함축하고 있는 약어다. Preload the most important resources. 가장 중요한 리소스를 미리 로드해라. Render the initial route as soon as possible. 최초 라우팅을 가능한 빨리 렌더링해라. Pre-cache remaining assets. 남은 assets를 미리 캐싱하라. Lazy load other routes and non-critical assets. 다른 라우팅과 덜 중요한 assets를 레이지로딩해라. Pr..

    자바스크립트 반복문 총 정리

    1. for 기본적인 반복문. for (let i = 0; i 0~4 까지만 출력 console.log(i); } // for 문에서 continue 사용하기 for (let i = 0; i 홀수만 출력됨 console.log(i); } 2. for in 배열 뿐만이 아니라 object에서도 사용할 수 있다. Object 내 키 값을 가져오기 위..

    깃허브에 있는 파일 또는 디렉토리 삭제하는 방법

    파일 삭제 1. 로컬 디렉토리에서는 유지, git 저장소에서만 삭제 git rm --cached file_name.js git commit -m "Remove file_name.js on git" 2. 로컬 디렉토리와 git 저장소에서 동시 삭제 git rm file_name.js git commit -m "Remove file_name.js" 디렉토리 삭제 1. 로컬 디렉토리에서는 유지, git 저장소에서만 삭제 git rm --cached -r .idea git commit -m "Remove .idea folder" 2. 로컬 디렉토리와 git 저장소에서 동시 삭제 git rm -rf folder_name git commit -m "Remove folder_name"

    PWA API - Credentials

    Credential Management API Credential Management API는 웹 사이트가 비밀번호나 공개 키(public key) 등을 웹 사이트가 저장하고 불러올 수 있게 하는 API다. 이 기능들은 사용자가 비밀번호를 타이핑 하지 않고 로그인을 하고, 웹 사이트에서 주로 사용했던 계정을 볼 수 있게 하며, 세션 만료 시 재 로그인 과정 없이 다시 세션을 시작하게 할 수 있다. Interfaces 종류 Credential: 개체(사용자)에 대한 정보를 제공 CredentialsContainer: 인증을 요청하거나, 로그인이나 로그아웃 같은 특정 이벤트가 일어날 때 사용자에게 알리기 위한 메소드들을 제공 FederatedCredential: Federated Identity Provid..