전체 아티클23 Git과 Github의 차이 버전관리를 왜 사용할까요? 개발자 간의 협업을 위해 전체 개발 소스를 공유하면서, 개발 파트를 나눌 수 있고 같은 모듈을 개발하더라도 소스를 공유하면서 개발을 할 수 있기 때문에 사용을 한다. Git git은 본인의 코드와 수정내역을 기록하고 관리하도록 돕는 버전 관리 프로그램이며, 로컬에서 프로젝트의 기록을 스스로 관리할 수 있도록 해줍니다. git을 통해 브랜치를 생성하고 이전 브랜치로 복구, 삭제, 병합이 가능합니다. 하지만 로컬 저장소를 사용하기 때문에 다른 개발자와의 실시간으로 작업을 공유할 수 없다. Github git 저장소를 관리하는 클라우드 기반 호스팅 서비스입니다. git 저장소 호스팅 서비스는 클라우드 기반으로 다른 사람과 소스코드 공유가 가능하며 git의 기본적인 기능을 확장하며 제.. 2023. 2. 10. 불변성을 유지하려면 어떻게 해야할까? 불변성이란 ? 보통 불변성의 의미는 `상태를 변경하지 않는 것` 이라는 간단한 정의로 설명된다. 그러나 대부분 불변성에 대해 설명을 할 때, 함수 외부의 변수에 접근, 재할당을 해서는 안된다, 함수의 인자를 변경하면 안된다와 같이 상태를 변경하는 행위를 금지하는 예시 정도만 설명하고, 상태를 변경한다는 것이 정확히 무엇을 의미하는지는 자세히 설명을 하지 않는다. (나도 가벼운 예시 정도만 알고, 레퍼런스의 블로그를 통해 자세히 알게 되었다) 불변성이 이야기하는 상태의 변경이라는 것은 단순한 변수의 재할당을 이야기하는 것이 아닌, 메모리에 저장된 값을 변경하는 모든 행위를 의미하며, 여기에 변수의 재할당과 같은 행위도 포함되는 것이다. 우리는 변수를 통해 메모리에 접근을 하고 있다. 우리는 변수를 재할당하.. 2023. 2. 9. 호이스팅에서의 TDZ(Temporary Dead Zone) 호이스팅에서의 TDZ(Temporary Dead Zone) 자바스크립트에서는 `var`, `let`, `const` 세 변수로 이루어진다. 이 세 변수 모두 호이스팅이 일어나며, var은 선언과 동시에 초기화가 되기 때문에 undefined를 반환하지만 나머지 let과 const의 경우 선언만 될 뿐 초기화가 이루어지지 않는다. 이 단계에서 TDZ에 들어가게 된다. name = 'hello' // ReferenceError: Cannot access 'name' before initialization let name = 'hi' 위의 코드를 보자, `name`이 호이스팅 되지 않았다면, 두 번째 `let` 선언에서 already declared 에러가 났었어야했는데, 현실은 초기화 하기 전에 액세스 할 .. 2023. 2. 9. var, let, const의 차이는 무엇일까? var, let, const의 세가지 차이점 var 선언은 전역 범위 또는 함수 범위이며, let과 const는 블록 범위({})이다. var 변수는 범위 내에서 업데이트 및 재선언이 가능하다. let 변수는 업데이트를 할 수 있지만 재선언이 불가하다. const는 재선언과 업데이트 모두 다 불가하다. 세 변수 모두 최상단으로 호이스팅이 되지만, var 변수만 undefined로 초기화되어지고, let과 const 변수는 초기화 되지 않는다. var과 let은 초기화하지 않은 상태로 선언할 수 있지만 (값을 지정해주지 않으면 undefined), const는 선언 중에 초기화를 해야한다. ES2015(ES6) 등장 전에는 문제점들이 있음에도 불구하고, `var` 로 변수를 선언하는 것이 지배적이었다. 따.. 2023. 2. 9. Promise와 CallBack 차이 Promise와 CallBack의 차이 콜백 함수는 비동기 로직의 결과값을 처리하기 위해서 callback 안에서만 처리를 해야하고, 콜백 밖에서는 비동기에서 온 값을 알 수가 없다. 하지만, Promise를 사용하면 비동기에서 온 값이 프로미스 객체에 저장되기 때문에 코드 작성이 용이해진다. Promise(프로미스)란 프로미스는 자바스크립트 비동기 처리에 사용되는 객체이다. 비동기 처리란 `특정 코드의 실행이 완료될 때까지 기다리지 않고 다음 코드를 먼저 수행하는 자바스크립트의 특성`이다. 비동기 처리 방식을 사용하는 이유는 2가지 핵심요소 때문이다. - return value를 이용할 수 있다. - error handling(에러 핸들링)이 동기식 코드와 유사하게 쓰일 수 있다. 프로미스를 사용할 때.. 2023. 2. 9. 이전 1 2 3 4 다음