[Sprint] 빌드 및 테스트 자동화

# 학습 목표 # 해결 과제 Getting Started # 실습 자료 sprint-mini-node-server-with-github-action # 과제 항목별 진행 상황 ✏️ 1. 유닛 테스트를 통과시키세요. 먼저 테스트 주도 개발을 연습합니다. 직접 test/app.test.js를 수정하여 통과하지 않는 테스트를 모두 통과시키세요. 1. 테스트가 통과하는지 확인하려면 npm test 명령을 이용합니다. 2. app.test.js 를 수정하여 test 를 통과시킵니다. ✏️ 2. GitHub Action을 이용해서 … Read more

GitHub Action

GitHub Actions란? 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 지속적 통합 및 지속적 배포(CI/CD) 플랫폼 GitHub Actions의 구성 요소 WorkFlow .yaml 파일 예제

CI/CD

지속적 통합/지속적 배포 전통적인 소프트웨어 전달 방식은 출시 기한을 정해놓고 소프트웨어를 완성(Waterfall모델)을 했었다 문제는 출시 시점에 소프트웨어의 신뢰성과 안정성을 보장할 수 없으며 출시를 약속하고 서비스를 진행했지만 예상치 못한 변수 및 문제점이 발생 가능성이 높음 Waterfall 모델의 특징 사용자가 항상 최신 상태로 업데이트 해야 하므로 사용자에게 소프트웨어의 수정된 사항을 전달하기 매우 어려움 사용 예 : Mobil … Read more

[Sprint] 도메인 연결과 CDN 및 HTTPS 적용

# 학습 목표 # 해결 과제 # 실습 자료 sprint-aws # 과제 항목별 진행 상황 ✏️ 1. Certificate Manager를 통한 도메인 인증서 발급 ✏️ 2. 백엔드 HTTPS 적용 ✏️ 3. 프론트엔드 CDN 및 HTTPS 적용 ✏️ 4. Route53 레코드 등록 # TROUBLE SHOOTING LOG 💡 ACM에서 인증서 요청이 30분이 지나도 발급되지 않음 원인 CNAME 레코드를 … Read more

[Sprint] 3 Tier 아키텍처 배포

# 학습 목표 # 해결 과제 # 실습 자료 sprint-aws # 과제 항목별 진행 상황 ⬛ 클라이언트 배포(S3) 1. S3 버킷 생성하기 버킷 이름과 AWS 리전을 선택 버킷의 퍼블릭 액세스 허용을 위한 차단 해제 2. 정적 웹 사이트 호스팅 활성화 정적 웹 사이트 호스팅 활성화 및 인덱스 문서 설정 3. 버킷 정책 설정 4. FrontEnd … Read more

AWS

Cloud Global Infra AWS는 245개 국가에서 리전(Region), 가용 영역(Availability Zone), 상호접속위치(Points of Presence) 등으로 구성된 글로벌 클라우드 인프라를 제공하며, 지속적으로 확장하고 있다. AWS 글로벌 인프라맵으로 리전(Regioan)과 가용 영역(Availability Zone)을 명시하고 있다. 6대 원칙 설명 운영 우수성 원칙 시스템의 실행 및 모니터링에 대한 프로세스와 절차를 계산 보안 원칙 데이터의 기밀성 및 무결성, 사용자 권한 관리, 보안 … Read more

[Sprint] 애플리케이션 컨테이너화

# 학습 목표 풀스택 애플리케이션 컨테이너화 및 Docker Compose를 이용한 실행 # 해결 과제 💡 Bare minimum requirement # 실습 자료 sprint-docker-compose # 과제 항목별 진행 상황 Frontend Dockerfile 작성 결과 확인 Backend Dockerfile 작성 결과 확인 docker-compose.yaml 작성 결과 확인 # TROUBLE SHOOTING LOG 💡 원인 해결 방안 # 피드백 오태경 박찬규 Section1에 구현해본 … Read more

[Sprint] YAML 작성

# 학습 목표 조건에 맞는 YAML 문서 작성하기 # 해결 과제 # 실습 자료 # 과제 항목별 진행 상황 Test1 아래의 표와 같은 데이터를 YAML 파일로 작성하세요. Test2 다음 데이터를 YAML 형식으로 변경하여 작성하세요. case A case B Test3 다음 JSON으로 작성된 설정 파일을 YAML 형식으로 작성하시오. # TROUBLE SHOOTING LOG 💡 문제 내용 원인 … Read more

Docker

컨테이너 방식의 장점 의존성 충돌 문제를 해결해 준다 개발과 배포 환경을 일치시킨다 수평 확장을 쉽게 해준다 각 서버에 새로운 내용을 배포하기 쉽게 만들어준다 VM Container Hardware-level 프로세스 격리 OS-level 프로세스 격리 각각 독립된 OS 소유 하나의 OS 공유 부팅시간 오래 걸림 부팅시간 짧음 GB KBs/MBs 사전에 구축된 vm 찾기 어려움 사전 구축된 컨테이너를 쉽게 사용함 … Read more

NGINX

웹 서버 및 리버스 프록시로 사용되는 고성능 서버 소프트웨어입니다. NGINX는 다양한 운영 체제에서 실행할 수 있으며, 단일 쓰레드, 비동기 이벤트 기반 아키텍처를 사용하여 높은 처리량과 저지연 시간을 보장 Apache vs NGINX apache는 각 요청마다 새로운 process를 생성하기 때문에 메모리 사용량이 높아진다. 하지만 다양한 모듈을 추가하여 기능을 확장할 수 있기에 필요에 따라 소프트웨어 선택을 할 필요가 … Read more