-
<TIL> 211223 실행콘텍스트, 호이스팅, 머지클래스/└ TIL 2021. 12. 23. 20:40728x90
🐣
{ C언어 }
텍스트파일을 바이너리처럼 읽어보기
C언어
67(C) 236 150 184(언) 236 150 180(어) 13(Carriage Return) 10(Line Feed)
{ JavaScript }
실행 콘텍스트 (Execution Context)
실행되는 함수의 콘텍스트(환경 정보)들로 이루어진 객체입니다.
즉, 함수를 실행하는 시점에서 필요한 정보들을 담고 있습니다.
(함수의 실행에 필요한 정보들은 어떤 방식으로든 전달 되어야 하고, 자바스크립트에서는 이 정보들을 실행 콘텍스트에 담아 전달하는 것입니다)
실행 콘텍스트에 담겨 있는 정보 3가지: VariableEnvironment, LexicalEnvironment, ThisBinding
VariableEnvironment, LexicalEnvironment에 담겨 있는 정보 2가지: environmentRecord, outerEnvironmentReference
호이스팅 (Hoisting)
변수를 선언하는 위치가 어디든 간에 해당 스코프의 최상단으로 끌어올려서 먼저 처리됩니다. 변수를 초기화하더라도 선언만 호이스팅되고, 값을 대입하는 과정은 해당 코드를 작성한 위치에서 처리됩니다.
함수는 선언 및 정의가 같이 처리되기 때문에, 함수 선언문을 어디에 두더라도 사용할 수 있습니다. 하지만 호출하는 위치에 따라 정의하는 위치를 조작하고 싶다면 (익명) 함수 표현식을 사용해야 합니다.
스코프 체인 (Scope Chain)
environmentRecord에서 원하는 값을 찾지 못할 경우 outerEnvironmentReference를 통해 상위 스코프의 environmentRecord를 탐색하는 과정을 반복하는 것입니다.
전역변수와 지역변수
전역변수: 전역 공간에 선언한 변수
지역변수: 함수 내부에 선언한 변수
지역변수를 사용하더라도 해결할 수 있는 문제를 전역변수로 정의하지 않습니다.
불필요한 곳에서 해당 변수를 사용하도록 두면 예상치 못한 에러들과 마주칠 수 있기 때문입니다.
변수를 지역변수로 두는 것을 변수 은닉화(variable shadowing)라고도 합니다.
{ git }
브랜치
Semantic Versioning: v1.0.0 (Major.Minor.Patch)
- MAJOR version - API를 변경할 때 (incompatible)
- MINOR version - 기능을 추가할 때
- PATCH version - 버그를 고칠 때
머지
Fast-forward merge
수정한 브랜치 외에 메인 브랜치의 새로운 변경사항이 없을 때 가능합니다.
수정한 브랜치를 메인으로 만들어 버립니다.
브랜치를 만들어서 머지했다는 기록이 남지 않습니다.
Three-way merge
수정한 브랜치 외에 메인 브랜치에서도 변경사항이 있을 경우 three-way merge를 하게 됩니다.
merge conflict가 발생할 수 있습니다.
📌
https://www.inflearn.com/course/following-c
홍정모의 따라하며 배우는 C언어 - 인프런 | 강의
'따배씨++'의 성원에 힘입어 새롭게 개발된 C 언어로 시작하는 프로그래밍 입문 강의입니다. '따배씨'와 함께 프로그래밍 인생을 업그레이드 해보세요., 프로그래밍 인생, 한 단계 업그레이드!
www.inflearn.com
코어 자바스크립트 / 정재남 지음 / 위키북스
https://academy.dream-coding.com/courses/git
Git 마스터 과정 (기본개념부터 실무팁까지)
Commit과 Push은 그저 Git의 티끌인 것을 이 강의를 통해 알게되었습니다!! Git의 전체적인 이해부터 설치, 셋팅, 기본적인 명령어와 옵션(add, status, commit, log 등등..), Branch, Merge, Conflict, Rebase, Stash ... R
academy.dream-coding.com
728x90'클래스 > └ TIL' 카테고리의 다른 글
<TIL> 211225 공용체, 콜백 함수, 스태시 (0) 2021.12.25 <TIL> 211224 구조체, this (0) 2021.12.24 <TIL> 211222 데이터 타입, git (0) 2021.12.23 <TIL> 211221 fetch, 웹소켓 (0) 2021.12.21 <TIL> 211220 배열, defer, 이벤트루프 (0) 2021.12.20