분류 전체보기

    [ASP.NET Core 7] - 2. 시작하기

    [ASP.NET Core 7] - 2. 시작하기

    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 7] - 1. 개요

    [ASP.NET Core 7] - 1. 개요

    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이 이를 어떻게 처리하는지를 ..

    [C# 12와 .NET 8] 8. 공용 .NET Type

    [C# 12와 .NET 8] 8. 공용 .NET Type

    .NET에는 일반적인 개발과정에서 사용할 수 있는 숫자, 문자열, collection등과 span, index, range와의 작업, network access 등 몇 가지 공용 type들을 포함하고 있습니다. 1. 숫자 다루기 Data에 관한 가장 일반적인 작업중 하나가 바로 숫자입니다. 아래표는 .NET에서 숫자에 관한 가장 일반적인 type을 나타내고 있습니다. Namespace Example Type Description System SByte, Int16, Int32, Int64 정수로서 음수, 양수, 0 System Byte, UInt16, UInt32, UInt64 기수로서 0, 양수 / 부호가 없으므로 U로 표현 System Half, Single, Double 실수로서, 부동소수점 수 S..

    [C# 12와 .NET 8] 7. .NET Packaging과 배포

    [C# 12와 .NET 8] 7. .NET Packaging과 배포

    C# 키워드가 .NET 유형과 어떻게 관련되어 있는지, 네임스페이스와 어셈블리 간에는 어떤 관계가 있는지에 대한 것을 알면 C#언어를 이해하는데 도움이 될 수 있습니다. 또한 .NET library에서 이전 .NET framework library를 어떻게 사용하고 이식할 수 있는지의 여부도 함께 알아볼 것이며 이를 통해 .NET을 좀더 폭넓게 활용할 수 있을 것입니다. 1. .NET 8 .NET에서는 Base Class Library (BCL) API를 통해 수 많은 기능들을 제공하고 있습니다. .NET Standard를 통해서는 다른 전체 .NET platform간 이런 기능들을 재사용할 수 있도록 하고 있는데 때문에 지금의 .NET과 이전의 것을 적절히 이해해둘 필요가 있습니다. .NET Stand..

    [C# 12와 .NET 8] 6. Interface와 Class상속

    [C# 12와 .NET 8] 6. Interface와 Class상속

    이번 글을 통해서는 OOP(Object-Oriented Programming)을 사용한 하나의 개체에서 다른 새로운 type을 상속하는 기본 개념에 대해 알아볼 것입니다. 또한 generic을 사용하여 어떻게 code를 안전하게 만들고 성능을 높일 수 있는지, delegate와 event를 통해 type 간 message를 어떻게 교환할 수 있는지를 알아보고 참조와 값 type에 대한 차이점도 확인해 볼 것입니다. 공통기능에 대한 interface를 구현하고 기능을 재사용하기 위해 기반 class로부터 상속받는 파생 class를 만들 것이며 상속된 type member를 재정의하고 다형성(polymorphism)도 사용해 볼 것입니다. 또한 확장 method의 생성과 계층적으로 상속된 class간 변환에..