본문 바로가기
  • 커뮤니티
  • 블로그
  • 북마크

Front-end52

[HTML]라이트모드, 다크모드 이미지를 picture에 미디어(media)쿼리로 다른이미지 불러오기 다크모드나 해상도에 따라 이미지를 다르게 보여줄때 유용하게 사용됩니다. 간단히 설명을 드리자면 source media는 css에 미디어쿼리와 동일하다고 생각하시면 됩니다. 아래 내용을 참고하셔서, 라이트/다크 모드일때 보여지는 이미지와, source 아래 기본 이미지를 넣으시면 됩니다. 반응형(해상도별) 예시 @media screen and (max-width:921px) { } (해상도 예시) 디바이스(운영체제별) 라이트, 다크모드 @media (prefers-color-scheme: dark) { } (디바이스 다크모드 예시) 2023. 6. 6.
[Javascript]다크 모드(dark) 적용 후 페이지 전환 시 라이트 배경 깜빡이는 문제 다크모드 적용 후 페이지 전환 시 깜빡이는 문제가 생길 수 있습니다. 원인 근본적인 이유는 페이지를 읽는 순서와 적용시점 때문입니다. 책을 읽을 때 위에서부터 읽듯이 웹페이지도 위에서 부터 순차적으로 코드를 읽고 실행을 시킵니다. 다크모드 적용하는 방법은 다양합니다만, html 혹은 body에 dark 관련 class를 추가해서 제작을 했다면, 스크립가 다크를 감지해서 먼저 코드상에 적용이 되어야 합니다. ex) 그리고 css에 적용을 했을때는 [color-thema="dark"] body {background:var(--background)} 이런 식으로 적용이 되겠죠? 다른 방식으로는 body class="dark-mode" 이렇게 될 수 도 있겠네요. 해결방법은 웹페이지 로딩이 다 되고 나서 적용이.. 2023. 6. 4.
[Javascript]자바스크립트 날짜 시간 정보를 가져오는 함수 자바스크립트에서는 Date 객체를 사용하여 날짜와 시간 정보를 가져올 수 있습니다. Date 객체를 생성하고 해당 객체의 메서드를 사용하여 다양한 날짜와 시간 정보를 얻을 수 있습니다. 현재 날짜와 시간 가져오기 const currentDate = new Date(); console.log(currentDate); // 예: Sun May 31 2023 10:30:00 GMT+0900 (Korea Standard Time) 위의 코드에서 currentDate 변수에 현재 날짜와 시간 정보가 담긴 Date 객체가 생성됩니다. 해당 객체를 출력하면 현재 날짜와 시간이 표시됩니다. 연도 가져오기 const currentYear = currentDate.getFullYear(); console.log(curre.. 2023. 6. 1.
[Javascript]자바스크립트 타입변환 JavaScript에서는 다양한 방법으로 타입 변환을 할 수 있습니다. 일반적으로 사용되는 방법들은 다음과 같습니다. 암시적 타입 변환(Implicit Conversion) JavaScript는 필요한 경우에 자동으로 타입을 변환합니다. 예를 들어, 숫자와 문자열을 함께 사용하면 숫자를 문자열로 자동 변환하여 연결할 수 있습니다. let num = 42; let str = "The answer is " + num; // 암시적으로 숫자를 문자열로 변환하여 연결 console.log(str); // "The answer is 42" 명시적 타입 변환(Explicit Conversion) 개발자가 직접 타입을 변환하는 메서드나 연산자를 사용하여 타입을 변환할 수 있습니다. 문자열로의 변환 toString().. 2023. 5. 23.
[Javascript]자바스크립트 지수 연산자(exponent operator)와 기존 방식 비교 JavaScript에서 지수 연산자는 ** 기호를 사용하여 표현됩니다. 이 연산자는 ES7(ECMAScript 2016)부터 도입되었으며, 거듭제곱 연산을 수행하는 데 사용됩니다. 지수 연산자 아래는 JavaScript에서의 지수 연산자 사용 예시입니다 let result = 2 ** 3; console.log(result); // 출력: 8 위 예시에서 2 ** 3은 2를 3번 곱한 결과인 8을 반환합니다. 음수 일 때 음수는 () 괄호로 묶어줘야 합니다. let result = (-2) ** 3; console.log(result); // 출력: -8 위 예시에서 (-2) ** 3은 -2를 3번 곱한 결과인 -8을 반환합니다. JavaScript의 지수 연산자는 음수에 대해서도 정상적으로 동작합니다... 2023. 5. 22.
[Javascript]자바스크립트 null typeof(타입)이 object로 나오는 원인과 대응 방법은? JavaScript에서 `typeof null`을 실행하면 "object"라는 결과가 반환됩니다. 이는 JavaScript의 설계 결함 중 하나로 알려져 있습니다. 이러한 동작은 초기 버전의 JavaScript가 개발되면서 발생한 오류로 인해 현재까지 유지되고 있습니다. null은 원래 object가 아닌 개별적인 타입으로 존재해야 할 것입니다. 실제로 null은 값이 없음을 나타내는 원시 타입이지만, `typeof` 연산자는 null을 "null"이 아닌 "object"로 분류합니다. 이는 기존 JavaScript 엔진의 내부 구현에 기인한 문제입니다. 대응 방법은? `typeof null`을 사용하여 null 타입을 확인하는 대신, null인지 확인하기 위해 엄격한 동등 비교(`===`)를 사용하거나.. 2023. 5. 22.
[Javascript]이스케이프 시퀀스(Escape sequence) 종류와 의미 이스케이프 시퀀스(Escape sequence)는 특수한 문자를 나타내기 위해 역슬래시(\)와 함께 사용되는 문자 조합입니다. 다양한 이스케이프 시퀀스가 있으며, 각각의 시퀀스는 특정한 의미를 갖습니다. 아래에는 자바스크립트에서 사용되는 주요한 이스케이프 시퀀스의 종류와 의미입니다. - `\'`: 작은 따옴표를 나타냅니다. - `\"`: 큰 따옴표를 나타냅니다. - `\\`: 역슬래시를 나타냅니다. - `\n`: 줄 바꿈을 나타냅니다. - `\r`: 캐리지 리턴(현재 위치를 줄의 맨 앞으로 이동)을 나타냅니다. - `\t`: 탭을 나타냅니다. - `\b`: 백스페이스를 나타냅니다. - `\f`: 폼 피드(다음 페이지나 폼의 다음 필드로 이동)를 나타냅니다. - `\v`: 수직 탭을 나타냅니다. - `\u.. 2023. 5. 22.
[Javascript]자바스크립트 ES6에 추가된 백틱(`)과 기존 코드 비교 자바스크립트 ES6에서 백틱(`) 방식(esc 아래 있는 키)이 추가되었습니다. (영문키로 변경 후 눌러주세요) 백틱은 어떨 때 사용할까요? JavaScript에서 백틱(`)은 템플릿 리터럴(template literal)을 나타내는 데 사용됩니다. 백틱은 기존의 따옴표('작은따옴표' 또는 "큰따옴표") 대신 사용할 수 있으며, 여러 줄로 이루어진 문자열과 표현식의 삽입을 편리하게 작성할 수 있도록 도와줍니다. 기존의 따옴표로 둘러싸인 문자열을 사용할 때는 여러 줄을 작성하기 위해 줄 바꿈 문자(\n)를 사용해야 했습니다. 또한, 문자열과 변수 값을 함께 사용하려면 문자열 연결(concatenation) 연산자인 +를 사용해야 했습니다. 아래는 기존의 따옴표를 사용한 코드와 백틱을 사용한 코드의 비교 예.. 2023. 5. 21.
[Javascript]자바스크립트(ES6) 데이터 타입 종류 자바스크립트(ES6)는 7개의 데이터 타입을 제공합니다. 원시 타입(Primitive types): number: 숫자를 나타내는 데이터 타입입니다. 정수 및 부동 소수점 숫자를 포함합니다. string: 문자열을 나타내는 데이터 타입입니다. 따옴표(큰 따옴표 또는 작은 따옴표)로 둘러싸여 있습니다. boolean: true 또는 false 값을 나타내는 데이터 타입입니다. null: 값이 없음을 나타내는 데이터 타입입니다. undefined: 변수에 할당되지 않은 값, 존재하지 않는 속성 또는 존재하지 않는 배열 요소를 나타내는 데이터 타입입니다. (ECMAScript 5에서는 실제로 undefined라는 값으로 할당되지만, 개념적으로는 타입입니다.) symbol: 유일하고 변경할 수 없는 값을 나타내.. 2023. 5. 21.
[Javascript]자바스크립트 표현식인 문과 표현식이 아닌 문 자바스크립트에서는 문(Statement)과 표현식(Expression) 두 가지 유형의 코드를 사용합니다. 1. 표현식(Expression) 표현식은 값을 평가하여 결과를 반환하는 코드입니다. 예를 들면, 숫자, 문자열, 변수, 함수 호출 등이 표현식의 예입니다. 표현식은 다른 표현식과 연산자를 조합하여 만들어질 수 있습니다. 표현식은 대부분 다른 코드에서 값으로 사용될 수 있습니다. 2 + 3 // 5 x = 10 // 10 (할당 표현식은 할당된 값 자체를 반환합니다.) myFunction() // 함수 호출 표현식 2. 문(Statement) 문은 어떤 작업을 수행하는 완전한 코드 단위입니다. 문은 보통 세미콜론(;)으로 끝나며, 여러 개의 문은 중괄호({})로 블록으로 그룹화될 수 있습니다. 문은.. 2023. 5. 18.
[Javascript] ECMAScript 버전별 출시 연도와 추가된 주요 기능들 ECMAScript의 다양한 버전과 그 특징을 보여주는 표입니다. ECMAScript 버전 출시 연도 주요 기능 1 1997 기본 문법, 변수, 함수, 객체 2 1999 클래스, 이터레이터, 정규식 3 2001 프로토타입 상속, 객체 지향 프로그래밍 5 2009 함수 표현식, 제네릭 함수, 람다 함수 6 2015 모듈, 클래스, 타입스크립트 7 2016 async/await, 화살표 함수, 전역 컨텍스트 8 2017 스프레드 연산자, 템플릿 문자열, 옵셔널 체크 9 2018 BigInt, String.prototype.includes(), String.prototype.matchAll() 10 2019 Object.entries(), Object.values(), Object.fromEntries() 1.. 2023. 5. 14.
[javascript]윈도우(맥OS) or 모바일 다크모드일때 dark-style.css 호출하기 윈도우(맥OS)나 모바일 다크모드일때 자동으로 감지 후 dark-style.css를 호출하는 방법입니다. JAVASCRIPT 위처럼 다크모드일때 웹페이지에서 dark-style.css를 호출하기위해 javascrpt에 아래 코드를 삽입합니다. if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { // 다크 모드이므로 dark.css를 호출합니다. const link = document.createElement('link'); link.rel = 'stylesheet'; link.href = 'dark.css'; document.head.appendChild(link); } HTML html을 보시면 아래와.. 2023. 5. 11.
[Jquery]부트스트랩(Bootstrap)과 제이쿼리(Jquery)의 버전별 호환성 부트스트랩과 jQuery의 버전 호환성은 부트스트랩 버전에 따라 다릅니다. 아래는 부트스트랩의 여러 버전과 그에 맞는 jQuery 버전을 요약한 표입니다. Bootstrap Version Compatible jQuery Version 5.x.x 3.5.1 or higher 4.x.x 3.2.1 or higher 3.x.x 1.9.1 - 3.5.x 2.x.x 1.7.1 - 1.9.1 1.x.x 1.3.2 - 1.9.1 즉, 사용 중인 부트스트랩의 버전에 따라 호환 가능한 jQuery 버전이 결정됩니다. 예를 들어, Bootstrap v4.0.0을 사용하고 있다면 jQuery 버전 3.2.1 이상을 사용하는 것이 좋습니다. 2023. 5. 9.
[VS Code]비주얼 스튜디오 익스텐션 sftp, ftp를 이용해서 바로 업로드해 보자 에디트플러스를 사용했을땐 저장하면 바로바로 서버에 업로드되서 편하게 코딩했던거 같습니다. VS Code를 사용하면서도 동일하게 가능합니다. 경로 혹은 설정을 잘못해서 저장 후 파일을 하나씩 올리고 있었다면, 아래방법데로 해보세요. 로컬에서 파일을 저장하면 바로 서버에 올라가게 하는 방법입니다. (모르시는 분들을 위해) SFTP 익스텐션 설치하기 VS Code 익스텐션에서 sftp를 다운로드 받습니다. (여러 ftp 설치파일을 사용해봤지만 개인적으로 이게 편하더군요.) 프로젝트 생성 로컬 프로젝트 폴더를 여시고 설정파일을 생성해야합니다. 그후 설정에서 SFTP:Config를 선택합니다. (윈도우 : ctrl + shift + p 맥 : command + shift + p) 설정 화면이 보이면 아래와 같이 .. 2023. 5. 8.
[React]리액트 자주사용하는 기본문법 React의 문법 React는 JSX(JavaScript XML) 문법을 사용하여 UI를 작성합니다. JSX는 JavaScript의 확장 문법으로, HTML과 유사한 문법을 사용하여 컴포넌트를 작성할 수 있습니다. 컴포넌트 생성 프로퍼티 전달 이벤트 처리 조건부 렌더링 배열 렌더링 스타일링 반복문 이벤트핸들링 컴포넌트 생성 React에서 컴포넌트를 생성할 때는, 함수형 컴포넌트를 작성할 수 있습니다. 이 함수는 JSX를 반환해야 하며, JSX는 괄호(())로 감싸야 합니다. jsx Copy code function MyComponent() { return Hello, World!; } 프로퍼티 전달 React 컴포넌트에는 프로퍼티(props)를 전달할 수 있습니다. 프로퍼티는 해당 컴포넌트가 렌더링될 때.. 2023. 3. 29.