개발 도구 (Development Tools) 161

[JavaScript] 임의의 UUID를 생성하는 방법

# 숫자로 UUID 만들기 function generateUUID() { const digits = []; for (let i = 0; i < 16; i++) { digits.push(Math.floor(Math.random() * 10)); } return `${digits[0]}${digits[1]}${digits[2]}${digits[3]}-${digits[4]}${digits[5]}-${digits[6]}${digits[7]}-${digits[8]}${digits[9]}-${digits[10]}${digits[11]}${digits[12]}${digits[13]}${digits[14]}${digits[15]}`; } console.log(generateUUID()); for 반복문을 16번 반복하..

[JavaScript] 배열의 값들을 더하는 방법

# Reduce const data = ['1', '3', '5', '7', '9']; function useReduce() { const sum = data.reduce((acc, element) => acc + parseInt(element), 0); console.log('reduce() = ', sum); } useReduce() // "reduce() = " 25 동작 방식 reduce() 메서드는 데이터 배열의 각 요소에 대해 reducer 함수를 호출하는데, 첫 번째 반복에서 acc는 초기값 0으로 설정되고 element는 데이터 배열의 첫 번째 요소인 '1'로 이 들어옵니다. reducer 함수는 parseInt()를 호출하여 요소를 숫자로 변환하고 현재 0인 acc에 더합니다. Reduc..

VS Code에서 합자(Ligature)를 사용해보자.

# 합자(Ligature)란? 합자(合字, Ligature)는 둘 이상의 글자를 합하여 한 글자를 만드는 것. 또는 그 글자. 자주 쓰이는 주요 합자들의 모양은 대게 비슷하며, 꼭 어떻게 해야한다고 정해진것이 아니기에 폰트에 따라 독자적인 형태를 가지고 있는것 또한 존재한다. # VS CODE에서 합자를 사용하는 방법 (1) 합자를 지원하는 폰트를 설치한다. 우선 아무 폰트나 가능한것이 아니기에, 합자를 지원하는 폰트를 설치해야합니다. 종류는 너무나 많으니 유료, 무료 등 원하는 합자를 지원하는 폰트를 설치합니다. (2) VS Code 설정 ① 설정을 열고(cmd + ,) 글꼴이라고 검색한 후, Editor: Font Family에 합자로 사용할 폰트를 가장 앞쪽에 작성해 줍니다. ② Font Ligat..

JavaScript의 배열 메서드

JavaScript의 배열에 관련된 메서드들입니다. 이들 메서드는 배열의 원소를 추가, 제거, 변경, 정렬, 조회 등의 작업을 수행할 수 있습니다. 배열에 요소를 추가 push() 배열의 끝에 요소를 추가합니다 const array = [1, 2, 3]; array.push(4); // 결과 [1, 2, 3, 4] unshift() 배열의 시작 부분에 요소를 추가합니다 const array = [1, 2, 3]; array.unshift(0); // 결과 [0, 1, 2, 3, 4] *push()와 unshift()는 배열의 길이를 반환합니다. const array = [1, 2, 3]; // Push const newLength = array.push(4); // 현재의 배열 = [1, 2, 3, 4]..

클릭과 드래그 구분하기

클릭이 가능한 카드형 박스지만, 내부 내용을 드래그해서 복사도 가능하게 하고 싶은 경우. 즉, 같은 박스이지만 내부에서 드래그와 클릭을 구분해서 실행해야 할 경우 사용하는 방법. (아무리 생각해도 사용자 친화적 UI는 아닌 거 같지만 하라면 해야지 뭘 어쩌겠는가...) 방법 1. 클릭 시간을 기준으로 정확하게는 드래그를 구분하는것이 아니라, 클릭 지속시간을 이용하여 판단하는 방법. 마우스를 누르고 있는 시간이 길다면 클릭이 아닌 것으로 판단. 방법 2. 드래그 거리를 기준으로 클릭을 시작한 지점으로부터, 클릭을 해제한 지점까지의 거리를 측정하여 클릭과 드래그를 구분.

VS Code - API 동작 확인하기(Thunder Client)

