분류 전체보기(30)
-
[JS] 13장 스코프-모던 자바스크립트 Deep Dive
13.1 스코프란? 스코프는 자바스크립트를 포함한 모든 프로그래밍 언어의 기본적이며 중요한 개념이다. 자바스크립트에서 var 키워드로 선언한 변수와 let, const 키워드로 선언한 변수의 스코프도 다르게 동작한다. 모든 식별자(변수이름, 함수 이름, 클래스 이름 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정된다. 이를 스코프라 한다. 즉, 스코프는 식별자가 유효한 범위를 말한다. 또한 자바스크립트 엔진은 이름이 같은 두 개의 변수 중에서 어떤 변수를 참조해야 할 것인지를 결정해야 하는데 이를 식별자 결정이라 한다. 자바스크립트 엔진은 스코프를 통해 어떤 변수를 탐조해야 할 것인지 결정한다. 따라서 스코프란 자바스크립트 엔진이 식별자를 검색할 때 사용하는..
2024.01.27 -
[JS] 12장 제어문-모던 자바스크립트 Deep Dive
12.1 함수란? 프로그래밍 언어의 함수는 수학의 함수와 같은 개념이다. 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것이다. 함수 내부로 입력을 전달받는 변수를 매개 변수(parameter), 입력을 인수(argument), 출력을 반환값(return value)이라 한다. 함수는 값이며, 특정 함수를 구별하기 위해 식별자인 함수 이름을 사용할 수 있다. 12.2 함수를 사용하는 이유 코드를 재사용하기 위해 사용한다. 재사용성을 높이는 함수는 코드의 중복을 억제하고 유지보수의 편의성을 높이고 실수를 줄여 코드의 신뢰성을 높이는 효과가 있다. 변수 이름과 마찬가지로 함수 이름 또한 함수 자신의 역할을 잘 설명해야 하고 이는 함수 내부 코드를 이해하지 않고도 함수의 역할을..
2024.01.24 -
[JS] 08장 제어문-모던 자바스크립트 Deep Dive
제어문은 조건에 따라 코드 블록을 실행하거나 반복 실행할 때 사용한다. 일반적으로 코드는 위에서 아래 방향으로 실행되는데 제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있다. 이는 직관적인 코드의 흐름을 혼란스럽게 만들어 가독성을 해친다는 단점이 있다. 이번 장에서는 for문이 매우 중요하므로 꼭 이해하도록 하자. 8.1 블록문 블록문은 0개 이상의 문을 중괄호로 묶은 것으로 자바스크립트는 블록문을 하나의 실행 단위로 취급한다. 블록문은 단독으로 사용할 수도 있으나 일반적으로 제어문이나 함수를 정의할 때 사용하는 것이 일반적이다. 특히 블록문이 끝날 때는 세미콜론을 붙이지 않는다. 블록문은 언제나 문의 종료를 의미하는 자체 종결성을 갖기 때문이다. 8.2 조건문 조건문은 주어진 조건식의 평가..
2024.01.15 -
[JS] 07장 연산자-모던 자바스크립트 Deep Dive
연산자(operator)는 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해 하나의 값을 만든다. 이때 연산의 대상을 피연산자라 한다. 기본적으로 사용되는 부분이지만 헷갈릴 수 있는 부분이 있기 때문에 꼼꼼하게 한번 봐두는 것을 추천한다. 다 아는 내용이어도 할당 연산자, 비교 연산자, 삼항 조건 연산자, 논리 연산자는 개인적으로 중요하다고 생각하는 부분이라 읽어보길 권장한다. 7.1 산술 연산자 산술 연산자는 피연산자를 대상으로 수학적 계산을 수행해 새로운 숫자 값을 만든다. 이때 산술 연산이 불가능한 경우, NaN을 반환한다. 피연산자의 개수에 따라 이항 산술 연산자와 단항 산술 연산자로 구분된다. 7.1.1 이항 산술 연산자 이항 산술 연산자는 2개의 피연산자..
2024.01.15 -
[Git] Git Flow 브랜치 전략
Git Flow란? main 또는 master 브랜치와 development 브랜치를 유지하면서, 용도에 따라 임시적으로 feature, release, hotfix 브랜치를 생성해서 사용하는 방식의 전략이다. 브랜치 별로 약속된 역할에 맞게 생성해서 사용하는데 각 브랜치를 통해 규칙에 맞는 흐름 flow 대로 작업이 이루어지는 것을 지향한다. 기준이 되는 master, develop 브랜치를 먼저 설명하겠다. master: 정식 배포의 기준이 되는 브랜치로, 항상 안정적인 제품이 서비스 될 수 있는 소스코드로 언제나 배포 가능한 상태로 유지되어야 하는 브랜치이다. develop: 개발 중인 코드를 관리하는 브랜치이다. 새로운 기능 개발과 개발된 변화를 담은 버전 배포작업이 시작될 수 있는 브랜치이다. ..
2024.01.15 -
[Git] branch merge 하는 방법
branch merge란? merge란 현재 위치한 branch에서 다른 branch를 병합할 때 사용한다. 특정 branch로 합치는 요청을 보내는 Pull Request(pr)을 보낼 때 Create a merge commit, Squash and merge, Rebase and merge 이 3가지 merge 방법이 존재한다. 이 방법들을 설명하기 위해서는 commit(커밋) 메세지와 commit 그래프를 어떻게 유지해야 할지 와 연관 있기 때문에 merge 방법의 특징을 설명하겠다. Merge 일반적으로 많이 사용하는 merge 방법으로 커밋 이력을 모두 남길 때 사용한다. 모든 커밋과 분기했던 branch의 이력이 남는 것이 장점이자 단점이다. Fast-forward 설정이란? git merge..
2024.01.14