일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- c++
- 파이썬 웹크롤링
- 파이썬
- 자바 프로젝트
- 스택
- React ssr
- 부스트캠프
- react
- PubSub 패턴
- 네이버 부스트캠프
- Next/Image 캐싱
- 프로그래머스
- 코딩테스트
- 멘션 추천 기능
- 네이버 부스트캠프 멤버십
- React.js
- 네이버 부캠
- 자바스크립트
- 파이썬 코딩테스트
- Server Side Rendering
- beautifulsoup
- 자바스크립트 컴파일
- 비디오 스트리밍
- git checkout
- 자바스크립트 객체
- Image 컴포넌트
- 브라우저 동작
- 웹크롤링
- 씨쁠쁠
- Next.js
- Today
- Total
목록자바스크립트 (7)
코린이의 개발 일지
1. 조합 재귀함수 제너레이터를 사용하지 않고, 재귀로 조합을 구현할 경우 아래와 같다. function combination(arr, count){ if (count === 1) return arr.map((target)=> [target]) const result = []; arr.forEach((num, index)=> { const restCombinations = combination(arr.slice(index+1), count-1) const tmp = restCombinations.map((target)=> [num, ...target]) result.push(...tmp); }) return result; } 특정 하나의 값을 고정해두고 나머지 값들을 가지고 조합을 구하고 배열에 추가하는..
자바스크립트 엔진은 load된 script를 해석, 실행하는 역할이다. 가장 많이 사용되고 있는 엔진은 크롬과 node의 V8이다. 자바스크립트 엔진 내부에는 컴파일 과정이 있다. 과정 렌더링 엔진은 HTML을 읽다가 script 태그를 만나면 잠시 작업을 일시 중단 이때부터 JS코드를 자바스크립트 엔진에서 해석 실행한다. 자바스크립트 코드 해석 해당 과정을 컴파일레이션이라고 부른다. 엔진은 이때 컴파일 과정을 거친다. 컴파일 과정은 총 3단계로 이루어져 있다. 코드를 의미 있는 조각으로 나누는 렉싱, 토크나이징 (이때 스코프가 결정된다. - 렉시컬 스코프라 부르는 이유) 코드를 트리구조로 나타내는 AST로 만드는 파싱 VM이 실행할 수 있도록 트리를 가지고 바이트코드로 변환하는 컴파일 과정 여기서 AS..
가비지 컬렉션 자바스크립트 엔진 내에서는 가비지 컬렉터가 끊임없이 동작한다. 가비지 컬렉션은 자바스크립트 엔진이 자동으로 수행하므로 개발자는 이를 억지로 실행하거나 막을 수 없다. 가비지 컬렉션 기준 도달 가능성(reachability) 도달 가능한 값은 어떻게든 접근하거나 사용할 수 있는 값을 의미한다. 참조 된다고 해서 도달 가능한 것은 아니다. 서로 연결된 객체들도 도달 불가능할 수 있다. ⇒ 루트에서 체이닝으로 도달 가능해야 한다. 도달 가능한 값 루트(root) 현재 함수의 지역 변수와 매개변수 중첩 함수의 체인에 있는 함수에서 사용되는 변수와 매개변수 전역 변수 기타 등등 루트가 참조하는 값, 혹은 체이닝으로 루트에서 참조할 수 있는 값 이때 외부로 나가는 참조는 도달 가능한 상태에 영향을 주..
자바스크립트에서 객체를 복사하면 원시타입을 복사했을 때와는 다르게 값이 복사 되지 않는다. 자바스크립트에서 객체 복사 자바스크립트에서 객체가 할당된 변수를 복사하면 객체의 참조 값이 복사되고 객체는 복사되지 않는다. let user = { name: "John" }; let admin = user; // 참조값을 복사함 admin.name = 'Pete'; // 'admin' 참조 값에 의해 변경됨 alert(user.name); // 'Pete'가 출력됨. 'user' 참조 값을 이용해 변경사항을 확인함 참조에 의한 비교 객체 비교시 동등 연산자(==)와 일치 연산자(===)는 동일하게 동작 비교시 변수가 가리키는 객체가 동일한 경우에 참을 반환 let a = {}; let b = a; // 참조에 의..