본문 바로가기

전체 글

(179)
[#. React] jest를 이용해서 test 하기 ① CRA로 React 프로젝트 시작하기 npx create-react-app react-test ② src/utils 폴더 생성하기, utils 폴더 내에 함수 및 test 파일 생성하기 ⑴ sum.js export const sum = (arr) => { return arr.reduce((acc, cur) => { acc += cur; return acc }, 0) } ⑵ sum.test.js import { sum } from "./sum" const numArr = [1, 2, 3] describe("", () => { it("", () => { expect(sum(numArr)).toEqual(6) }) }) 테스트 파일 이름을 테스트함수명.test.js로 생성하거나 __tests__ 폴더에 생..
[#. JavaScript] MDN에 나와 있는 Object Method 정리하기 Object 생성자는 객체 래퍼(wrapper)를 생성한다 주어진 값이 null이거나 undefined면 빈 객체를 생성해 반환하고, 그렇지 않으면 값에 맞는 자료형의 객체를 반환한다 만약 값이 이미 객체라면 그 값을 그대로 반환한다 생성자가 아닌 맥락에서 호출하면 Object는 new Object()와 동일하게 동작한다 Object 생성자의 메서드 정적 메서드 Object.assign() Object.assign(target, ...sources) 출처 객체들의 모든 열거 가능한 자체 속성을 복사해 대상 객체에 붙여넣는다 그 후 대상 객체를 반환한다 목표 객체의 속성 중 출처 객체와 동일한 키를 갖는 속성의 경우, 그 속성 값은 출처 객체의 속성 값으로 덮어쓴다 출처 객체들의 속성 중에서도 키가 겹칠 ..
[#. JavaScript] MDN에 나와있는 Array Method 정리하기 Array 전역 객체는 배열을 생성할 때 사용하는 리스트 형태의 고수준 객체다 배열은 프로토타입으로 탐색과 변형 작업을 수행하는 메서드를 갖는, 리스트와 비슷한 객체다 JavaScript에서 배열의 길이와 요소의 자료형은 고정되어 있지 않다 배열의 길이가 언제든지 늘어나거나 줄어들 수 있기 때문에 JavaScript 배열들은 밀집도가 보장되지 않는다 자바스크립트의 모든 객체는 자신의 부모 역할을 담당하는 객체와 연결되어 있고, 객체 지향의 상속 개념과 같이 부모 객체의 프로퍼티 또는 메서드를 상속받아 사용할 수 있게 한다 이러한 부모 객체를 프로토타입(Prototype) 객체 또는 줄여서 프로토타입(Prototype)이라고 한다 MDN에 정의되어 있는 메서드는 Array.prototype.method()..
[#. JavaScript] ES6 정리하기 arrows classes enhanced object literals template strings destructuring default + rest + spread let + const iterators, for..of generators unicode modules map + set + weakmap + weakset proxies, reflect API symbols subclassable built-ins promises math + number + string + array + object APIs binary and octal literals tail calls ① 화살표 함수(Arrow Function) `=>` 화살표를 사용한다 Arrow Function에는 this, prototype..
[#. JavaScript] 렉시컬 스코프(Lexical Scope)와 클로저(Closure)란? Lexical Scope 특정 코드가 작성, 선언(정의)된 환경이며 객체 모든 함수, 코드 블록{}, 스크립트는 렉시컬 환경을 가진다 var a = 1; function printA() { console.log(a); // 1 } function insertA() { var a = 10; printA(); } insertA(); // 1 출력 var x = 1; function outer() { var x = 4; function inner() { console.log(x); } inner(); } outer(); // 4 출력 JavaScript는 함수 단위로 Scope를 생성한다 함수가 생성되면 실행 컨텍스트(Execution Context) 가 생성된다 자신의 Scope -> 자신을 포함하는 외부 ..
[#. VSCode] VSCode 터미널 bash에서 zsh로 기본 셸 변경하기 iTerm에 zsh를 기본 셸로 잘 적용했지만 VSCode에서도 기본 셸을 zsh로 적용하고 싶다 ① Code -> Preferences -> Settings ② Shell: Linux -> Edit in settings.json ③ 1줄 추가 { ... "terminal.integrated.defaultProfile.osx": "zsh",#추가 } 터미널을 재실행(control + shift + ~)하면 zsh가 default로 적용된 것을 볼 수 있다
[#. zsh] Mac에서 iTerm 설치하고 zsh, oh my zsh 세팅, 설정하기 bash(Bourne-agin shell) vs zsh(Z shell) shell은 운영 체제 상에서 다양한 운영 체제 기능과 서비스를 구현하는 인터페이스를 제공하는 프로그램이다 사용자로부터 명령을 받아 그것을 해석하고 프로그램을 실행하는 역할을 한다 이 shell의 종류로 bash, zsh 등이 있다 같은 shell이지만 zsh가 bash보다 더 확장된 기능을 제공하기 때문에 사용을 권장한다 터미널 Shell 환경 사용성을 개선할 수 있도록 zsh와 zsh를 좀 더 잘 사용할 수 있도록 하는 oh-my-zsh를 설정하려고 한다 (Mac, Linux에서 작동한다) ① iTerm, zsh, oh-my-zsh 설치 (1) iTerm 설치 https://iterm2.com/ iTerm2 - macOS Term..
[#. VSCode] Visual Code에서 파일 수정 시 Insufficient permissions. Select 'Retry as Sudo' to retry as superuser. 해결하기 Atom을 사용하다가 VSCode를 사용하려고 한다 근데 파일 내용을 수정하면 계속해서 경고창이 뜬다 echo $USER [username] 출력 sudo chown -R [username] . 잘 저장될 것이다 https://github.com/Microsoft/vscode/issues/57020 Failed to save file: Insufficient permissions. Select 'Retry as Admin' to retry as administrator · Issue #57020 · microsoft/vs VSCode Version: 1.26.1 OS Version: macOS High Sierra 10.13.x Steps to Reproduce: Edit a moved file Try ..