Thunder Client는 개발 하면서 API 요청과 요청에 대한 결과를 확인할수 있게 도와줍니다. # 어떻게 사용하는것인가 상황. 왼쪽과 같은 API 문서가 있고, 이메일 API가 정상적으로 작동하는지 확인을 해보자. (1) 우선 VS Code의 확장 마켓플레이스에서 Thunder Client를 설치한다. (2) 설치가 완료되면 왼쪽 메뉴 목록에 Thunder Client 아이콘이 등록되며 그 아이콘을 Thunder Client를 사용할 수 있다. (3) New Request 버튼을 눌러 테스트 하고 싶은 내용을 작성한후 Send를 보내면 끝. 아래와 같이 POST 요청은 주로 Body > Form에서, Get 요청은 Query에서 내용을 작성하면 된다. 토큰값이 필요한 경우도 있는데, api키 값을..

[JavaScript] 공백을 체크하는 방법

댓글, 게시물 작성 또는 다양한 인풋 창에서 해당 내용이 비어있는지 또는 스페이스만 입력해서 내용이 없는 공백만 입력되어있는 것들을 확인하고 제거하는 방법입니다. # 내가 원하는 결과 대충 아래와 같은 위지윅(WYSWYG)을 이용해 게시물을 작성한다고 했을때 제목과 내용이 비어있는 경우엔 글을 저장할 수 없게 하고 싶다. 1단계. JavaScript 제목의 문자열이 title에 저장된다고 가정했을 경우 입력된 내용이 있다면 문자열의 길이(length)가 0보다 길어지기 때문에 다음과 같은 방법으로 해결이 가능하다. if(!(this.title.length > 0)) { // title의 길이가 0보다 크지 않다면! alert(‘제목을 입력해 주세요’); return } sample. // 이런식으로 제목..

Vue3 - 떨어진 컴포넌트간에 데이터와 이벤트 주고받는 방법 mitt

mitt는 컴포넌트끼리 부모자식간의 관계가 아닌 멀리 떨어져 있어는 컴포넌트 간에도 데이터를 전송할 수 있도록 도와주는 라이브러리입니다. Vue2 시절엔 Event Bus라는것을 사용했었는데, Vue3에서는 mitt 또는 tiny-emitter를 사용합니다. 단 이렇게 컴포넌트끼리 서로 데이터를 주고받다보면 프로젝트가 커지면 커질수록 유지 관리에서 문제가 생기게 되므로, 공식적으로도 권장하는 방식은 아닙니다. 이러한 데이터 관리는 Pinia(구. Vuex)를 이용하는것이 좋지만, 상황에 따라서 필요할수도 있으니 필요에 따라 사용하시면 될거 같습니다. #1. 설치 npm install --save mitt #2. 등록 mitt 를 사용하기위해선 main.js 파일을 아래와 같이 수정해주면 됩니다. impo..

웹사이트를 느린 인터넷 환경으로 테스트 하는 방법

웹이나 앱을 만들다보면 뭔가 묘한 느낌이 올때가 생기는데, 이게 뭔가 문제가 있는거 같긴 한데... 인터넷이 빨라서 괜찮은건가...? 싶을때 의도적으로 인터넷 속도를 느리게 해서 테스트 해볼 수 있는 방법입니다. 테스트 방법은 간단! 1. 크롬 브라우저에서 개발자 도구를 실행한 후 네트워크 탭으로 이동 2. 제한 없음이라고 되어있는 부분을 클릭한 후 원하는 속도를 지정하면 끝. 3. 옆에 아이콘(더 많은 네트워크 조건)을 눌러 조금 더 세밀한 설정도 가능 이거 몇번 사용하고 갑자기 인터넷이 느려졌다고 느낀다면, 테스트 후에 속도 제대로 돌렸는지 확인해 보도록 합시다.

Vue3 - 원형 프로그레스바

Vue3 사용하면서 사용하기 가장 쉬웠던 원형 프로그래스 라이브러리 언젠가 또 사용하게 될 일이 있을지도 모르니 기록하기 위해 글을 남겨봅니다. 공식 페이지 Vue3 Radial Progress Official Website > 사용 방법 Step 1. 설치 npm install --save vue3-radial-progress // 또는 yarn add vue3-radial-progress Step 2. script 내부에 import import RadialProgress from 'vue3-radial-progress'; Step 3. import 했으니 components에 등록 components: { RadialProgress, }, Step 4. 진행률과 전체값 정의 data() { retu..

반응형