CI\CD

    [Git] Git 과 Github은 무엇이 다른가?

    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는 Version Control System의 약자로, 파일의 변화를 추적하고 관리하는 시스템이다. 소프트웨어 엔지니어링에서 VCS는 코드의 변화를 추적하고 관리는데 사용된다. 대표적으로는 Git과 Subversion이 있으며, 2018년 기준 Git의 점유율이 88.4%에 달하며(*1), 2022년 기준 90% 이상의 회사에서 Git을 사용할 것이라 추정된다. *1 : Stack Overflow 2018 Survey VCS가 중요한 이유 소프트웨어 엔지니어링에서 가장 중요하게 생각하는 것은 바로 유지보수성이다. 코드를 깔끔하게 짜는 것, 변수명을 깔끔하게 짓는 것, OCP 원칙을 지키는 것 모두 유지보수성을 위해 만들어진 원칙들이..

    Gradle with Kotlin DSL

    예제파일 : https://github.com/seyoungcho2/GradleKotlinDSL Gradle with Kotlin DSL Groovy로 빌드 파일을 작성하는 것은 불편하다. 다른 곳에서 선언된 변수에 대해 자동완성이 지원되지 않고 문서 찾기가 어렵다. 실행시점 전까지 오류가 검출되지 않는다. IDE에서 제공하는 리펙터링 기능을 사용할 수 없다. (Intellij 기준 Shift+F6 을 눌러서 리펙토링 불가) 코드 작성이 제약이 약해 빌드 스크립트가 자유 분방해진다. Groovy는 같은 코드를 여러 방식으로 쓰는 것을 허용한다. 대표적 예로 문자열을 쓸 때 ' 를 쓰는 것과 "를 쓰는 것이 모두 허용되는 점이다. 왜 Kotlin DSL로 이전해야 하는가? 코드 자동완성과 참조 오류코드 강..

    Gradle을 Groovy에서 Kotlin DSL로 Migration 하기

    익숙하지 않은 Groovy언어로 BuildScript를 작성하는 것에 한계를 느껴 언젠가는 Kotlin DSL로 Migration해야 겠다고 생각했는데, 이번에 시간이 생겨 Migration을 진행하였다. Migration을 진행하면서 달라진 문법 구조로 인해 대형 프로젝트에서는 Migration을 진행하기 조금 어려울 수도 있겠다는 생각이 들어 정리를 할 필요성을 느끼게 되어 정리를 하게 되었다. 프로젝트 예제: https://github.com/seyoungcho2/GradleKotlinDSL seyoungcho2/GradleKotlinDSL Contribute to seyoungcho2/GradleKotlinDSL development by creating an account on GitHub. g..