조아마시

쓸모 있는 상세페이지 만들기

분류 전체보기 130

[자바스크립트] 자바스크립트 6가지 false 값 자세히 알아보기

자바스크립트에서 조건문이나 논리 연산에서 거짓(false)으로 평가되는 값들을 falsy 값이라고 합니다. 이러한 falsy 값들을 정확히 이해하는 것은 자바스크립트를 효과적으로 사용하기 위해 매우 중요합니다.6가지 falsy 값false:논리형 값 false 자체는 당연히 falsy 값입니다.null:객체를 참조하지 않는 값으로, 아무것도 없는 상태를 나타냅니다.undefined:아직 값이 할당되지 않은 변수나 존재하지 않는 객체의 프로퍼티를 참조할 때 나타나는 값입니다.0:숫자 0은 falsy 값입니다.NaN:Not a Number의 약자로, 숫자가 아닌 값을 나타냅니다. 예를 들어, 숫자가 아닌 문자열을 숫자로 변환하려고 할 때 발생합니다."" (빈 문자열):아무런 문자가 없는 빈 문자열도 fals..

[Vue] Vue3에서 onUpdated() 훅 사용 가이드

onUpdated()는 Vue 3에서 컴포넌트의 반응형 데이터가 업데이트되고 DOM이 다시 렌더링된 후 호출되는 생명주기 훅입니다. 컴포넌트가 DOM에 반영된 최신 상태를 기반으로 로직을 실행하거나 작업을 수행하는 데 사용됩니다. 다음과 같은 다양한 활용 사례가 있습니다.1. DOM 조작:컴포넌트의 반응형 데이터 변화에 따라 DOM 요소를 조작하는 데 사용됩니다.스타일 변경, 요소 추가/삭제, 애니메이션 실행 등을 수행할 수 있습니다.주의 사항: 과도한 DOM 조작은 성능 저하를 초래할 수 있으므로 필요한 작업만 수행해야 합니다.2. 이벤트 리스너 등록/제거:반응형 데이터 변화에 따라 이벤트 리스너를 동적으로 등록하거나 제거하는 데 사용됩니다.특정 조건 충족 시 이벤트 처리 로직을 실행하거나, 사용하지 ..

웹개발/vuejs 2024.07.29

[Vue] Vue3에서 onBeforeUnmount() 훅 사용 가이드

onBeforeUnmount()는 Vue 3에서 컴포넌트가 DOM에서 언마운트되기 직전에 호출되는 생명주기 훅입니다. 컴포넌트가 제거되기 전에 마무리 작업을 수행하거나, 리소스 해제를 위한 로직을 실행하는 데 사용됩니다. 다음과 같은 다양한 활용 사례가 있습니다.1. 이벤트 리스너 제거:컴포넌트에 등록된 이벤트 리스너를 제거하여 메모리 누수를 방지하는 데 사용됩니다.직접 등록한 이벤트 리스너뿐만 아니라, 라이브러리 또는 타사 코드에서 등록된 리스너도 제거해야 합니다.주의 사항: 모든 이벤트 리스너가 제거되었는지 확인하는 것이 중요합니다.2. 타이머 해제:컴포넌트 내에서 사용되는 타이머를 해제하여 성능 저하를 방지하는 데 사용됩니다.setInterval, setTimeout과 같은 함수로 생성된 타이머를 ..

웹개발/vuejs 2024.07.29

[Vue] Vue3에서 onUnmounted() 훅 사용 가이드

onUnmounted()는 Vue 3에서 컴포넌트가 DOM에서 완전히 언마운트된 후 호출되는 생명주기 훅입니다. 컴포넌트가 제거되었으며 더 이상 사용자와 상호 작용하지 않음을 의미하며, 마무리 작업이나 분석 로직을 수행하는 데 사용됩니다. 다음과 같은 다양한 활용 사례가 있습니다.1. 사용 분석 기록:컴포넌트 사용 기간, 사용자 이벤트, 성능 데이터 등을 기록하여 분석에 활용합니다.사용 패턴 파악, 사용자 만족도 평가, 애플리케이션 개선에 도움이 되는 정보를 수집합니다.주의 사항: 개인정보 침해 문제에 유의하고, 사용자 동의를 얻은 후에만 기록해야 합니다.2. 로그 기록:컴포넌트 언마운트 시점의 에러, 경고 메시지, 디버깅 정보 등을 로그로 기록합니다.문제 해결, 성능 최적화, 코드 개선에 도움이 되는 ..

