Git에 user name과 user email을 설정하는 방법 Git에 user name과 user email은 config에 설정한다. config에 설정된 user name과 user email값은 파일을 관리할 때 코드를 작성한 주체가 누구인지 이메일이 무엇인지에 대해 알기 위해 사용된다. config는 global 모드와 local 모드로 설정이 가능하다. global 모드로 설정하면 컴퓨터 내의 모든 git의 관리를 받는 폴더에 대해 값이 설정되는 것이며, local 설정은 현재 디렉터리에만 값을 설정하는 것이다. user name 설정 방법 글로벌 설정 git config --global user.name "[user name]" 로컬 설정 config의 default 옵션이 --local이..
분류 전체보기
Git과 Github의 차이점 많은 사람들이 Git과 Github이 같은 것이라고 생각한다. 하지만 Git은 Github과 동일하면서 다르다. Git은 개인 컴퓨터에서 돌아가는 Version Control System이다. Git을 사용하기 위해서는 개인 계정을 등록할 필요도 없으며 인터넷을 연결할 필요도 없다. 반대로 Github은 Github라 불리는 회사에서 서비스하고 있는 서버에 올라간 Git 이기 때문에 사용하기 위해 개인 계정을 등록해야 하며, 인터넷에 연결되어야 사용할 수 있다. 즉, Github는 Git 소프트웨어를 지원하는 일종의 클라우드 서비스이다. 우리가 휴대폰이나 컴퓨터에서 클라우드를 사용할 때 우리의 기기에 파일을 저장해놓으면 우리의 기기에서 사용하기 위해서는 계정이나 인터넷이 필..
VCS(Version Control System) 이란 무엇인가? VCS는 Version Control System의 약자로, 파일의 변화를 추적하고 관리하는 시스템이다. 소프트웨어 엔지니어링에서 VCS는 코드의 변화를 추적하고 관리는데 사용된다. 대표적으로는 Git과 Subversion이 있으며, 2018년 기준 Git의 점유율이 88.4%에 달하며(*1), 2022년 기준 90% 이상의 회사에서 Git을 사용할 것이라 추정된다. *1 : Stack Overflow 2018 Survey VCS가 중요한 이유 소프트웨어 엔지니어링에서 가장 중요하게 생각하는 것은 바로 유지보수성이다. 코드를 깔끔하게 짜는 것, 변수명을 깔끔하게 짓는 것, OCP 원칙을 지키는 것 모두 유지보수성을 위해 만들어진 원칙들이..
flatMapMerge는 무슨 역할을 하는가? flatMapConcat과 flatMapLatest는 flow에서 발행된 데이터를 변환할 때 발행된 순서대로 순차적으로 변환한다. 반대로 flatMapMerge는 변환을 병렬로 수행한다. 대부분의 연산이 flatMapConcat이나 flatMapLatest를 이용한 순차 처리에 해당하지만 들어오는 데이터들을 동시에 수집한 후 수집한 값들이 가능한 빨리 방출 될 수 있도록 병렬로 처리되어야 할 때가 있다. 예를 들어 비용 처리를 위해 수십개의 지출 데이터를 취합하여 합치는 작업을 할 경우 굳이 순차적으로 처리하지 않고 병렬로 처리되는 것이 빠를 것이다. flatMapMerge는 이러한 병렬 연산을 지원하기 위해 만들어진 연산자이다. flatMapConcat과 ..
flatMapLatest란? flatMapLatest는 flow를 최신데이터만을 이용해 새로운 flow로 변환할 수 있도록 도와주는 함수이다. flatMapLatest를 사용하면 flow에서 발행된 데이터를 변환하는 도중 새로운 데이터가 발행될 경우, 변환 로직을 취소하고 새로운 데이터를 사용해 변환을 수행한다. collectLatest의 경우 먼저 발행된 데이터를 처리하는 도중 새로운 데이터가 들어올 경우 이전 데이터 처리를 취소하고 새로운 데이터를 이용해 데이터를 처리하는데 flatMapLatest는 collectLatest와 동작이 매우 유사하다. flatMapLatest 동작 살펴보기 예를 들어 다음과 같은 flow가 있다고 해보자. 이 flow는 1과 5를 순차적으로 발행한다. val flow ..