Swagger/OpenAPI for .NET

📖 Swagger(스웨거)란 무엇인가? Swagger는 현재 OpenAPI Specification (OAS)라는 이름으로 표준화된 RESTful API 명세 및 문서화 도구입니다. 2015년 SmartBear Software에서 OpenAPI Initiative에 기증한 후, 현재는 Linux Foundation 산하에서 관리되고 있습니다. 핵심 개념 🎯 Swagger가 필요한 이유 1. 개발 생산성 향상 2. 팀 협업 효율성 3. 운영 및 테스트 📦 Swashbuckle.AspNetCore 아키텍처 Swashbuckle.AspNetCore는 .NET에서 Swagger/OpenAPI를 구현하는 가장 […]

Swagger/OpenAPI for .NET 더 읽기"

.NET / C# Compiler, IL, DLL, EXE, JIT

1. 개요 C# 애플리케이션이 소스 코드에서 실행 가능한 프로그램으로 변환되는 과정은 여러 단계로 이루어져 있습니다. C# 컴파일러, 중간 언어(IL), 어셈블리(DLL, EXE), JIT 컴파일러 간의 관계와 전체 실행 흐름을 설명합니다. 2. 전체 실행 흐름 3. C# 컴파일러 (로슬린 – Roslyn) 역할 특징 컴파일러 파이프라인 구성요소 C# 코드 예시 4. 중간 언어 (IL, Intermediate Language) 특징 주요

.NET / C# Compiler, IL, DLL, EXE, JIT 더 읽기"

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 더 읽기"

위로 스크롤