전체 글

전체 글

    [ASP.NET Core] - 5. 단위 Test (2nd)

    [ASP.NET Core] - 5. 단위 Test (2nd)

    단위 Test는 Application의 개별적 요소를 독립적으로 분리하여 Test를 수행하는 것으로 Application의 오류를 최소화하는데 중점을 둡니다. ASP.NET Core는 단위 test를 쉽게 만들 수 있도록 설계되었으며 다양한 단위 test framework를 지원합니다. 1. Project 준비 단위 test를 사용해 볼 Project를 생성하기 위해 PowerShell을 열고 적당한 위치에서 아래 명령을 내려줍니다. dotnet new globaljson --sdk-version 8.0.202 --output UnitTest/UnitTest dotnet new web --no-https --output UnitTest/UnitTest --framework net8.0 dotnet new..

    [ASP.NET Core] - 4. 개발도구 사용하기 (2nd)

    [ASP.NET Core] - 4. 개발도구 사용하기 (2nd)

    이번 글에서는 Microsoft가 개발에 사용할 수 있도록 제공하는 개발도구에 대해 알아볼 것입니다. 현재 작성 중인 대부분의 글에서도 .NET SDK에서 제공하는 command-line 도구와 그 외 Microsoft가 배포하고 있는 추가적인 도구를 사용할 것입니다. 이렇게 하는 가장 큰 이유는 사용 중인 editor나 IDE와는 관계없이 ASP.NET Core개발에 필요한 모든 기능을 제공하면서 일관성 있는 결과를 얻을 수 있기 때문입니다. 특히 Visual Studio Code는 사용자 interface를 통해 개발도구의 접근성을 제공하고 있지만 ASP. NET Core개발에 필요한 모든 기능을 지원하지는 않고 있습니다. 아래표는 일반적인 상황에서 사용하는 명령을 나타내고 있습니다. 상황 명령 Pr..

    [ASP.NET Core] - 3. ASP.NET Core Application 예제 (2nd)

    [ASP.NET Core] - 3. ASP.NET Core Application 예제 (2nd)

    설명적인걸 우선시하기보다는 간단한 예제 project를 직접 만들어 봄으로서 전체적인 맥락을 우선 살펴보고자 합니다. 그 이후부터 각각에 대한 부분을 좀 더 자세하게 살펴보면 훨씬 이해하기 쉬울 것입니다. 1. 상황 설정 예제로 만들어볼 application은 대략 아래 기능을 가진 식당 예약 program이 될 것입니다. 식당소개 화면 예약접수 예약 현황 보기 2. Project 생성 PowerShell을 열고 Project를 생성할 위치(folder)로 이동한 다음 아래 명령으로 새로운 Project를 생성합니다. dotnet new globaljson --sdk-version 8.0.202 --output RestaurantReservations dotnet new mvc --no-https --o..

    [ASP.NET Core] - 2. 시작하기 (2nd)

    [ASP.NET Core] - 2. 시작하기 (2nd)

    Software development framework를 이해하기 가장 좋은 방법은 아마도 직접 사용해 보는 것일 수 있습니다. 이를 위해 ASP.NET Core개발을 위한 사전 준비사항과 어떻게 ASP.NET Core application을 생성하고 실행시킬 수 있는지를 알아볼 것입니다. 1. 개발도구 선택 ASP.NET Core를 개발하기 가장 좋은 것으로는 Visual Studio와 Visual Studio Code를 추천할 수 있습니다. Visual Studio는 오래전부터 사용되어 온 통합 IDE개발도구이며 일련의 .NET Application을 개발하기 위한 수많은 도구와 기능을 제공합니다. 하지만 대체적으로 computer 자원을 많이 소모하며 가벼운 개발도구가 아니기에 실행하는데 상대적으로..

    [ASP.NET Core] - 1. 개요 (2nd)

    [ASP.NET Core] - 1. 개요 (2nd)

    ASP.NET Core는 Microsoft의 Web개발 platform이며 2002년에 처음 소개된 이후 몇 번의 대규모 개선을 거쳐 현재의 ASP.NET Core 7이 되었습니다. ASP.NET Core는 HTTP 요청을 처리하는 platform과 application을 생성을 위한 몇가지 framework, 그리고 기능을 제공하기 위한 부수적인 utility framework로 구성되어 있습니다. 다음 이미지에서는 그 구조를 잘 나타내고 있습니다. .NET Framework, .NET Core 그리고 .NET 본래 Windows전용 개발 platform으로 1.0부터 .NET Framework로 시작해 cross-platform으로 .NET Core가 개발되기 시작하였으며 .NET Core 3부터 공..

    [C# 12와 .NET 8] 11. LINQ

    [C# 12와 .NET 8] 11. LINQ

    LINQ(Language INtegrated Query)는 일련의 data를 대상으로 filtering 및 sorting 하고 다른 형태로 결과를 투영할 수 있는 언어확장 도구입니다. 1. 왜 LINQ인가? (1) 명령형및 선언형 언어의 비교 LINQ는 2008년 .NET 3.0과 .NET Framework 3.0과 함께 도입되었습니다. 그전에 C#및 .NET개발자는 명령형이라고 하는 절차적 code문을 사용해 예를 들어 loop처럼 일련의 item들을 처리하곤 했습니다. 첫 번째 item에 대한 현재 위치를 설정합니다. 지정한 값과 하나 또는 그 이상의 속성을 비교 비교하여 예를 들어 가격이 50 이상이어야 한다거나 수량이 동일한지등과 같은 경우처럼 처리해야 하는 item인지를 확인합니다. 2번에서 조..

    [C# 12와 .NET 8] 10. Entity Framework Core

    [C# 12와 .NET 8] 10. Entity Framework Core

    Entity Framework Core (이하 EF Core)는 SQLite나 SQL Server와 같은 관계형 database에 data를 읽고 쓰기 위한 객체-데이터 저장 mapping 기술입니다. 1. Database Database에는 크게 2가지 종류가 있는데 하나는 RDBMS(Relational Database Management System)으로 SQL Server, PostgreSQL, MySQL, SQLite 등이 있고 다른 하나는 NoSQL로서 Azure Cosmos DB, Redis, MongoDB, Apache Cassandra 등이 있습니다. 관계형 database는 1970년대 개발된 것으로 SQL(Structured Query Language)을 통해 data를 질의합니다. 그..

    [C# 12와 .NET 8] 9. File, Streams, Serialization

    [C# 12와 .NET 8] 9. File, Streams, Serialization

    Data에 대한 입출력의 대상은 file이나 stream이 될 수 있으며 때로는 text를 encoding 하거나 직렬화할 수 있습니다. 1. File System 관리 Application에서는 종종 다른 환경에서 file이나 directory등으로 입출력 동작을 수행해야 할 경우가 있으며 System 및 System.IO namespace에서는 이러한 목적의 class들을 포함하고 있습니다. (1) cross-platform 환경및 filesystem 우선 cross-platform환경을 처리하는 방법과 Windows와 Linux 또는 macOS사이의 차이점에 대해 알아보고자 합니다. Windows와 macOS 그리고 Linux에서 경로는 다르게 취급되고 있으므로 .NET이 이를 어떻게 처리하는지를 ..