(Flutter) Clean Architecture 적용해보기

프로젝트 개발을 시작할때 고민하게 되는 것들 중 하나는 Architecture(아키텍처) 입니다. 아키텍처 패턴중 하나인 MVVM 패턴은 보통 아래 그림과 같은 설계로 이루어 집니다 규모가 작은 복잡하지 않은 프로젝트에서는 좋긴 하겠지만 계속해서 규모가 커지고, 요구사항이 늘어나 페이지와 기능들이 점차 커지는 경우 UI 관련 비즈니스 로직등이 포함되어 있는 ViewModel이 복잡해지면서 결국 유지보수에도 어려움이 발생 합니다. 이러한 문제의 해결 설계중 하나인 Clean Architecture를 도입해 보고 Flutter에서 어떻게 적용 시킬 수 있을지 방법을 알아 봅니다.

더보기

(ASP.NET Core) ASP.NET Core에서 예외 처리

ASP.NET Core 환경에서 예외 발생 처리 방법에 대해 알아보겠습니다. 특정 Controllers에서 각각 예외 처리를 하는 경우 예외 처리가 분산 처리 되어 논리적으로 예외 처리가 필요한 경우 중복 코드 발생 여지가 있으며, 관리하기 힘든 구조가 될 수 있습니다. 때문에 예외 처리 담당 Middleware 파이프라인을 구성해서 모든 요청에 대한 예외를 중앙에서 컨트롤하여 처리 하는 것이 좋습니다. 이번 내용에서는 커스텀하게 예외 처리를 하는 Middleware 를 직접 구현해 보고 .NET Core 이상 부터 기본 지원되는 UseExceptionHandler Middleware (Microsoft.AspNe...

더보기

(Flutter) 필수 위젯 - 반응형 화면 처리 LayoutBuilder

Flutter에서는 다양한 디바이스에 따라 각 화면 사이즈에 맞게 레이아웃을 유동적으로 처리 할 수 있도록 LayoutBuilder 위젯을 제공하고 있습니다. 이번 내용은 LayoutBuilder 위젯을 사용하여 화면 사이즈에 따라 반응형으로 레이아웃이 바뀌도록 처리 할 수 있는 간단한 샘플 App을 만들어 보겠습니다.

더보기

(ASP.NET Core) 속도 제한 설정(Rate limiting middleware)

오랜만에 ASP.NET Core 관련 내용 입니다. 이번 내용은 .NET 7 에서 새로 도입된 속도 제한(Rate Limiter) 처리 기법에 대해 알아보는 내용 입니다. .NET 7에 새로 도입된 속도 제한 처리는 속도 제한 처리 방법 중 여러가지 알고리즘 방식을 선택해서 설정 및 사용할 수 있도록 제공되고 있습니다. 그럼 먼저 속도 제한 처리가 무엇인지 부터 간단하게 알아보겠습니다.

더보기

(C#) Method Intercept(AOP)

Method Intercept는 Method 호출을 차단하고 추가적인 작업 처리를 위해 사용할 수 있는 기술 입니다. 이러한 처리는 보통 공통으로 사용되는 작업에 대해 Method 호출을 차단하고 공통 작업 수행을 처리할때 많이 사용 됩니다. 가령 공통으로 메서드 호출시 로그 기록을 처리하거나 예외 발생 처리를 할 때 사용될 수 있습니다.

더보기