전체 글 19

Retry 와 Fallback 메카니즘을 활용한 스프링 마이크로서비스 회복탄력성

해당 포스트는 Meduim 의 아티클 "Spring Microservices Resilience with Retry and Fallback Mechanisms" 을 번역한 내용이다. [ 원문 ] 개요 마이크로서비스 아키텍처 스타일과 같은 분산 시스템 환경에서 서비스 복원력을 보장하는 것은 중요합니다. Spring F/W을 기반으로 구축된 Spring Cloud는 탄력적인 마이크로서비스를 구축하는데 도움이 되는 여러 도구와 기능을 제공합니다. 그 중에서도 Retry 와 Fallback 메커니즘은 실패를 우아하게 처리할 수 있는 강력한 시스템을 구현하는 중요한 구성 요소입니다. 이 글에서는 이러한 메커니즘을 스프링 마이크로서비스와 함께 효과적으로 사용할 수 있는 방법에 대해 소개합니다. 마이크로서비스에서 복..

Medium 2023.10.26

소프트웨어 엔지니어가 알아야 할 12가지 소프트웨어 아키텍처 스타일

해당 포스트는 Meduim 의 아티클 "12 Software Architecture Styles Software Enginners Should Know" 을 번역한 내용이다. [ 원문 ] 소프트웨어 아키텍처란? 소프트웨어 아키텍처는 소프트웨어 시스템의 상위 수준 구조와 구성을 정의하는 프로세스입니다. 여기에는 올바른 구성 요소를 식별 및 선택하고, 상호작용하는 방법을 결정하고, 특정 목표를 달성하기 위해 구성하는 방법을 결정하는 작업을 포함합니다. 소프트웨어 아키텍처의 목표는 유지보수성, 확장성, 보안 안정성 및 시간이 지남에 따른 사용자와 조직의 요구사항을 충족할 수 있는 시스템을 만드는 것 입니다. 소프트웨어 아키텍처가 필요한 이유는 무엇인가? 견고한 아키텍처는 사용자와 이해관계자의 요구사항을 충족하..

Medium 2023.10.23

스프링 부트(3.1.5) 어플리케이션에서 CSRF 적용하기

Cross-Site Request Forgery(CSRF) 는 공격자가 사용자를 대신하여 무단으로 조작하는 흔한 웹 보안 취약점이다. Spring Boot는 Spring Security를 통하여 CSRF 공격으로부터 어플리케이션을 간단하게 보호할 수 있는 방법을 제공한다. 최근에 Security 관련설정에서 상속받아 사용하던 WebSecurityConfigurerAdapter 클래스가 Deprecate됨에 따라 설정방법에도 변화가 발생하였다. Spring Boot Security 설정 2.X => 3.1.X 마이그레이션은 다음의 문서를 확인해 보자 https://docs.spring.io/spring-security/reference/migration-7/configuration.html 사전 구성 요소..

스프링 마이크로서비스와 사이드카 패턴

해당 포스트는 Meduim 의 아티클 "Spring Microservices and Sidecar Pattern" 을 번역한 내용이다. [ 원문 ] 지난 몇 년 동안 마이크로 서비스는 소프트웨어 아키텍처의 선두에 있었습니다. 그 이유는 분명합니다. 마이크로 서비스는 모듈성, 확장성 및 전체 시스템에 영향을 주지 않고 개별 구성 요소를 유지 관리 및 배포할 수 있습니다. 마이크로 서비스 패턴을 Spring Boot와 같은 프레임워크와 Sidecar 같은 패턴을 결합하면 더욱 강력해 집니다. 이 글에서는 Spring 마이크로 서비스의 본질을 이해하고 Sidecar 패턴을 어떻게 보완하는지 알아보겠습니다. Spring Microservices 소개 일반적으로 마이크로 서비스는 소프트웨어 디자인 패턴을 나타내며..

Medium 2023.10.19

App Router

