.NET

    [C# 12와 .NET 8] 4. Debuging과 Testing

    [C# 12와 .NET 8] 4. Debuging과 Testing

    code의 재사용을 위한 함수의 작성과 개발동안의 logic error에 대한 debugging, runtime에서의 logging, code의 bug제거와 신뢰성 및 안정성을 높이기 위한 unit test 등은 개발과정에서 매우 중요한 요소로 취급되고 있습니다. 1. 함수 작성 programming에서의 기본적인 원칙은 흔히 DRY불리는 '반복하지 마라'입니다. programming동안에 같은 구문을 작성하고 또 그것을 반복하고 있다면 이들 구문을 함수로 전환할 필요가 있습니다. 함수는 application전체에서 하나의 작은 작업의 단위를 처리하는 부분으로서 예로 부가세 계산 logic과 같은 것들을 들 수 있으며 이러한 함수는 회계 application의 여러 곳에서 재사용될 수 있습니다. prog..

    [C# 12와 .NET 8] 3. 흐름제어, Type 변환, 예외 처리

    [C# 12와 .NET 8] 3. 흐름제어, Type 변환, 예외 처리

    이번에는 변수를 사용한 간단한 동작과 분기, pattern matching 수행, 구문 혹은 block의 반복과 여러 값을 저장하기 위한 array, 특정 type에서 다른 type으로의 변수나 표현식에 대한 변환, 예외 처리 그리고 숫자형 변수에 대한 overflow를 확인하기 위한 방법 등에 관해서 알아볼 것입니다. 1. 변수 연산 연산자는 변수나 literal값과 같은 피연산자에서 덧셈이나 곱셈과 같은 계산을 수행하는 것을 말합니다. 보통은 연산결과에 대한 새로운 값을 반환하며 이를 다른 변수에 할당하는 과정이 있을 수 있습니다. 대부분의 연산자는 2진연산자로서 아래 예제와 같이 2개의 피연산자를 필요로 합니다. var result = firstOperand operator secondOperand..

    [C# 12와 .NET 8] 2. C#

    [C# 12와 .NET 8] 2. C#

    이번 글에서는 C# programming 언어에 대한 기본적인 사항을 살펴볼 것입니다. 전반적으로 알아야 할 용어와 C#에 대한 기본적인 문법에 대한 것들입니다. 1. C# 언어 C#을 통해 application에 대한 source code를 작성하려면 그에 필요한 문법과 용어를 알고 있어야 할 것입니다. 다행스럽게도 programming 언어자체는 사람이 사용하는 언어(대게는 영어)와 비슷한 면을 가지고 있습니다. 다만 programming에서는 자신만의 단어를 만들어낸다는 차이만 있을 뿐입니다. (1) 언어 version과 기능 ● C# 1 2002년 02월에 발표되었으며 객체지향언어에 대한 모든 중요한 요소를 포함하였습니다. ● C# 1.2 foreach 구문의 끝에서 자동적인 disposal과 같..

    [C# 12와 .NET 8] 1. .NET 개요

    [C# 12와 .NET 8] 1. .NET 개요

    1. 개발 환경 구축 C# programming을 시작하기 전에 C# code를 다룰 수 있는 editor가 필요합니다. Microsoft는 이에 대해 다음과 같은 code editor와 IDE(Integrated Development Environment)를 제공하고 있습니다. Visual Studio 2022 for Windows Visual Studio 2022 for Mac (2024년 8월 지원종료) Visual Studio Code for Windows, Mac, Linux Visual Studio Code for Web GitHub Codespaces 또한 JetBrains사의 Rider와 같은 C# code 편집기도 존재합니다. (1) 학습을 위한 적절한 도구의 선택 ● Polyglot N..

    NET::ERR_CERT_INVALID 문제

    NET::ERR_CERT_INVALID 문제

    Visual Studio로 ASP.NET Core project를 생성한 뒤 project debugging을 실행하면 인증서 관련 오류를 표시할때가 있습니다. NET::ERR_CERT_INVALID 이런 경우는 아래 절차를 따라줍니다. 1. 우선 현재 열려있는 모든 브라우저를 닫아줍니다. Visual Studio도 열러있다면 닫아주세요. (매우중요) 2. Windows + R 키를 눌러 certmgr.msc를 입력합니다. 3. 해당 화면에서 아래 2군데에 localhost 인증서를 삭제합니다. 4. Windows terminal을 열어 아래 명령을 순서대로 실행합니다. dotnet dev-certs https --clean dotnet dev-certs https --trust 5. 정상적으로 실행되는..

    [C# 11 과 .NET 7] 11. LINQ

    [C# 11 과 .NET 7] 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# 11 과 .NET 7] 10. Entity Framework Core

    [C# 11 과 .NET 7] 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# 11 과 .NET 7] 9. File, Streams, Serialization

    [C# 11 과 .NET 7] 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이 이를 어떻게 처리하는지를 ..