Spring Boot 애플리케이션을 위한 CI/CD 파이프라인을 설정하는 과정은 크게 빌드, 테스트, 배포의 3단계로 나눠집니다. 이 파이프라인을 GitHub Actions와 같은 CI/CD 도구를 이용해 자동화할 수 있습니다.1. Continuous Integration (CI) - GitHub Actions 설정CI 목적:코드 푸시 후 자동으로 빌드, 테스트를 진행합니다.배포 준비 상태에서의 코드 품질을 체크합니다.Spring Boot CI 설정 - GitHub Actions 예시먼저, GitHub에 Spring Boot 프로젝트가 있다고 가정하고, .github/workflows/ 디렉토리 내에 YAML 파일을 작성하여 CI 파이프라인을 설정할 수 있습니다.ci.yml 예시 (GitHub Actio..
백엔드
JWT는 JSON Web Token의 약자로, 두 시스템 간에 안전하게 정보를 전송하기 위한 컴팩트하고 자가 포함적인 토큰 형식입니다. 보통 인증(Authentication)과 권한 부여(Authorization)를 위해 사용됩니다. JWT는 서명(Signature)을 통해 데이터의 무결성을 보장하며, 클라이언트와 서버 간의 데이터 교환에서 흔히 사용됩니다.JWT의 구성JWT는 3개의 부분으로 나눠집니다: 헤더(Header), 페이로드(Payload), 서명(Signature).1. 헤더 (Header): 토큰의 종류와 서명 알고리즘 정보 2. 페이로드 (Payload): 토큰에 담고자 하는 실제 데이터 (예: 사용자 정보) 암호화되지 않아서 쉽게 디코딩 가능 3. 서명 (Signature): 토큰의 무..

AWS의 클라우드 서비스 중 EC2(Elastic Compute Cloud), EBS(Elastic Block Store), ELB(Elastic Load Balancer)에 대해 알아보고 그 연관관계를 살펴보기 EC2 (Elastic Compute Cloud)AWS에서 제공하는 `가상 서버 서비스`로, EC2 인스턴스를 통해 애플리케이션을 실행하고 데이터를 처리할 수 있음. 서버 인스턴스를 `시작하거나 종료`할 수 있으며, `필요한 리소스 만큼만 비용 지불`따라서 사용자가 얼마만큼의 크기, 용량이 사용되는지 미리 알 수 없을때 (예측할 수 없는 데이터 처리 및 산술적으로 볼 수 없는 크기의 데이터가 몰려올 때) 사용하는 편리한 서비스! 클라우드란? 더보기클라우드란 데이터를 저장하고 처리하는 서버나 애..

MVC 패턴 소프트웨어 개발을 위한 `프로젝트 아키텍처` 설계에서 자주 사용되는 디자인 패턴 중 하나애플리케이션의 구조를 명확하게 분할하여 각 구성요소의 역할 정의 -> 세가지 주요 구성 요소로는 모델(Model), 뷰(View), 컨트롤러(Controller)가 있음 1. Model데이터와 `비즈니스 로직`을 관리한다. ⇒ `데이터`와 관련된 부분View, Controller에 대한 의존을 가지지 않는다.ex) 사용자의 정보, 상품의 목록, 주문 내역 등2. ViewModel의 데이터를 사용해 시각적인 화면을 구성하는 역할이다. ⇒ 사용자에게 보여지는 부분 (`사용자 인터페이스`)Model과 의존성 가질수도, 안가질수도 있다. Controller에는 의존성 Xex) 웹 페이지, 모바일 앱 화면, 대시 ..
프로젝트 아키텍처`소프트웨어 개발 프로젝트의 기본적인 구조` 프로젝트의 요구사항을 충족시키기 위해 `시스템의 구성 요소와 그 관계`를 정의하고, 이러한 요소들이 어떻게 `상호작용`하는지를 설명하는 설계도.즉, 프로젝트 아키텍처는 건물을 짓기 위한 청사진과 같으며, 이를 통해 개발자들은 각자의 역할을 명확히 이해하고, 시스템의 전체적인 모습을 파악할 수 있음 프로젝트 아키텍처의 필요성명확한 구조 제공:프로젝트 아키텍처는 시스템의 전체 구조를 명확하게 정의한다. 이를 통해 팀원들이 시스템의 구성 요소와 상호 작용을 명확하게 이해할 수 있게 한다.효과적인 의사소통 촉진:프로젝트 아키텍처 문서는 프로젝트 이해관계자 간의 공통 이해를 촉진한다. 이를 통해 개발팀, 관리팀, 고객 모두가 동일한 목표와 방향을 공유할..
ECMAScriptEcma International(정보통신을 위한 비영리 표준 기구)에 의해 정의된 ECMA-262라는 기술 규격에 의해 정의 된 `범용 스크립트 언어`의 표준`JavaScript의 표준 사양을 정의하는 언어` (+) 스크립트 언어와 범용 프로그래밍 언어더보기더보기스크립트 언어(scripting language): `응용 소프트웨어를 제어하는 언어`로 `독립적으로 사용`할 수 있으며, 컴파일 없이 실행가능한 언어. 사용자가 직접 프로그램을 의도에 따라 동작함ex) JavaScript, Python, 셸(Shell) 스크립트범용 프로그래밍 언어(general-purpose programming language): 다양한 도메인의 소프트웨어를 개발하기 위해 설계된 프로그래밍 언어ex) H..