Back-End/Spring 7

대규모 스트림 처리

🗨️ 오리엔테이션오프닝대규모 시스템이란 무엇일까요?인터넷 환경에서는 수백만 명의 사용자가 동시에 접속하고 상호작용할 수 있는 시스템을 구축해야 하는 상황이 자주 발생합니다.이러한 시스템은 단순히 많은 사용자를 처리하는 것뿐만 아니라, 안정성과 신뢰성을 유지하면서 고성능을 제공해야 합니다.대규모 시스템을 설계하고 구축하는 과정에서 고려해야 할 중요한 요소들을 알아볼 것입니다. 이를 통해 대규모 스트림 처리에 대한 이해뿐만 아니라, 대규모 시스템의 전반적인 구성과 운영에 대한 깊은 통찰을 얻게 될 것입니다.그중 큐를 통한 대규모 스트림 처리에 집중해 보겠습니다.큐를 사용하면 대규모 처리를 할 수 있다는 이야기를 많이 들어봤을 것입니다.모든 상황에서 큐를 사용해야 할까요? 큐를 사용해야 하는 상황과 사용하지..

Back-End/Spring 2026.05.14

프로젝트 관리 심화: 챕터 2 (CI/CD)

🗨️ CI/CD📌 CI/CD의 개념을 이해하고, 이를 실제 프로젝트에 적용하여 자동화된 빌드, 테스트, 배포 파이프라인을 구축하는 방법을 배워보겠습니다.CI/CD의 기본 개념CI와 CD의 정의와 목적을 이해합니다.CI/CD를 도입함으로써 얻을 수 있는 장점을 학습합니다.CI/CD 도구 소개다양한 CI/CD 도구들(GitHub Actions, Jenkins, GitLab CI 등)의 특징과 사용 사례를 알아봅니다.GitLab를 이용한 CI/CD 파이프라인 구축GitLab의 설정 파일 작성 방법을 익히고, 이를 활용하여 자동화된 빌드 및 배포 파이프라인을 구축합니다. 배포 자동화AWS와 같은 클라우드 플랫폼을 이용하여 CI/CD 파이프라인의 배포 단계를 자동화하는 방법을 학습합니다. CI/CD 개요 C..

Back-End/Spring 2026.05.14

프로젝트 관리 심화: 챕터 1 (Docker)

무엇을 배우나요?DockerDocker를 통해 애플리케이션을 컨테이너로 만들어서 일관되게 실행할 수 있습니다Dockerfile을 작성하고, Docker 이미지를 만들고 배포할 수 있습니다.Docker-composeDocker-compose로 여러 개의 컨테이너를 쉽게 관리할 수 있습니다서비스 간의 연결 및 데이터 관리를 배우게 됩니다CI/CD 파이프라인 구축CI/CD의 기본 개념을 이해하고, 자동으로 빌드, 테스트, 배포하는 과정을 배울 수 있습니다.GitLab을 사용하여 CI/CD 파이프라인을 설정할 수 있습니다.AWS Elastic Container Service 사용AWS ECS를 통해 컨테이너 애플리케이션을 배포하고 관리할 수 있습니다 🗨️ Docker Docker 개요 Docker란? Do..

Back-End/Spring 2026.05.04

MSA (Microservice Architecture)

🗨️ MSAMSA 개요MSA란? Microservices Architecture (MSA)MSA는 하나의 애플리케이션을 여러 개의 독립적인 서비스로 분리하여 개발, 배포, 유지보수를 용이하게 하는 소프트웨어 아키텍처 스타일각 서비스는 특정 비즈니스 기능을 수행하며, 서로 독립적으로 배포되고 확장될 수 있음서비스 간의 통신은 주로 HTTP/HTTPS, 메시지 큐 등을 통해 이루어짐주요 특징독립적인 배포 가능성: 각 서비스는 독립적으로 배포할 수 있으며, 다른 서비스에 영향을 주지 않고 업데이트할 수 있음작은 팀 구성: 각 서비스는 작은 팀이 독립적으로 개발하고 관리할 수 있음기술 스택의 다양성: 각 서비스는 적절한 기술 스택을 자유롭게 선택할 수 있음 모놀리틱 아키텍처와의 비교 모놀리틱 아키텍처정의:모놀..

Back-End/Spring 2026.04.14

Spring 숙련: 챕터 2

RestTemplate Server To Server지금까지는 Client 즉, 브라우저로부터 요청을 받는 서버의 입장에서 개발을 진행해 왔습니다.서비스 개발을 진행하다 보면 라이브러리 사용만으로는 구현이 힘든 기능들이 무수히 많이 존재합니다.예를 들어 우리의 서비스에서 회원가입을 진행할 때 사용자의 주소를 받아야 한다면?주소를 검색할 수 있는 기능을 구현해야 하는데 직접 구현을 하게 되면 많은 시간과 비용이 들어갑니다.이때, 카카오에서 만든 주소 검색 API를 사용한다면 해당 기능을 간편하게 구현할 수 있습니다.이럴 때 우리의 서버는 Client의 입장이 되어 Kakao 서버에 요청을 진행해야 합니다.Spring에서는 서버에서 다른 서버로 간편하게 요청할 수 있도록 RestTemplate 기능을 제공하..

Back-End/Spring 2026.04.08

Spring 숙련: 챕터 1

Bean을 수동으로 등록하는 방법Bean 수동 등록이란?@Component를 사용하면 @ComponentScan에 의해 자동으로 스캔되어 해당 클래스를 Bean으로 등록해 줍니다.일반적으로 @Component를 사용하여 Bean을 자동으로 등록하는 것이 좋습니다.프로젝트의 규모가 커질수록 등록할 Bean들이 많아지기 때문에 자동등록을 사용하면 편리합니다.비즈니스 로직과 관련된 클래스들은 그 수가 많기 때문에 @Controller, @Service와 같은 애너테이션들을 사용해서 Bean으로 등록하고 관리하면 개발 생산성에 유리합니다.그렇다면 Bean 수동 등록은 언제 사용될까요?기술적인 문제나 공통적인 관심사를 처리할 때 사용하는 객체들을 수동으로 등록하는 것이 좋습니다.공통 로그처리와 같은 비즈니스 로직..

Back-End/Spring 2026.04.07

Spring 입문

그레이들(Gradle)Gradle은 빌드 자동화 시스템입니다.우리가 작성한 Java 코드를 설정에 맞게 자동으로 Build 해 줍니다.Build란 소스 코드를 실행 가능한 결과물로 만드는 일련의 과정을 뜻합니다.Gradle을 사용하면 간편하게 Java 소스 코드를 실행한 가능한 jar 파일로 만들어줍니다. build.gradlebuild.gradle은 Gradle 기반의 빌드 스크립트입니다.이 스크립트를 작성하면 소스 코드를 빌드하고 라이브러리들의 의존성을 쉽게 관리할 수 있습니다.groovy 혹은 kotlin 언어로 스크립트를 작성할 수 있습니다. 우리가 개발을 하면서 필요로 하는 외부 라이브러리들을 dependencies 부분에 작성하면 Gradle이 해당 라이브러리들을 Maven Repository..

Back-End/Spring 2026.04.06