본문 바로가기

전체 글189

[스프링 부트(SpringBoot) : 고급] 도메인 주도 설계(DDD)와 스프링 부트 5. 도메인 주도 설계(DDD)와 스프링 부트 도메인 주도 설계(DDD)를 사용하여 프로젝트를 개발하는 방법을 살펴봅니다. DDD는 도메인 전문가와 소프트웨어 개발자가 협력하여 복잡한 비즈니스 문제를 해결하는 데 도움이 되는 설계 접근법입니다. 이 과정에서는 DDD의 개념, 적용 전략, 그리고 스프링 부트에서 DDD를 구현하는 방법에 대해 알아보게 됩니다. 5.1. DDD 소개 도메인 주도 설계(DDD)는 Eric Evans가 처음 소개한 소프트웨어 개발 방법론입니다. DDD는 도메인 모델을 중심으로 설계하고 구현하는 방법으로, 도메인 전문가와 개발자의 협업을 통해 복잡한 비즈니스 문제를 해결하는데 초점을 맞춥니다. DDD는 다음과 같은 주요 구성 요소로 이루어져 있습니다. 도메인: 비즈니스 문제가 발생.. 2023. 5. 6.
[스프링 부트(SpringBoot) : 고급] 서드파티 서비스 통합 4. 서드파티 서비스 통합 서드파티 서비스 통합에서는 소셜 로그인, 지도 API 및 결제 시스템 통합, 그리고 외부 API 사용 방법을 다룹니다. 이를 통해 스프링 부트 애플리케이션을 다양한 서비스와 쉽게 연동하여 기능을 확장할 수 있습니다. 4.1. 소셜 로그인 통합 소셜 로그인은 사용자가 소셜 계정(Facebook, Google 등)을 사용하여 웹사이트에 로그인할 수 있게 하는 기능입니다. 스프링 부트에서는 스프링 시큐리티(Spring Security)와 OAuth2를 사용하여 소셜 로그인 기능을 구현할 수 있습니다. 예제 코드 // SecurityConfig.java @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigur.. 2023. 5. 6.
[스프링 부트(SpringBoot) : 고급] 스프링 부트 확장 기능 3. 스프링 부트 확장 기능 스프링 부트 확장 기능을 사용하면 스프링 부트 애플리케이션을 더욱 강력하게 만들 수 있습니다. 여기서는 스프링 부트 애드온 개발, 사용자 정의 자동 구성, 스프링 부트 스타터 만들기 등의 주제를 다룹니다. 이를 통해 개발자들은 애플리케이션에 다양한 기능을 쉽게 추가할 수 있으며, 프로젝트의 구조와 유지 관리를 개선할 수 있습니다. 3.1. 스프링 부트 애드온 개발 스프링 부트 애드온은 스프링 부트 애플리케이션에 추가 기능을 제공하는 모듈입니다. 애드온을 통해 애플리케이션에 특정 기능을 쉽게 추가할 수 있습니다. 애드온을 개발하려면 먼저 해당 기능을 구현하는 서비스 클래스를 작성한 다음, 이를 별도의 라이브러리로 배포해야 합니다. 이렇게 하면 다른 프로젝트에서도 이 애드온을 쉽.. 2023. 5. 6.
[스프링 부트(SpringBoot) : 고급] 메시징 및 비동기 처리 2. 메시징 및 비동기 처리 메시징과 비동기 처리는 대규모 애플리케이션에서 데이터 및 이벤트 처리를 효율적으로 관리하는 데 사용됩니다. 이를 통해 시스템 간의 결합도를 낮추고, 확장성과 안정성을 높일 수 있습니다. 2.1. 메시징 소개 메시징은 애플리케이션 간 데이터 전송을 위한 방법으로, 메시지 큐나 메시지 브로커를 사용하여 비동기식 통신을 수행합니다. 이를 통해 애플리케이션의 결합도를 낮추고, 높은 확장성과 가용성을 달성할 수 있습니다. 2.2. 스프링 통합 (Spring Integration) 스프링 통합은 스프링 프레임워크 기반의 메시징 및 통합 솔루션으로, 애플리케이션 간의 통신과 데이터 전송을 처리합니다. 스프링 통합은 다양한 메시징 시스템과 통합되어, 개발자가 손쉽게 메시징 기반 애플리케이션.. 2023. 5. 6.
[스프링 부트(SpringBoot) : 고급] 클라우드 네이티브 애플리케이션 개발 1. 클라우드 네이티브 애플리케이션 개발 클라우드 네이티브 애플리케이션은 클라우드 환경에서 실행되도록 최적화된 애플리케이션입니다. 이러한 애플리케이션은 확장성, 탄력성, 높은 가용성을 갖추고, 클라우드의 장점을 최대한 활용합니다. 스프링 부트는 클라우드 네이티브 애플리케이션 개발을 쉽게 도와주는 프레임워크로, 자동 구성, 내장 웹 서버 등 다양한 기능을 제공합니다. 1.1. 클라우드 네이티브 애플리케이션 소개 클라우드 네이티브 애플리케이션은 클라우드 환경에서의 서비스를 목표로 개발된 애플리케이션입니다. 이러한 애플리케이션은 마이크로서비스 아키텍처, 컨테이너화, 지속적인 통합 및 배포 (CI/CD)와 같은 클라우드 중심의 개념을 적용하여, 확장성, 탄력성 및 높은 가용성을 달성합니다. 클라우드 네이티브 애.. 2023. 5. 6.
[프로세싱(Processing)] 로또번호 자동 생성기 로또번호 자동 생성기 로또란? 로또는 2002년 12월부터 시작되어, 대한민국 국민들에게 인기 있는 복권 게임이다. 로또 추첨은 주로 매주 토요일에 열리며, 당첨 번호 여섯 개를 맞추면 된다. 로또는 총 5개의 등수로 나뉘어 상금이 지급됩니다 1등 - 6개의 당첨 번호 모두 일치 (모두들 여기에 담첨 되기를 바란다. 정말 하늘에 별따기만큼 어려운 확률?) 2등 - 5개의 당첨 번호와 보너스 번호 일치 3등 - 5개의 당첨 번호 일치 4등 - 4개의 당첨 번호 일치 5등 - 3개의 당첨 번호 일치 1. 기획 프로세싱(Processing)으로 로또번호 자동 생성기를 만들기 위해, 다음 내용으로 기획하였다. 1) 화면 사이즈 설정 2) 이전 당첨번호 로딩 (lotto_winning_number.json) 3).. 2023. 5. 5.