Dependency Inversion Principle(DIP, 의존성 역전 원리)

Dependency Inversion Principle(DIP, 의존성 역전 원리) https://learn.microsoft.com/en-us/dotnet/architecture/modern-web-apps-azure/architectural-principles#dependency-inversion The direction of dependency within the application should be in the direction of abstraction, not implementation details.애플리케이션 내의 종속성 방향은 구현 세부 사항이 아닌 추상화 방향이어야 합니다. Most applications are written such that compile-time dependency flows in the direction of runtime execution, producing a direct dependency graph.대부분의 애플리케이션은 […]

Dependency Inversion Principle(DIP, 의존성 역전 원리) 더 읽기"

Consuming REST Web APIs

Consuming REST Web APIs 1. 프로젝트 생성(MVC UI) ASP.Net Core Web App (MVC) 2. GET Controller 생성 HttpClient 적용 .Net에서 제공하는 HttpClient Class https://learn.microsoft.com/ko-kr/dotnet/api/system.net.http.httpclient?view=net-8.0 HTTP 요청을 보내고 URI로 식별된 리소스에서 HTTP 응답을 수신하기 위한 클래스를 제공합니다. 사용 예제 HttpClient를 사용하려면, Program.cs 파일에 HttpClient Factory를 설정 이를 통해 효율적으로 HttpClient 인스턴스를 관리하고, 특히 성능 문제를 해결할

Consuming REST Web APIs 더 읽기"

JSON Web Token(JWT) 적용

JSON Web Token(JWT) 적용 패키지 추가 appsettings.json 변경 appsettings.json 서비스 등록을 통한 의존성 주입(Dependency Injection, DI) Program.cs Controller에 [Authorize] 적용 인증을 위한 DB 생성 및 연결 연결문자열 추가 appsettings.json NZWalksDbcontext.cs 생성 의존성 주입(Dependency Injection, DI) NZWalksDbcontext.cs 패키지 관리자 콘솔에 명령어 입력 Identity Core 서비스를 추가 및 옵션 Program.cs 인증 컨트롤러 만들기 AuthController.cs RegisterRequestDto.cs Login 기능

JSON Web Token(JWT) 적용 더 읽기"

Model validation in ASP.NET Core

Model Validations https://learn.microsoft.com/en-us/aspnet/core/mvc/models/validation?view=aspnetcore-8.0 ASP.NET Core MVC 또는 Razor Pages 앱에서 사용자 입력의 유효성을 검사하는 방법 Model state Model state represents errors that come from two subsystems: model binding and model validation.Model state는 model binding(모델 바인딩)과 model validation(모델 유효성 검사)라는 두 가지 서브 시스템에서 발생한 오류를 나타냅니다. Errors that originate from model binding are generally data conversion errors.model

Model validation in ASP.NET Core 더 읽기"

Repository Pattern – 저장소 패턴

Repository Pattern 정의 및 목적 Data access logic을 business logic에서 분리하여 코드를 더 깨끗하고 유지 보수가 쉽도록 만드는데 중점을 둔 패턴 애플리케이션의 도메인 계층과 데이터 액세스 계층 간의 중간 계층을 제공하여, 데이터베이스와의 상호작용을 추상화하고 코드의 일관성을 유지 Repository Pattern은 데이터 저장소(데이터 베이스, 파일 시스템 등)와 도메인 모델 간의 연결을 처리하는 역할 이 역할은 Data access logic을 캡슐화 하고, business logic이 데이터 저장소의 구현 세부 사항에 의존하지 않도록 합니다. 구조와 구성 요소 및 사용 예제

Repository Pattern – 저장소 패턴 더 읽기"

DTO – Data Transfer Object

DTO – Data Transfer Object Data Transfer Object는 애플리케이션의 여러 계층 간에 데이터를 전송하기 위해 사용하는 객체 DTO는 데이터베이스나 비즈니스 로직 계층의 내부 구현을 외부로 노출하지 않고 데이터를 캡슐화하여 전송하는 역할 주요 역할과 이점 UserEntity UserDTO 사용 예제 UserDTO는 UserEntity에서 필요한 데이터만 클라이언트로 전송

DTO – Data Transfer Object 더 읽기"

REST – REpresentational State Transfer (.Net Core)

REST REST(REpresentational State Transfer)는 웹 서비스 설계의 Architecture Style 입니다.  REST는 리소스를 나타내는 URL과 리소스 상태를 조작하기 위한 HTTP 메서드(POST, GET, PUT, DELETE … )를 사용하여  분산 시스템을 간단하고 효율적으로 구축하도록 도와줍니다. 주요 개념 .NET Core가 지원하는 기능 (REST) HTTP Verbs HTTP 메서드는 웹 애플리케이션에서 리소스와 상호작용하는 방법을 정의 Routing 라우팅은 URL 경로를 서버의 코드와 매핑하는 과정입니다: Model Binding 모델 바인딩은 클라이언트의 요청 데이터를 컨트롤러 메서드의 파라미터나 모델 객체에 자동으로 매핑하는 과정입니다: Content Negotiation Content Negotiation은 서버가 클라이언트의 Accept 헤더를 기반으로 응답 콘텐츠 유형을 결정하는 과정입니다: Response Types 응답 유형은 서버가 클라이언트에게 반환하는 다양한 데이터의 형식을 정의합니다: 실습 도메인 모델링(Domain Modeling) 도메인 모델링은 애플리케이션의 특정 도메인(문제 영역)을 표현하는 모델을 정의하는 과정 비즈니스 로직과 데이터를 구조화하고, 데이터베이스와의 상호작용을 관리하는 데 사용  데이터베이스 설계와 밀접한 관련이 있으며, ORM(Object-Relational Mapping) 프레임워크를 사용하는 경우  데이터베이스 테이블과 애플리케이션의 객체 간의 매핑을 정의하는 데 중요 Walk 속성 타입 설명 Id Guid 걷기 경로의 고유 식별자 Name string 걷기 경로의 이름 Description string 걷기 경로의 설명 LengthInKm double 걷기 경로의 길이 (킬로미터 단위) WalkImageUrl string? 걷기 경로의 이미지 URL (nullable) DifficultyId Guid 난이도 식별자 RegionId Guid

REST – REpresentational State Transfer (.Net Core) 더 읽기"

위로 스크롤