1 week_Lv.Up

김지우·2022년 11월 6일

1주차

목록 보기
5/5
post-thumbnail

Git

Git은 리누스 토르발스가 개발한 분산형 버전 관리 시스템(VCS)이다.

Git은 매우 빠른 속도와 분산형 저장소 지원이 특징이다.

방대한 Linux 커널 소스 코드를 생각해 보면, 속도 문제는 매우 중요하다. 오픈 소스 개발의 특성상 여럿이 달려들어 자기 맘에 드는 걸 하기도 하며, 또한 뭘 하나 잘못 붙였다 이상한 걸 건드려 망하기 쉬운데, Git는 이런 환경의 특성에 맞게끔 잘 만들어져 있다.

Git 자체는 오픈 소스이며 저장소는 git.kernel.org이다. git clone으로 프로젝트를 클론한 후 빌드해볼 수 있으며, 전체 저장소를 클론하고 싶지 않다면 kernel.org에서 원하는 버전의 tar파일을 찾아서 다운로드 할 수 있다. GitHub에 git/git이라는 미러 저장소도 있으며, 정확히 동일한 내용을 가지고 있다.

출처 https://namu.wiki/w/Git#s-1


Hoisting

JavaScript에서 호이스팅(hoisting)이란, 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미한다.
var로 선언한 변수의 경우 호이스팅 시 undefined로 변수를 초기화한다.
반면 let과 const로 선언한 변수의 경우 호이스팅 시 변수를 초기화하지 않는다.

함수 표현식은 위의 호이스팅의 영향을 받지 않는다.


Scope

스코프(Scope)란 ‘변수에 접근할 수 있는 범위’라고 말할 수 있다.

  • 전역 스코프(Global Scope)
    전역에 선언되어있어 어느 곳에서든지 해당 변수에 접근할 수 있다.
  • 지역 스코프(Local Scope)
    해당 지역에서만 접근할 수 있어 지역을 벗어난 곳에선 접근할 수 없다.
  • 함수 스코프(function-scoped)
    자바스크립트에서 함수를 선언하면 함수를 선언할 때마다 새로운 스코프를 생성하게 된다. 함수 몸체에 선언한 변수는 해당 함수 몸체 안에서만 접근할 수 있다.

Javascript Primitive type vs Reference type (원시자료형 vs 참조자료형)

원시 자료형: primitive data type
고정된 저장 공간을 차지하는 데이터를 모두 원시 타입 데이터 라고 하며, 객체가 아니면서 method를 가지지 않는 6가지의 타입이 있다.

  • 원시 타입 데이터: string, number, bigint, boolean, undefined, symbol, (null)

원시 타입 데이터의 크기와는 관계없이 하나의 변수에는 하나의 데이터만을 담을 수 있으며, 원시 자료형은 값 자체에 대한 변경이 불가능하지만, 변수에 다른 데이터를 할당할 수는 있다.


참조 자료형: reference data type
원시 자료형이 아닌 모든 것들은 참조 자료형이다.

  • 배열([])과 객체({}), 함수(function(){})가 대표적

참조 자료형을 변수에 할당할 때는 변수에 값이 아닌 주소를 저장한다.
동적으로 크기가 변하는 데이터를 보관하기 위해 변수가 아닌 다른 곳에 데이터를 저장하고 변수에는 그 주소만 할당하므로 가변성의 특징도 가지고 있다.

profile
백엔드 성장 기록

0개의 댓글