전체 글 328

Mac 업그레이드 후 xcrun: error: invalid active developer path 에러 해결하기

이번 MacOS 업그레이드를 하면서 문제가 발생했습니다. 1. 기존에 작업하던 vscode 의 git 연동이 풀려있음. 2. Git을 재설치하라고 안내창이 나. 3. 터미널에 ```git --version``` 명령어를 치면 아래처럼 무서운 에러가 나옴 4. 할 수 없이 brew로 git을 설치하려는데 뭔가 느낌이 쎄해서 찾아보았더니 간단하게 해결할 수 있었습니다. 해결 방법 xcode-select --install 몰랐는데 MacOS 업데이트 높은 확률로 나오는 개발 관련 툴을 실행시 나오는 에러라고 합니다. 각 도구들의 문제가 아닌 Command line tool을 식별해서 발생한 문제라고 합니다. 설치는 대략 2~3분 정도 걸렸고, 문제가 있던 git이 정상적으로 돌아왔습니다.

'replaceAll' 속성이 'string' 형식에 없습니다. ts(2550)

✔️ 에러 코드 'replaceAll' 속성이 'string' 형식에 없습니다. 대상 라이브러리를 변경해야 하는 경우 'lib' 컴파일러 옵션을 'es2021' 이상으로 변경해 보세요. ts(2550) ✔️ 에러가 나온 이유 map을 쓰지 않고 바로 나 태그로 감싸서 리턴했더니 이런 오류가 나왔다. 😅 👇에러코드 👇 const mainTitle = title.replaceAll('\\', '').split(':')[0] const subTitle = title.replaceAll('\\', '').split(':')[1] 👇에러 수정 코드 👇 첫번째 방법 tsconfig.json 파일에서 "es2021"로 수정하기 "lib": ["es2021", "dom"], 두번째 방법 const mainTitle =..

react 오디오 재생 에러 : Uncaught (in promise) DOMException: The element has no supported sources.

✔️ 에러 코드 Uncaught (in promise) DOMException: The element has no supported sources. ✔️ 에러가 나온 이유 오디오 파일이 로드 중 상태에서, 로드가 최적화되기 전 재생을 실행하는 것이 문제가 되는 것 같다. 😅 그래서 오디오 파일을 완전히 불러온 후 재생하도록 코드를 수정했다. 👇에러코드 👇 import React from "react"; const AudioPlayer = () => { let audio = new Audio("../../assets/audio/train_horn.mp3"); const start = () => { audio.play(); }; return ( start ); }; export default AudioPla..

nvm 설치 방법, 프로젝트마다 node 버전 다르게 설정하는 방법 (mac)

nvm 설치 방법 1. brew 설치 2. brew를 활용하여 nvm 설치 brew install nvm 3. 환경 변수 설정 - ~/.nvm 디렉토리 생성 mkdir ~/.nvm touch ~/.zshrc vi ~/.zshrc 파일 내에 코드 입력 export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm esc + :wq(저장 후 종료) source 명령어로 스크립트 실행 source ~/.zshrc mac에서 프로젝트마다 node 버전 다르게 설정하는 방법 1. vscode 익스텐션 설치하기 vscode nvm integration 2. 프로젝트에 .nvmrc 생성하기 3. nvm list ..

jest 기본 공부

jest는 페이스북에서 만든 테스트팅 도구이다. zero-config 철학을 가지고 있어서 별도의 설정없이 빠르게 테스트 케이스를 만들 수 있는 것이 장점이다. jest 설치하기 npm install jest --save-dev 개발 할때만 사용하기 때문에 뒤에 --save-dev를 붙인다. package.json에서 수정한다. "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, 👇 "scripts": { "test": "jest" }, ~.test.js로 끝나거나 __test__폴더에 담겨있으면 자동으로 테스트 파일로 인식한다! 특정 파일만 테스팅하고 싶으면 npm test 뒤에 파일명이나 특정 경로를 붙이면 된다. //fn.j..

🖥FrontEnd 2023.04.28

git 명령어 커스텀하는 방법

1. 어떻게 별칭을 정하고 그것을 어디에 저장할까? (global config file) global git config file을 통해서 깃 설정을 저장할 수 있다. ls .git 명령어를 통해 config 가 있음을 알 수 있다. (이건 local 레포) global config는 하나의 계정만을 사용하기 때문에 전역적으로 설정한다. ex) git config --global user.name 전역적 설정 파일은 .gitconfig 에 위치한다. 홈 디렉토리에 기본 설정으로 숨겨져 있는 파일이다. cat ~/.gitconfig 위의 명령어를 통해 접근할 수 있다. 참고) systemwide config도 있다. 한 머신에 여러 사용자와 계정이 있다면 이 시스템 수준의 파일은 그 모든 사용자들에게 적..

카테고리 없음 2023.04.23

git reflog, git 실수 했을 때 되돌리는 방법

reflog = reference log 참조 기록의 줄임말 ls .git cd logs 실수하거나 깃 로그에서 더이상 볼 수 없게 된 커밋의 해시에 접근해야할 때 유용하다! 주의!! 1. reflog는 지역적이다! (오직 내 컴퓨터의 참조 목록에 대한 변경사항만을 저장한다. ) 2. 영구적이지 않다! 약 90일이 지나면 만료된다. gut reflow show HEAD or 브랜치명 git relow show HEAD vs git log 같지 않다!! git log에는 포함되지 않는 것을 포함한다. 예를들면 내 브랜치 체크아웃을 하는 것에는 기록으로 남기지 않음! 그저 커밋 기록을 가지고 있을 뿐이다. HEAD@{2} => 2번의 움직임 전에 헤드가 어디 있었는지 알려준다. git checkout HEA..

🤼Git 2023.04.23

오픈 소스에 기여하는 방법

1. 기여하고 싶은 레파지토리를 FORK 한다. 2. 내 계정에 fork 받은 레파지토리를 CLONE한다. 3. 기여하고 싶은 레파지토리에 UPSTREAM을 추가한다. git remote add upstream https://github.com/기여하고 싶은 브랜치를 만든 유저명/기여하고 싶은 브랜치명 4. 로컬 상에서 작업을 한다. 5. 내 계정의 레파지토리에 PUSH 한다. 6. 기여하고 싶은 레파지토리에 PULL REQUEST를 보낸다. ‼️pull request를 보내기 전에 원래 레파지토리에 변경된 수정 사항을 pull 받는다. git pull upstream main 클론(Clone)과 포크(Fork)의 차이 공통점 = 다른 원격 저장소의 내용을 복제하여 가져온다 차이점 = 클론(Clone)은..

🤼Git 2023.04.16