Pull Request
PR이 정확히 무엇을 의미하는지 궁금해서 찾아보게 되었다.
이미 있는 원격 저장소에 새로운 변경사항을 등록하고 싶을때 하는 행위라고 생각하면 된다.
원격 저장소에 있는 레포지토리를 내 원격 저장소에 가져오기 위해 Fork
를 한다.
그러면 내 레포지토리에서 이 원격저장소에 접근할 수 있다.
이후 내 레포지토리를 clone에서 로컬저장소에서 접근할 수 있다.
로컬 저장소에서 변경 후 commit
하면 내 원격저장소에 commit이 되고, 이후 새로운 창이 뜬다.
원래 있는 원격저장소에 commit하기 위해 필요한 것이 Pull Request
이다.
이를 원격 저장소의 권한자가 승인하면 원격저장소에 merge되고, 이를 내 로컬저장소에 pull하여 동기화 시킨다.
질문
- 그럼 권한자는 누구지? 소유자가 권한을 준 사람인 듯
- 권한자가 깃허브에서 승인하면 바로 merge 되는건가? yes. 근데 branch를 삭제해주는 등의 작업 필요
Vite
모듈 번들러
- 모듈 : 분리된 코드조각
- 번들러 : 번들링(여러 자원들을 묶어서 압축해주는 도구)을 위한 도구
여러 코드조각들을 하나로 모아주는 도구이다.
이를 통해 단일파일을 만들어 의존성 문제를 해결하고 로딩속도를 빠르게 해주며 변환작업을 자동화 해준다.
대부분 Webpack을 번들러로 사용한다.
Babel
Webpack과 함께 babel이 쓰인다.
ES6은 module 개념을 도입해 js코드들을 분리시켰지만, ES5은 모듈을 지원하지 않아 불가능하다.
ES6을 지원하는 브라우저, 서버는 상관없지만 ES5을 사용하는 곳에서는 충돌이 일어날 수 있다.
Babel은 ES5 환경에서 ES6를 변환시켜 정상적으로 작동할 수 있게 도와준다.
Webpack은 소스코드와 모든 종속관계 모듈을 번들링 한 후 서버가 준비되지만
Vite는 esbuild를 통해 미리 번들링한 모듈을 필요할 때 동적으로 가져오기 때문에 서버가 즉시 준비된다.
질문
- vite를 사용하면 babel이 필요가 없나?
- 근데 production환경에서는 추가적인 설정이 필요해 결국 개발환경에서만 빨라진다던데?