(ASP.NET .NET 6) 양 방향 바인딩 Flags Enum 처리 방법

ASP.NET Core 기반 Razor Page에는 Html 요소를 렌더링 할 수 있는 Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper<TModel> 인터페이스를 제공 합니다. 가령 CheckBox는 다음과 같이 Razor 에서 작성 할 수 있습니다. @Html.CheckBox("isActive", true) 위 Razor 문법은 Html로 렌더링 되면 다음과 같습니다. <input checked="checked" id="isActive" name="isActive" type="checkbox" ...

더보기

(EntityFramework) DB 데이터 타입 캐스팅의 몇가지 방법 소개

기존 DB 테이블 스키마 설계가 잘되어있는 DB에 Entity Framework(이하 EF) ORM을 사용하여 DB 데이터를 다룰 수 있다면 좋겠지만, 데이터 타입이 모두 문자열로 되어 있거나 또는 EF 사용시 데이터 비즈니스 로직 사용부분과 다른 타입인 경우 매번 데이터 조회시 해당 타입에 맞게 변환해서 사용해야 하는 경우가 있을 수 있습니다. 이러한 상황에서 EF ORM을 사용하는 DB Provider에 함수 매핑 지원이 안된다면 난감한 상황에 처할 수 있습니다. 이번 포스팅에서는 DB의 데이터 타입 변환 방법에 대해 살펴 봅니다.

더보기

(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에 새로 도입된 속도 제한 처리는 속도 제한 처리 방법 중 여러가지 알고리즘 방식을 선택해서 설정 및 사용할 수 있도록 제공되고 있습니다. 그럼 먼저 속도 제한 처리가 무엇인지 부터 간단하게 알아보겠습니다.

더보기