전체 글104 레이어드 아키텍처 레이어드 아키텍처는 가장 흔한 아키텍처 스타일로 모놀리식 아키텍처 중 하나이다.단순하고 대중적이며 비용도 적게들어서 사실상 표준 아키텍처이다. 레이어 분리내부 컴포넌트는 논리적으로 수평한 레이어들로 구성된다.각 레이어는 애플리케이션에서 프레젠테이션 로직, 비즈니스 로직 등의 주어진 역할을 수행한다.일반적으로 프레젠테이션, 비즈니스, 퍼시스턴스, 데이터베이스 4개의 표준 레이어로 구성한다.물론 규모에 따라 병합하기도 하고, 그 이상의 레이어를 구성하기도 한다.1. Presentation Layer사용자 혹은 클라이어느 시스템과 직접적으로 연결되는 부분이다.이 외 비즈니스 로직은 해당 계층의 관심사가 아니다.2. Business Layer비즈니스 로직을 구현하는 부분이다. 실제로 시스템이 구현해야 하는 핵심.. 2024. 12. 2. JwtAuthorizationFilter에서 상속받을 필터에 대한 고민 - Index - [SpringSecurity] SpringSecurity + JWT 로그인 구현_1[SpringSecurity] SpringSecurity + JWT 로그인 구현_2[SpringSecurity] SpringSecurity + JWT 로그인 구현_3[SpringSecurity] SpringSecurity + JWT 회원가입, 테스트 코드 작성[번외]JwtAuthorizationFilter에서 상속받을 필터에 대한 고민 스터디에서 스프링 시큐리티를 사용한 인증/인가 방식에 JWT를 적용하는 부분을 진행하고 있다.스터디원 한 분께서 JwtAuthorizationFilter가 상속받는 필터에 대한 질문을 해주셨다.상속받을 적합한 인증 필터 사용에 대한 고민을 글로 적어보려하고 한다. 상속받을.. 2024. 12. 1. 클린 아키텍처 클린 아키텍처란?소프트웨어 설계 원칙과 구조를 정의하는 방법론으로, 소프트웨어의 보수성과 확장성을 극대화하는 것을 목표로 합니다.2017년에 로버트 C. 마틴(Robert C. Martin, "Uncle Bob")이 자신의 책 Clean Arichitecture: A Craftsman's Guide to Software Structure and Design에서 소개하며 널리 알려졌습니다. 핵심 개념클린 아키텍처의 핵심은 시스템의 의존성 방향성을 엄격히 제어해, 핵심 비즈니스 로직(엔터프라이즈 로직)이 외부 요소(데이터베이스, 프레임워크, UI 등)에 의존하지 않도록 설계하는 것입니다. 이를 통해 시스템은 변경에 유연해지고, 재사용성과 테스트 용이성이 높아집니다. 구조클린 아키텍처는 여러 층으로 이루어진 .. 2024. 11. 27. Testable Code란? Testable Code란쉽게 테스트할 수 있는 코드를 의미한다. 이는 코드가 독립적이고 예측 가능하게 동작하여 단위 테스트, 통합 테스트 등을 쉽게 수행할 수 있도록 작성된 코드를 가리킨다.Testable Code는 소프트웨어의 품질을 높이고 유지 보수성을 향상시키기 때문에 소프트웨어 개발에서 매우 중요하다.이 내용을 이해하기 위해서는 먼저 테스트하기 어려운 코드가 무엇인지 알아보자.Index1. 테스트하기 어려운 코드 1-1. 제어할 수 없는 값에 의존하는 경우 1-2. 외부에 영향을 주는 경우2. 테스트하기 좋은 코드로 개선 2-1. 제어할 수 없는 값에 의존하는 경우 2-2. 외부에 영향을 주는 경우3. 개인 소감1. 테스트하기 어려운 코드테스트 작성이 어려운 이유는 구현부.. 2024. 11. 13. 이전 1 2 3 4 5 6 7 8 ··· 26 다음