Stack Overflow에 검색(QnA사이트 에러메세지 검색에 유용)구글에서 MDN+키워드로 검색 자연어 문장으로 검색(eg.how to convert to string in javascript)깃헙 게시판에 검색 (closed가 해결된 이슈)제목을 잘 지어라바쁜 동
if문에서 조건을 콤마로 지정하면 안되나요?일일이 or를 사용하는건 코드가 길어지는데 좀 더 단순화하는 방법이 있을까요?거듭제곱을 표현하는 3가지 방법1\. 직접 곱한다 x\*x2\. Math.pow 사용 Math.pow(x,2)3\. 을 이용 x2strindex!를
n=n+1n++n+=1증가 조건 위 셋은 같은 의미n++숫자는 안먹힘let 으로 선언안하고 바로 x=1하는 경우기본적으로 var x=1로 입력됨※반드시 let으로 선언해줄 것!const let var의 차이const는 const로 재선언 불가 const는 재할당 불가l
index는 0부터 센다str.split(a)로 str이 a기준으로 잘린 배열을 만들 수 있다배열 array은 행렬처럼 배열할 수 있음array.push(x)로 배열 끝에 요소를 추가할 수 있다array.pop()로 배열의 마지막 요소를 삭제할 수 있다array.uns
탭보다는 스페이스바 두번 (차이는 없지만 그냥 사람들이 선호함)Boolean names - boolean 이름 Boolean에 관한 변수의 이름은 앞에 is혹은 are을 붙인다. eg. let isValid = true;Function names - 함수 이름
Math.roundarr.includes()str.includes()console.log와 return의 차이점console.log는 결과를 보여주기만함return을 해야 함수 밖에서도 값을 불러올 수 있음arr.reverse() //배열의 순서 뒤집음. 변수에 할당해
ls //파일보기 listls -al //디테일한 정보보기 -al/모든 allcd //디렉토리로 이동 //change directorycd . //현재 디렉토리cd .. //부모 디렉토리cd ~ //홈 디렉토리 (현재 사용자 디렉토리(user/계정명/)cd
버전 관리 프로그램을 사용하는 이유 git 폴더의 변경사항을 기록 수정할 때마다 자동으로 백업해서 날짜별로 어떤 파일이 어떻게 바뀌었는지 설명 가능 변경사항을 한 눈에 알아볼 수 있다 (코드뿐 아니라 텍스트 파일도) GitHub git 이용자 모임fork 리포
Scope 범위자바스크립트에서는 function안이 Local Scope로 분리된지역 변수는 함수 내에서 전역 변수보다 더 높은 우선순위를 갖는다 let x = a; function f(){ let x = b; console.log(x); } cons
Closure 클로저"외부 함수의 변수에 접근할 수 있는 내부 함수"'함수를 리턴하는 함수'는 클로저 패턴의 일반적인 특징, 정의와 혼동하지 말 것!eg.function outerFn(){ let outerVar = 'outer'; console.log{outerV
chai.assertchai.expectchai.should결과는 같음. 사용 문법이 조금씩 다름. 중요 X중요한 것은 스타일의 일관성을 유지할 것!let assert = chai.assert;it("has a prefix of 51 and a length of 16"
mdn array reduce표를 그려놓고 시작 어떤식으로 반복되는지 살펴볼 것배열 -> 단 하나의 값reduce 두가지 방식의 사용법1\. 인자를 두개 넣는 방법 배열.reduce(callback, 초기값) //callback(고차함수 때 나옴, callback은 그
매개변수 복습function timeToGoHome(speed, distance){ //speed, distance : 매개변수 let time = distance / speed; return time;}timeToGoHome(20, 100); //20, 1
function Car(brand, name, color)ES6class라는 키워드를 이용해서 정의할 수도 있다class Car(){ constructor(brand, name, color){ }}※class를 만들 떄는 첫 글자를 대문자로 해준다!new 키워드를
이미지 같은경우에는 닫는 기호 생략 가능, 셀프 클로징도 가능 끝에 '/'이 셀프클로징, 생략도 가능css 파일 혹은 안에div.red-container span {background-color: pink;} //div class 중에 span에만 적용div.red-
document.innerHTMLdocument.querySelectordocument.importNodedocument.cloneNodedocument.createElementdocument.querySelectorAlllet aElement=document.crea
DOM 명령어tagName 태그 이름id idclassList class 목록className class 문자열innerHTML 엘리먼트에 담긴 내용 tag까지 싹 다textContent 앨리먼트 내용innerText only텍스트만value for
target.addEnevtListener(type, listener, options);이거쓰면 현재 클릭한 값 나오는거 같은데 어케 쓰는지 자세히 알아볼 것!append는 뒤에 붙고 prepend는 앞에 붙음!※tip. append는 ','쉼표를 사용해서 여러개를 동
function이 바로 작동되는 경우 function의 이름을 지정해줄 필요가 없다마찬가지로 function에서 새로운 변수가 필요하지 않으면 매개변수 또한 생략할 수 있다eg.function () {return true;}arr.filter(function)filte
Execution context 실행 컨텍스트함수가 호출되면 실행 컨텍스트 execution context가 만들어짐 call stack에 push 함수를 벗어나면 call stack에서 popscope 별로 생성여기에 담긴 것 scope 내 변수 및 함수 (Lo
콜백할 때 실행하지말고 함수 자체를 넣어줄 것! //eg.fn() (X) fn (O)blocking VS non-blockingblocking 전화하던 일을 멈추고 받아야 한다(blocking)요청에 대한 결과가 동시에 일어난다(synchronous)non-blocki
JSON :Java Script Object NotationJSON의 형식은 object, array, value로 나눌 수 있다그리고 object와 array로 시작되고 그 안에 value값으로 모두 넣을 수 있다자세한 사항은 json.org/json-ko.htmlJ
JSON.stringify와 JSON.parse가 중요한 이유!!JSON.stringify문자열로 바꿔줌JSON.parsestringify로 바꾼 문자열을 다시 배열이나 객체로 바꿔줌서버에서 받는 데이터는 string형태(text형태)로 되어있음서버에서 받아온 stri
오늘 그래프에 대해 배웠는데 그래프론 시간에 배운 개념들이 꽤 도움이 됐던 것 같다. 직접적으로 언급이된다거나 같은 개념이 나온건 아니었지만 그래프론의 개념이 밑바탕되어서 나오는 개념들이 꽤 있었다.특히 중국인 집배원 문제가 생각나는 부분이 있었는데, 생각해보니 중국인
devDependencies는 개발dependencies는 실행에 필요하다e.g. mocha같은 경우는 devDependencies에 들어가 있어야한다.node test.js //파일 이름이 test.jshello worldnpm run helloarr1.concat(
npm install eslint --save-dev를하면 devDependencies에 들어간다그냥 npm install mocha하면 dependencies에 들어간다"author": "\~~",:dependencies": {"mocha": "^8.1.3"},"de
말그대로 쌓이는 구조Stackstoragetop이 값으로 저장sizepushpoppeek※재귀 함수를 실행할 때 사용된다. call stack. 함수가 실행된 역순으로 return값이 나열.Queue말그대로 줄을 서는 구조storagefrontrear이 값으로 저장si
5개의 연결된 노드에서 모든 연결을 삭제하고 싶을 때 연산횟수는?단일 연결 리스트인 경우 1)head만 있는 경우 1회 2)tail도 있는 경우 2회이중 연결 리스트인 경우 1)head만 있는 경우 head와 첫번째 노드와의 연결 2회
O(1) //constant //Array LookUp, Hash Table InsertionO(log n) //logarithmic //Binasry SearchO(n) //linear //Linked listO(n^2) //quadratic //Constant
interpreter - compile하지 않고 한줄씩 바로바로 변환절차 지향C, HTML절차를 중시객체 지향(Object Oriented Programming)Java, C++, CA class is a prototype, idea and blueprint for c
// 방법 1 Student.prototype = Person.prototype// 방법 2Student.prototype = Object.create(Person.prototype)Swallow Copy방법1은 같은 메모리 주소객체A = 객체BDeep Copy방법2는
part3에서 tree.js에 contains메소드를 구현할 때, 재귀를 사용했을 때와 사용하지 않았을 때의 성능차이가 큰가요?Tail recursionTail recursion optimizationmemorization검색해보세요
prototype의 의미원형 객체설계도같은 개념속성과 method가 들어있다new키워드 사용시 this의 의미인스턴스console.dir()로 proto, constructor등을 볼 수 있다
DFS대표적인 예 : 재귀탈출 제어 필요깊이가 무한한 경우 탈출 불가BFS큐를 사용해야함노드가 많은 경우 메모리 소비 문제Backtracking가지치기 알고리즘조건을 만족하지 않을 경우, 상태를 되돌린다모든 경우를 유망하지 않은 자식들은 더 이상 탐색하지 않고 부모로