분류 전체보기

    [ASP.NET Core] - 13. 의존성 주입

    [ASP.NET Core] - 13. 의존성 주입

    Serivce는 Middleware Component와 EndPoint사이에 공유되는 개체입니다. Service가 제공할 수 있는 기능에는 제한이 없지만 대부분의 경우 Logging이나 Database 접근과 같이 Application의 다양한 부분에서 필요로 하는 작업에 사용됩니다. 여기서 ASP.NET Core의 의존성 기능은 바로 이 Service를 생성하고 사용하기 위한 것입니다. 여기서는 의존성 주입이 어떤 문제를 해결할 수 있는지와 ASP.NET Core Platform에서 의존성주입이 어떠한 방법으로 사용되는지에 관하여 천천히 알아볼 것입니다.1. Project 준비하기 예제를 위한 Project는 이전에 사용하던 Platform Project를 계속 사용할 것입니다. 다만 의존성주입과 관련..

    [ASP.NET Core] - 12. URL Routing

    [ASP.NET Core] - 12. URL Routing

    URL Routing기능을 사용하면 요청 URL의 Matching과 처리를 통합하여 응답을 좀 더 쉽게 생성할 수 있습니다. URL Routing기능을 이해하기 위해 ASP.NET Core platform이 URL Routing을 지원하는 방식을 알아보고 직접 사용해 볼 것입니다. 또한 이를 통해 Middleware component의 생성을 어떻게 대체할 수 있는지도 알아볼 것입니다1. Project 준비하기예제 Project는 이전에 사용하던 Platform project를 계속 사용할 것이며 추가로 Trans.cs이름의 file을 아래와 같이 추가합니다.namespace Platform;public class Trans { private RequestDelegate? next; publi..

    [ASP.NET Core] - 11. ASP.NET Core platform

    [ASP.NET Core] - 11. ASP.NET Core platform

    ASP.NET Core platform자체는 Web Application을 만드는 기반에 해당하며 여기에 MVC나 Blazor와 같은 Framework를 사용할 수 있는 기능을 제공합니다. 이번 글에서는 ASP.NET Core platform과 관련하여 ASP.NET Core project에서 생성되는 각 file에 대한 목적과 ASP.NET Core 요청 pipeline이 HTTP요청을 처리하기 위해 어떻게 사용되는지, 그리고 이러한 것들을 어떻게 사용자정의할 수 있는지에 대해 알아봄으로써 전반적인 ASP.NET Core기능의 작동방식을 파악해 보고자 합니다. 별것 아닌 사소한 부분에 해당하는 것 같지만 사실 여기서 설명하는 것은 ASP.NET Core가 동작하는 것에 대한 기본적인 사항들로서 이러한 ..

    [ASP.NET Core] - 10. Shopping mall project 만들기 - 5 (2nd)

    [ASP.NET Core] - 10. Shopping mall project 만들기 - 5 (2nd)

    ASP.NET Core Identity system에서 제공하는 인증과 권한은 ASP.NET Core platform및 개별 application framework에 깔끔하게 통합됩니다. 이를 이용해 Admin라 불리는 단 하나의 사용자만이 application의 관리자기능에 인증및 접근할 수 있도록 하는 기본적인 보안 설정을 만들것입니다. ASP.NET Core Identity는 application및 data로 접근가능한 권한 및 사용자 인증을 위한 더 많은 기능을 제공하고 있으며 그것 자체로 하나의 큰 framework이기 때문에 여기서는 기본적인 기능만을 살펴보려고 합니다. 이 글의 목표는 사용자가 application의 민감한 부분에 접근하게 되는 것을 방지하기 위해 무엇이 필요한지를 확인하는데..

    Hyper-V Virtual Machine상에서 Docker실행하기

    Hyper-V Virtual Machine상에서 Docker실행하기

    일단 Virtual Machine상에서 Docker를 설치할 때 설치 option에서 Hyper-V대신 WSL(Windows Subsystem Linux)을 사용한다는 설정이 있습니다. 이 설정을 제외하고 설치합니다. 그런 뒤 Docker를 실행하면 다음과 같은 오류를 볼 수 있는데 말이 길지만 내용은 BIOS상에서 가상화를 설정해야 한다는 것입니다. 하지만 Hyper-V의 Virtual Machine에서 BIOS를 제한적일 수밖에 없습니다. 이 문제를 해결하려면 Virtual Machine를 끈뒤 Host Machine상에서 관리자 권한으로 PowerShell를 실행하고 아래 명령을 통해 Virtual Machine의 가상화를 설정해 줘야 합니다.Set-VMProcessor -VMName Windows..

    [ASP.NET Core] - 9. Shopping mall project 만들기 - 4 (2nd)

    [ASP.NET Core] - 9. Shopping mall project 만들기 - 4 (2nd)

    고객이 Product를 주문하기까지의 기능은 모두 완료되었습니다. 그러나 아직 한 가지 더 해결해야 할 문제가 남았는데 그것은 관리자가 주문과 Product를 어떻게 관리할 수 있냐 하는 것입니다. 이를 해결하기 위해 관리자 기능을 추가할 텐데 이번 예제에서는 Blazor를 사용하여 해당 기능을 추가할 것입니다. Blazor는 client-side JavaScript code와 ASP.NET Core에 의해서 실행되는 server-side code를 결합하는 것으로 영속적 HTTP 연결(persistent HTTP connection)을 통해 연결됩니다. Blazor에 관해서는 추후에 상세히 다루겠지만 분명히 알아둬야 할 것은 Blazor가 모든 Project에 적합한 것은 아니라는 것입니다. Blazo..

    [ASP.NET Core] - 8. Shopping mall project 만들기 - 3 (2nd)

    [ASP.NET Core] - 8. Shopping mall project 만들기 - 3 (2nd)

    이제 Cart까지 기능을 완성하였는데 지금부터는 외형적 기능이 아닌 내부적인 개선에 집중해 보고자 합니다. 1. Service를 통한 Cart model 개선 지난번에는 Cart를 위해 Cart Model을 정의하였으며 Session기능을 통해 어떻게 이 개체를 저장할 수 있는지를 살펴보았습니다. Cart는 예제 Project에서 무엇보다 중요한 기능이며 지속적인 관리는 Session data로서 저장하고 가져오는 동작을 수행하는 Cart Razor Page를 통해 이루어져야 할 것입니다. 예제에서의 접근방법에 대한 문제는 다른 Razor page나 Controller에서 이를 사용하고자 할 때 Cart개체를 저장하고 가져오는 Code가 중복될 수 있다는 것입니다. 이를 개선하기 위해 ASP.NET Co..

    [ASP.NET Core] - 7. Shopping mall project 만들기 - 2 (2nd)

    [ASP.NET Core] - 7. Shopping mall project 만들기 - 2 (2nd)

    Shopping mall project 만들기 - 2에서는 'Shopping mall project 만들기 - 1'에 이어서 CompuMall에 Navigation과 Cart기능을 추가하고자 합니다. 1. Navigation 만들기 사용자가 mall에 방문했을 때 Product를 Category별로 나열해 볼 수 있으면 원하는 제품을 찾기에 훨씬 유용할 것입니다. 이를 위해 다음 3가지 단계를 거쳐 해당 기능을 추가하고자 합니다. HomeController의 Index method를 변경하여 repository에서 Product 개체를 filter할 수 있도록 할 것입니다. URL scheme를 더 친화적으로 개선할 것입니다. Site의 한쪽 편에 표시할 Category List영역을 만들고 현재 선택한..