형상 관리(Configuration Management)형상 관리는 소프트웨어 구성 관리(Software Configuration Management)라고도 하며, 소프트웨어의 변경 사항을 추적하고 통제하여 체계적으로 관리하는 것을 의미한다. Git을 사용하다 보면 버전 관리라는 용어를 자주 접하게 되는데, 형상 관리와 버전 관리는 같은 의미가 아니다. 형상 관리는 더 포괄적인 개념으로, 그 안에 버전 관리가 포함된다. 더보기여기서 "형상"은 소프트웨어 시스템을 구성하는 모든 구성 요소와 그 상태를 의미한다. 소스 코드, 빌드된 바이너리 파일, 설계 문사, 테스트 케이스와 그 결과, 시스템 설정 및 환경 설정 파일 등이 해당된다. 형상 관리는 이러한 구성 요소들의 버전과 변경 사항을 관리하는 개념이다...
HTTPHTTP는 Hyper Text Transfer Protocol의 약자로, 웹에서 데이터를 주고받기 위해 사용되는 단방향 프로토콜이다. HTTP의 전제는 "클라이언트(웹 브라우저)가 URL 및 부가정보를 통해 사용자가 원하는 페이지를 서버에 요청하고, 서버는 요청에 응답한다." 이다. 여기서 서버에 요청한다는 것이 중요한 포인트다. 클라이언트가 서버에 요청을 해야만 원하는 데이터를 얻을 수 있다는 뜻인데, 사용자는 새로운 데이터를 얻기 위해선 반드시 새로운 URL을 요청해야 한다는 것이다. HTTP의 특징은 다음과 같다.HTTP는 요청(Request) / 응답(Response) 을 기반으로 한다.HTTP는 상태를 유지하지 않는 stateless한 프로토콜인데, 이는 각각의 요청이 독립적이고 서버는..
1. 옵저버 패턴 (Observer Pattern)옵저버(Observer)를 직역하면 관찰자, 감시자를 뜻한다.옵저버 패턴(Observer Pattern)은 옵저버(감시자)가 관찰하는 대상자의 상태 변화(이벤트)가 발생되는 것을 감시하는 패턴이다.옵저버 패턴은 다른 디자인 패턴과 다르게 일대다(1:N) 의존성을 가진다. 옵저버 패턴을 유튜브 채널과 구독에 비유하면 이해하기가 좀 더 쉽다.유튜브 채널을 구독하는 구독자는 자신이 구독한 채널의 새 영상이 업로드되면 알림을 받게 된다. 여기서 유튜브 채널은 관찰 대상자가 되고, 구독자는 옵저버(관찰자)가 된다.유튜브 채널에 새 영상이 업로드되는 이벤트를 감지하고, 미리 정의해 둔 알림을 보내는 동작이 수행된다. 이처럼 옵저버 패턴은 이벤트가 발생될 때마다 미..
들어가기Java로 개발 중인 스터디 프로젝트에서 Kotlin을 적용하기로 했다.항상 Java만 사용했었는데, 새로운 언어를 경험할 수 있게 되어서 굉장히 기대가 된다!Kotlin의 기초 중 하나인 변수와 타입, 그리고 스코프 함수에 대해 알아보자! ✔️ Kotlin 변수변수 선언 기본 형태 키워드(Keyword)코틀린은 변수 선언 시, 해당 변수의 변경 가능 여부를 나타내는 키워드(Keyword)를 필수로 붙여주어야 한다.키워드에는 val과 var이 있다.val (value)변경 불가능한(immutable) 변수로 지정하는 키워드이다.Java의 final 키워드와 동일하다.var (variable)변경 가능한(mutable) 변수로 지정하는 키워드이다.Java의 일반적인 변수와 동일하다. 변수 타..
들어가기현재 참여하고 있는 스터디 프로젝트에 가장 적합한 배포 방법을 적용하기 위해서 무중단 배포 전략에 대해 공부를 했다.먼저 배포 방법에 대해 알아보고, 무중단 배포의 3가지 전략에 대해 살펴보자! ✔️ 중단 배포와 무중단 배포배포 방법에는 중단 배포와 무중단 배포가 있다. 중단 배포란?서버 한대로 서비스를 운영한다고 예를 들어보자.현재서버에는 V1 버전의 서비스가 실행되고 있다. V1 버전에 기능을 추가하고 싶어서 V2 버전의 서비스를 개발했다.이제 모든 사용자가 V2 버전의 서비스를 사용할 수 있도록 배포를 해야 한다. 새로운 버전의 배포 과정은 다음과 같다.1. 개발된 V2 버전 빌드를 서버에 다운로드한다.2. V2 버전을 실행하기 위해 V1 버전의 프로세스를 종료한다. (V1과 V..
들어가기현재 참여하고 있는 스터디에서 도메인을 구입하고 DNS 설정을 하는 업무를 담당하게 되었다.우리 스터디는 하나의 도메인을 구입해서 프론트용, 백엔드용과 같이 서브 도메인으로 나누어 사용할 것이다.본 포스팅에서는 서브 도메인을 생성할 때 필요한 DNS 레코드 개념을 정리해보려고 한다.도메인을 구입하고 AWS에 적용하는 과정은 다음 포스팅에서 작성할 예정이다. ✔️ DNS 레코드(Record)란?DNS 레코드(Domain Name System Record)는 DNS 서버에 요청된 패킷을 어떻게 처리할지에 대한 정보이다. 사용자가 브라우저 주소창에 도메인 네임을 입력했을 때, DNS 서버는 해당 도메인 네임에 대한 DNS 레코드를 찾아서 최종적으로 어떤 IP주소로 사용자를 연결시켜줘야 하는..