웹개발/vuejs 2024.07.29

[Vue] Vue3에서 ref와 reactive 알아보기

Vue3에서 ref와 reactive는 모두 반응형 데이터를 만들 수 있도록 도와주는 유용한 도구이지만, 각각의 특징과 사용법에 차이점이 있습니다.1. 데이터 타입:ref: 기본 자료형 (String, Number, Boolean) 및 객체 모두 사용 가능reactive: 객체만 사용 가능 (Object, Array, Map, Set 포함)2. 접근 방식:ref: .value 접근자를 사용하여 값에 접근 및 변경reactive: 객체 속성처럼 직접 접근 및 변경 가능const count = ref(0)count.value = 13. 객체 재할당:ref: 객체를 재할당하면 반응성 유지const obj = ref({})obj.value = { newProperty: 'value' }reactive: 객체를 ..

웹개발/vuejs 2024.07.29

[Vue] Vue 3에서 계산된 속성(computed) 사용하기

Vue 3의 computed는 데이터 속성에 의존하는 값을 계산하고 캐싱하는 데 사용되는 강력한 도구입니다. 템플릿에서 간결하게 표현식을 사용하여 값을 참조할 수 있도록 하며, 데이터 변경에 대한 반응성도 제공합니다. 이름: {{ fullName }} 나이: {{ age }} 위 코드에서 fullName은 firstName과 lastName 속성에 의존하는 계산된 속성입니다. 템플릿에서 {{ fullName }}으로 간단하게 참조할 수 있으며, firstName 또는 lastName 값이 변경될 때마다 자동으로 다시 계산됩니다.주요 특징:캐싱: 계산된 속성은 의존하는 데이터가 변경되지 않는 한 다시 계산되지 않습니다. 이는 성능 향상에 도움이 됩니다.반응성: 의존하는 데이터가 변경되면 자동으로..

웹개발/vuejs 2024.07.29

[Vue] Vue에서 CryptoJS 사용하기

Vue.js에서 CryptoJS를 사용하여 다양한 암호화 작업을 수행할 수 있습니다. CryptoJS를 사용하기 전에 NPM 또는 Yarn을 사용하여 설치해야 합니다.npm install crypto-js설치 후 다음과 같은 방법으로 Vue 컴포넌트에서 CryptoJS를 사용할 수 있습니다.1. CryptoJS 가져오기:import CryptoJS from 'crypto-js';2. 암호화 및 복호화:const message = '안녕하세요, CryptoJS!';const key = 'mySecretKey';// 암호화const encrypted = CryptoJS.AES.encrypt(message, key).toString();console.log('암호화된 문자열:', encrypted);// 복호..

웹개발/vuejs 2024.07.29

[자바스크립트] 자바스크립트 데이터 타입 이해하기