파일 시스템 기반 라우팅은 Next.js 의 핵심 기능 중 하나 입니다. 이전버전까지는 pages 라는 디렉토리 아래에 폴더와 파일을 규칙에 맞게 넣으면 라우팅 구조를 만들 수 있었습니다. 2022년 10월 25일에 열린 Next.js Conf 에서 소개된 Next.js 13 에서는 app 디렉토리를 기준으로 하는 라우팅인 App Router 를 제공합니다. 처음 공개할 당시(beta) 에는 app directory 라는 이름으로 소개되었으나, 13.4 이후 버전부터 App Router 라는 이름으로 변경되었습니다. 표면적으로 pages 와 app 은 유사해 보입니다. 하지만 실제로 App Router 는 React 18의 React Server Component(RSC), Suspense 를 염두한 방..

Javascript/Next.js 2023.10.19

Next.js 란 무엇인가?

Next.js 는 어플리케이션을 개발하기 위한 React 프레임워크입니다. 사용자 인터페이스를 구축하기 위해 React 컴포넌트를 사용하면, Next.js 는 추가 기능 및 최적화를 제공합니다. Next.js 를 사용하면 React로 UI를 구현하고 라우팅, 데이터 패칭, 성능과 같은 요소를 해결함과 동시에 개발자 경험까지도 개선할 수 있습니다. 주요 기능 라우팅 : 직관적인 파일 시스템 기반 라우팅 시스템 렌더링 : 페이지 단위의 사전 렌더링(Pre-rendering), 정적생성(SSG), 서버 사이드 렌더링(SSR) 데이터 패칭 : 서버 컴포넌트에서 데이터 가져오기를 간소화하고, 메모이제이션, 데이터 캐싱을 위한 확장된 fetch API 제공 코드 분할 : 빠른 페이지 로딩을 위한 자동 코드 분할 개..

Javascript/Next.js 2023.10.19

가트너 2024 10대 전략 기술 동향

Big Picture 다음의 전략적 기술 동향은 향후 3년동안 비즈니스 및 기술 결정에 영향을 미칠것이다. eBook 다운받기: Your Detailed Guide to Gartner Top 10 Strategic Technology Trends 2024 인공지능의 신뢰, 리스크 및 보안 관리 (AI TRiSM) 지속적인 위협 노출 관리 (CTEM) 지속 가능한 기술 플랫폼 엔지니어링 AI 지원 개발 산업 클라우드 플랫폼 지능형 어플리케이션 대중화된 생성형 AI Augmented Connected Workforce Machine Customers 각각의 동향은 비즈니스의 핵심 주제 중 하나 이상과 관련이 있으며, 과거 및 미래 투자를 보호하고 보전하는 것, 올바른 솔루션을 올바른 이해관계자에게 적시에 ..

IT Trend 2023.10.18

Spring Boot3 마이그레이션

해당 포스트는 Meduim 의 아티클 "Spring Boot3 Migration" 을 번역한 내용이다. [ 원문 ] Spring Boot3 마이그레이션 준비 Spring-boot 2의 마지막 버전인 2.7.x 지원종료(2023년 11월 18일)가 다가오고 있어, Spring Boot 3 으로 마이그레이션하기 시작했고, 그동안 마주친 중요한 문제들을 기록했다. Java 17 Jakarta EE Kafka OpenAPI Spring Security 수 많은 마이그레이션 가이드가 존재하지만, 다음의 두 문서에서 시작하는것을 추천한다. Preparing for Spring Boot 3.0 Spring Boot 2.0 was the first release in the 2.x line and was publish..

Medium 2023.10.17

Java Records: 언제 그리고 왜 사용해야 하나?

해당 포스트는 Meduim 의 아티클 "Java Records: When & Why to use them" 을 번역한 내용이다. [ 원문 ] 자바 프로그램에서 길고 지루한 코드를 작성하는 것에 피로감을 느낄 수 있다. 다행스럽게도 Java Records 라는 새로운 멋진 기능이 있어 코드를 더 간결하고 가독성 높게 만들어 줄 수 있다. 이 아티클에서는 Java Records 를 사용하는 방법을 보여주고, 작동 방식을 이해하는데 도움이 되는 몇 가지 예제를 제공할 것이다. 또한, 언제 일반 클래스 대신에 Records 를 사용하는게 좋은지에 대해서도 설명하겠다. Records 는 주로 데이터를 저장하거나 어떤 동작을 정의하지 않는 상황에서 선택하는것이 좋다. 왜 Records 가 데이터를 저장하기에 좋은가..

Medium 2023.10.16