들어가기현재 참여하고 있는 스터디 프로젝트에 가장 적합한 배포 방법을 적용하기 위해서 무중단 배포 전략에 대해 공부를 했다.먼저 배포 방법에 대해 알아보고, 무중단 배포의 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주소로 사용자를 연결시켜줘야 하는..
✏️ 배열(Array)이란?배열(Array)- 동일한 타입의 데이터를 연속적으로 나열하고, 데이터의 순서에 따른 인덱스를 통해 데이터를 제어하는 자료구조요소(Element) : 배열을 구성하는 각각의 값인덱스(Index) : 배열에서 위치를 가리키는 번호 배열의 특징배열은 순서가 존재하며, 인덱스를 통해 데이터에 접근할 수 있다.동일한 자료형의 데이터가 저장된다.배열을 처음 선언할 때 지정한 크기를 변경할 수 없다. ✏️ 배열(Array)의 구조 배열의 장점인덱스를 통해 데이터에 무작위 접근이 가능해서 검색 성능이 좋다. (순차적으로 접근할 필요 X)연속된 메모리 공간에 데이터가 존재하기 때문에 관리하기 쉽다. 배열의 단점데이터 삽입과 삭제가 비효율적이다.데이터를 삽입하거나 삭제할 경우,..
자료구조(Data Structure)란?자료구조(Data Structure)는 대량의 데이터를 효율적으로 관리하고 사용할 수 있도록 데이터 특성에 따라 구분된 데이터 구조이다.자료구조는 특정 상황에 맞게 메모리를 효율적으로 사용하면서 데이터를 빠르고 안정적으로 처리하도록 만들어져 있다. 그렇기 때문에 상황별로 빠르고 안정적이거나, 느리고 불안정적일 수 있다. 우리는 다양한 자료구조를 알고 상황에 맞는 자료구조를 선택할 수 있어야 한다. 자료구조는 크게 선형(Linear) 구조와 비선형(NonLinear) 구조로 나뉜다. 선형(Linear) 구조선형 구조는 자료를 구성하는 데이터들을 순차적으로 나열한 구조로, 자료들 간의 앞/뒤 관계가 1:1 관계이다.선형구조에는 배열, 연결리스트, 스택, 큐, 덱이 ..
🍀 Cron이란? Cron : 특정한 시간마다 원하는 작업을 자동으로 실행시켜주는 스케줄러이다. Crontab : Cron 작업을 설정하는 파일 Cron 프로세스는 crontab 파일을 읽어 작업을 수행한다. 🍀 Crontab 명령어 1. crontab -l : 예약된 작업 목록 보기 crontab에 등록되어 있는 작업을 확인할 수 있다. 등록된 작업이 없을 경우, no crontab for 이 출력되면서 끝난다. $ crontab -l 2. crontab -e : 예약 작업 등록 및 수정하기 예약 작업을 등록하거나 수정 할 수 있다. $ crontab -e 예약 작업 등록 형식 [분(0-59)] [시간(0-23)] [일(1-31)] [월(1-12)] [요일(0-7)] [실행할 명령] 특수 기호 * 모든..
💡 Github Action이란? Github Action : 소프트웨어 WorkFlow(워크플로우)를 자동화할 수 있는 도구이다. 예를 들어, Commit 하면 자동으로 빌드와 테스트를 실행하거나, Merge 되면 새로운 버전을 릴리즈할 수 있도록 설정이 가능하다. 💡 Github Action 구성 요소 ✔️ Workflow(워크플로우) Workflow는 작업의 흐름으로, 하나 이상의 Job으로 구성되어 Event에 의해 트리거(실행)되는 자동화 프로세스이다. Workflow는 .github/workflows 하위에 yaml 파일로 작성한다. Github Actions는 yaml 파일을 기반으로 실행한다. ✔️ Event(이벤트) Event는 Workflow를 실행하기 위한 특정 규칙이다. Workfl..