Infra & Tool
CI/CD with GitHub Actions
1. CI/CD CI/CD는 Continuous Integration(CI)와 Continuous Delivery/Deployment(CD)를 통합해서 부르는 용어 CI/CD는 개발 과정에서 필요한 빌드, 테스트, 배포등의 과정을 자동화 CI/CD 자동화를 통해서 개발자들은 코드를 자동으로 테스트하고 배포 효율적인 작업과, 더 빠르고 더 자주 배포를 진행할 수 있다. 1-1. CI (Continous Integration) Continous Integration은 코드를 지속적으로 통합해나가는 것을 의미한다. 일반적으로 코드의 통합은 GItHub의 PR을 통해서 진행할 수 있기에 CI 과정에서 도대체 무엇을 하는지 호기심이 생긴다. CI 에서 코드의 통합은 단순히 코드와 코드를 합치는 것뿐만이 아니라 코..
서버와 클라우드 컴퓨팅 & AWS S3
1. 서버란? 사전적 의미의 Server는 무언가를 제공해주는 사람이나 물건을 의미한다. 좀 더 나아가서 우리가 일상생활, 그리고 IT 업계에서 말하는 서버는 “무언가를 제공해주는 컴퓨터” 이다. 우리는 흔히 인터넷으로 특정한 웹사이트나, 리소스에 접근하는데 정확히 말하자면 우리가 접근하는 대상은 웹사이트, 리소스 자체가 아니라 해당 웹사이트와 리소스를 응답해주는 컴퓨터에 접속하는 것이다. 추상적으로 서비스가 운영되고 제공되는 과정을 알아보자면 서비스를 운영하기 위해서는 특정한 컴퓨터를 가동시킨다. 그리고 해당 컴퓨터에서 특정 프로그램을 실행시켜서 컴퓨터에 네트워크를 통해 접근하면 특정한 리소스를 응답해주도록 만든다. 그리고 인터넷을 통해서 이 컴퓨터를 외부에서 접근 가능하도록 설정한다. 이러한 동작을 ..
ESLint & Prettier, Git Hook(Husky) 사용으로 팀의 능률 올리기
1. Lintter & Code Formatter 한 프로젝트에서 작업자마다 각자 다른 코딩 스타일을 가지고 있고, 그것이 코드에 드러난다면 이 프로젝트를 제 3자가 읽기도 어려워지며, 팀원들끼리도 다른 팀원들이 작성한 코드를 읽고 이해하기가 힘들질 수 있다. 이러한 요소들은 결국 비효율을 유발하게되고 이를 극복하기 위해서 팀으로 작업을 할 때는 여러 작업자들의 코딩 스타일을 일치시키기 위한 Lintter와 Code Formatter를 사용하는 것이 좋다. 이러한 도구들을 사용하게 되면 어떤 형태의 문법을 지향하고 지양할지, 포맷팅은 쌍따옴표를 사용할지, 홑따옴표를 사용할지, 혹은 몇 자마다 줄바꿈을 할지, 문장의 끝에 세미콜론을 사용할지 등의 여부를 고민하지 않고 코드 작성 자체에 집중할 수 있도록 도..
Git & GitHub 을 사용하면서 지켜야 할 것
1. Git & GitHub 의 정의 Git은 분산 버전 관리 시스템이다. Git을 사용해서 코드의 버전을 관리하면서 손쉽게 코드를 이전으로 롤백하거나, 분리된 환경(브랜치)에서 개발 후 다른 환경과 병합하는 등의 과정을 손쉽게 활용할 수 있다. GitHub은 Git의 원격 저장소입니다. GitHub을 이용해 개인적으로만 사용할 수 있었던 Git의 기능들을 인터넷을 이용해서 여러 사람들이게 공유하고, 팀원들과 공동으로 작업할 수 있게 되었다. Git과 GitHub은 현재 개발 생태계에서 분산 버전 관리 시스템의 표준이다. 대부분의 개발팀이 Git과 GitHub 또는 GitHub과 유사한 원격 저장소 시스템(GitLab, BitBucket) 등을 활용하면서 작업한다. 2. Commit Message Git..