1. TIL 특강
2. 배포 문제 해결
3. js 문법 종합반 2주차
4. js 문법 종합반 3주차 (~ing)
1.ㅤ
문시해알 : 문제, 시도, 해결, 알게된 것
시도, 알게된 점을 자세히
하루종일 강의만 듣는것은 도움이 안됨
나만의 시행착오를 거치면서 복습하는 것이 도움이 됨
강의만 들었다면 예제코드를 그대로 치지 말고 다르게 쳐보고 오류 해결해 볼 것
ㅤ
ㅤ
2. ㅤ
2-1.requirments 에서 pywin (aws 컴퓨터에 리눅스를 까는데 pywin은 window에서 python을 실행하기 위한 코드. 필요x) 삭제
pywin32==305 또는 pypiwin32==201
2-2. python 버전 확인 후 업로드
새 터미널 -> 버전 확인 명령어 입력
python --versoin
나는 3.8.6 으로 나와서 init 설정에서 3.8을 선택했다.
ㅤ
ㅤ
3.
es6?
2015년에 대규모 변경된 효율적인 문법 시스템
구조분해할당 : destructing(de + structure + ing)
(1) 배열의 경우
let [value1, value2] = [1, 'new'];
(2) 객체인 경우
let {name, age} = {
name: 'nbc',
age: 30,
};
새로운 이름으로 할당
let { name: newName, age: newAge } = user;
단축 속성명 : property shorthand
key - value가 똑같으면 생략 가능
전개 구문 = spread operator
let newArr = [...arr, 4];
let user2 = {...user};
function exampleFunc(a, b, c, ...args) {
console.log(a, b, c);
console.log(args);
}
ㅤ
ㅤ
4. ㅤ
데이터 타입
a. 기본형 : 불변 // 변수 영역 메모리를 변경할 수 있음
b. 참조형 : 가변 // 변수 영역 메모리를 변경할 수 없음
메모리, 데이터
a. 비트 : 0,1로 만드는 가장 작은 단위
b. 바이트 : 8비트
c. 메모리 : 바이트 단위의 식별자인 메모리 주소값
식별자, 변수
식별자 = 변수명
변수 = 데이터
변수 선언과 데이터 할당 : 변수영역과 데이터 영역을 나누어 저장. 데이터 영역에 할당한 데이터의 주소를 변수영역의 데이터에 주소로 저장
값을 바로 대입하지 않는 이유:
a. 자유로운 데이터 변환
b. 메모리의 효율적 관리
불변하다 : 데이터 영역 메모리를 변경할 수 없다.
불변하지 않다 : 데이터 영역 메모리를 변경할 수 있다.
가비지 컬렉터 : 더 이상 사용되지 않는 객체를 자동으로 메모리에서 제거하는 역할
실행 컨텍스트 ( 스코프, 변수, 객체, 호이스팅 )
- 콜스택 : 가장 위에 쌓인 컨텍스트와 완련된 코드를 실행하는 방법으로 코드의 환경과 순서 보장
코드실행 - 전역(in) -> 전역(중단) + outer(in) -> outer)중단) + inner(in) -> inner(out) + outer(재개) -> outer(out) + 전역(재개) -> 전역(out) -> 코드종료
실행 컨텍스트 객체에 담기는 정보
실행 컨텍스트를 생성할 때 VE에 정보를 먼저 담은 다음, 이를 그대로 복사해서 LE를 만들고 이후에는 주로 LE를 활용
호이스팅 : 변수 정보 수집 과정을 이해하기 쉽게 설명한 가상개념
스코프 : 변수가 어디까지 영향을 미칠 수 있나
스코프 체인 : 식별자의 유효범위를 안에서부터 바깥으로 차례로 검색해나가는 것
각각의 실행 컨텍스트는 LE 안에 record 와 outer를 가지고 있고, outer 안에는 그 실행 컨텍스트가 선언될 당시의 LE 정보가 다 들어있으니 scope chain 에 의해 상위 컨테긋트의 record 를 읽어 올 수 있다.