자바스크립트에서 데이터 타입은 변수가 저장할 수 있는 값의 종류를 정의합니다. 데이터 타입을 이해하는 것은 변수를 효과적으로 사용하고 코드 오류를 방지하는 데 중요합니다.자바스크립트에는 크게 두 가지 종류의 데이터 타입이 있습니다.1. 기본형 (Primitive Type) / 원시 타입기본형은 자바스크립트에서 가장 단순한 데이터 타입이며, 값 자체를 직접 저장합니다. 기본형은 다음과 같습니다.Number: 정수와 실수를 모두 포함하는 숫자 데이터입니다.예시: 10, 3.14, -200String: 텍스트 데이터를 나타냅니다. 큰따옴표(") 또는 작은따옴표(')로 둘러싸인 문자의 시퀀스입니다.예시: "Hello, world!", '안녕하세요', This is a string literal.Boolean: ..

[자바스크립트] 자바스크립트 불변성 이해하기

자바스크립트 불변성은 객체가 생성된 후 상태를 변경할 수 없는 것을 의미합니다. 즉, 객체의 프로퍼티 값을 변경하거나 삭제할 수 없다는 것입니다. 반면, 가변 객체는 생성 후에도 값을 변경하거나 삭제할 수 있습니다.불변성은 단순히 값 재할당과는 다릅니다. 값 재할당은 변수에 다른 값을 할당하는 것을 의미하는데, 이는 기존 객체의 상태를 변경하지 않습니다. 반면, 객체의 프로퍼티 값을 변경하면 객체 자체의 상태가 변하게 됩니다.불변성의 장점불변성을 사용하는 것은 다음과 같은 여러 장점을 제공합니다.예측 가능한 코드: 불변 객체는 생성된 후 상태가 변경되지 않기 때문에 코드의 동작을 예측하기 쉽습니다. 이는 버그를 줄이고 코드를 이해하고 유지 관리하는 것을 용이하게 합니다.스레드 안전: 불변 객체는 여러 스..

[자바스크립트] 자바스크립트 객체 타입 메모리 관리

자바스크립트 객체는 메모리에서 **힙(heap)**이라는 영역에 저장됩니다. 힙은 객체와 그 속성, 메서드를 위한 메모리 공간을 제공합니다. 객체는 메모리에 직접 저장되는 것이 아니라 참조를 통해 관리됩니다.1. 객체 생성 및 메모리 할당객체는 new 키워드를 사용하여 생성됩니다.객체 생성 시 힙에 객체 데이터를 위한 메모리 공간이 할당됩니다.객체의 속성과 메서드는 객체 데이터의 일부로 저장됩니다.예: let person = new Object(); 라고 하면 힙에 person 객체가 생성되고, 객체 데이터를 위한 메모리 공간이 할당됩니다.2. 객체 참조객체 참조는 객체 데이터를 가리키는 메모리 주소입니다.변수에 객체를 할당하면 변수는 해당 객체의 참조를 저장합니다.여러 변수가 동일한 객체를 참조할 수 ..

[자바스크립트] 배열 (Array)

자바스크립트 배열은 크게 두 가지 종류로 나눌 수 있습니다.1. 리터럴 배열리터럴 배열은 대괄호 []를 사용하여 직접 값을 나열하는 가장 간단한 방법입니다.// 숫자 배열const numbers = [1, 2, 3, 4, 5];// 문자열 배열const strings = ["Hello", "World", "!@#"];// 혼합 배열const mixedArray = [1, "two", 3.14, true];2. 생성자 배열생성자 배열은 new Array() 생성자를 사용하여 만듭니다.// 빈 배열 생성const emptyArray = new Array();// 특정 길이의 빈 배열 생성 (초기화 안됨)const prefilledArray = new Array(5);// 특정 값으로 초기화된 배열 생성con..

[MySQL] MySQL 명령어 모음

MySQL은 데이터 저장, 검색, 관리 등을 위한 다양한 명령어를 제공하는 데이터베이스 관리 시스템(DBMS)입니다.기본 명령어데이터베이스 작업SHOW DATABASES: 현재 존재하는 모든 데이터베이스 목록을 표시합니다.SHOW DATABASES;CREATE DATABASE: 새로운 데이터베이스를 생성합니다.CREATE DATABASE my_database;USE: 작업할 데이터베이스를 선택합니다.USE my_database;DROP DATABASE: 데이터베이스를 삭제합니다.DROP DATABASE my_database;테이블 작업SHOW TABLES: 선택된 데이터베이스에 존재하는 모든 테이블 목록을 표시합니다.SHOW TABLES;CREATE TABLE: 새로운 테이블을 생성합니다.CREATE T..

웹개발/mySQL 2024.07.29

[Vue] Vue에서 여러 이미지 파일 첨부 및 Base64로 img 태그에 반영하는 방법

Vue.js에서 여러 이미지 파일을 첨부하고 Base64 문자열로 변환하여 img 태그에 동적으로 표시하는 방법을 단계별로 안내해 드리겠습니다. - 선택된 파일 유형 검증- 이미지 개수 제한 검사 1. HTML 템플릿 설정: 2. 스크립트 설정:import { ref } from 'vue';export default { setup() { const MAX_IMAGES = 10; // 최대 허용 이미지 수 const base64Images = ref([]); // Base64 이미지 데이터를 저장할 배열 const handleFileChange = (event) => { const files = event.target.files..

웹개발/vuejs 2024.07.29

[자바스크립트 ] 자바스크립트 Array, Set, Map 쉽게 정리하기

1. Array (배열)순서대로 값들을 저장하는 자료구조입니다.쉽게 생각하면, 리스트라고 생각하면 됩니다.여러 값들을 하나의 변수에 담고 싶을 때 사용합니다.const numbers = [1, 2, 3, 4, 5];const fruits = ["사과", "바나나", "오렌지"];2. Set (세트)중복 없이 값들을 저장하는 자료구조입니다.집합이라는 개념으로, 중복된 값은 하나만 저장됩니다.고유한 값들을 관리하는데 유용합니다.const uniqueNumbers = new Set([1, 2, 3, 3, 4]); // 중복된 3은 제거됩니다.console.log(uniqueNumbers); // {1, 2, 3, 4}3. Map (맵)키-값 쌍으로 데이터를 저장하는 자료구조입니다.객체와 비슷하지만, 키를 이용..

[UI/UX] Tab Bar Interaction

See the Pen Tab Bar Interaction #2 by Sikriti Dakua (@dev_loop) on CodePen." data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 See the Pen Daily UI #3 (Fluid Menu) by Dragos (@siseer) on CodePen." data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 See the Pen Fluid tab bar by Mikael Ainalem (@ainalem) on CodePen." data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 See the Pen Tabbar animation - Only CSS by Mil..

웹개발/codepen 2024.07.29

[UI/UX] SVG Loading Spinners

See the Pen CSS Loading Spinners by yewr87fsdi (@r34h87fh) on CodePen." data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 See the Pen SVG Loading icons by Aurer (@aurer) on CodePen." data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 See the Pen SVG Preloaders by Alex (@alexanderkwright) on CodePen." data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 See the Pen CSS3 Loader by Mohsen Khakbiz (@Mohsen-Khakbiz) ..

웹개발/codepen 2024.07.28

[Web3d] codepen threejs

See the Pen Paranoid vs shy birds by Karim Maaloul (@Yakudoo) on CodePen." data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 See the Pen Cat vs ball of wool by Karim Maaloul (@Yakudoo) on CodePen." data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 See the Pen Low Poly Tree Generator by Karim Maaloul (@Yakudoo) on CodePen." data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 See the Pen Mighty fish by Karim Maa..

웹개발/codepen 2024.07.28

[Chart] D3, SVG, Chartjs

See the Pen Squiggly lines by Gabi (@enxaneta) on CodePen." data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 See the Pen Day 090 - Equalizer - version 1 by Kunuk Nykjær (@kunukn) on CodePen." data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 See the Pen Smooth svg line chart with vue.js by chris martin (@imchris) on CodePen." data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 See the Pen SVG Curve / cubic-be..

웹개발/codepen 2024.07.28

[자바스크립트] 옵셔널 체이닝

옵셔널 체이닝은 자바스크립트에서 객체의 프로퍼티에 안전하게 접근할 수 있도록 해주는 강력한 기능입니다. 이 기능은 특히 중첩된 객체 구조에서 특정 프로퍼티가 존재하지 않을 때, 에러 없이 undefined를 반환하여 프로그램의 흐름을 중단시키지 않습니다.옵셔널 체이닝의 핵심안전한 접근: 존재하지 않는 프로퍼티에 접근하려고 할 때 TypeError가 발생하지 않고 undefined를 반환합니다.간결한 코드: if 문 등을 사용하여 프로퍼티 존재 여부를 확인하는 코드를 줄여줍니다.가독성 향상: 코드의 의도를 명확하게 전달하여 유지보수를 용이하게 합니다.다양한 활용 예시1. 깊은 객체 구조에서의 안전한 접근:const user = { address: { street: 'Main Street' }};/..

[자바스크립트] null 병합 연산자

null 병합 연산자란 무엇일까요?null 병합 연산자 ??는 왼쪽 피연산자가 null 또는 undefined일 때 오른쪽 피연산자를 반환하는 논리 연산자입니다. 즉, 왼쪽 값이 "없는" 값일 때만 오른쪽 값을 사용하겠다는 의미입니다.왜 null 병합 연산자가 필요할까요?기존의 || 연산자와의 차이:|| 연산자는 왼쪽 값이 falsy 값(false, 0, '', null, undefined, NaN)일 때 모두 오른쪽 값을 반환합니다.?? 연산자는 오직 null 또는 undefined일 때만 오른쪽 값을 반환합니다.명확한 의도 표현:?? 연산자를 사용하면 코드의 의도를 더 명확하게 나타낼 수 있습니다. 특히 0이나 빈 문자열과 같은 falsy 값을 유효한 값으로 간주해야 하는 경우에 유용합니다.// nu..

728x90