Develop Dairy/C# 17

[Csharp] Readonly, const

📖C# Readonly, Const Readonly 읽기 전용 변수는 initializer, 생성자 메서드에 할당 가능 읽기 전용 변수는 여러번 재정의 가 가능하다. public class Readonly { private readonly ExampleObject _exampleObjecct = new ExampleObject() { Id = 1 }; public Readonly() { // _exampleObjecct변수를 재정의 하는 모습 _exampleObjecct = new ExampleObject( Id = 2); _exampleObjecct = new ExampleObject( Id = 3); } } public class ExampleObject { public int id {get; set..

Develop Dairy/C# 2021.12.30

간단한 DI(Dependency Injection)의 이해&예제 (2021. 05. 28)

Blazor로 하는 간단한 DI(Dependency Injection)의 이해 (Blazor webassembly hosted 환경에서 실행되었으며 .net5, VS2019 Preview 버전에서 진행하였습니다.) 생성자 주입을 경험해보고자 한다. 순서는 아래와 같습니다. 코드는 Github에서 볼 수 있습니다~. {ProjectName}.Shared User.cs 생성 {ProjectName}.Server Services/IUserRepository.cs 생성 Services/UserRepository.cs 생성 Controller/HomeController.cs 에서 메서드 추가 이곳에서 생성자 주입이 이루어진다. Startup.cs 에서 ConfigureServices에서 서비스 추가 (Config..

Develop Dairy/C# 2021.05.28

자동 구현 Property 알아보기. (2021. 05. 11)

📖자동 구현 Property를 알아보자 Visual Stuidio(VS)에서는 prop 를 타이핑하고 탭을 누르면 자동으로 property 구문이 생성됨. 자동으로 프로퍼티 get. set이 아래와같이 만들어지는데 아래와 같은 모습이 자동 구현 Property라고 함 public string Id {get; set;} public string Curriculum {get; set;} /*초기값이 필요한 경우*/ public string Id {get; set;} = "원하는 값" public string Curriculum {get; set;} = "원하는 값" 보통 public 변수에나 쓰는 것이므로 private에서는 잘 쓰지 않는게 rule임. e.g Blazor에서는 Parameter값들을 프로퍼..

Develop Dairy/C# 2021.05.11

Csharp은 어떻게 실행 되는걸까..? (2021. 05. 11)

📖C# 컴파일 과정? C#으로 만든 프로그램은 CLR (Common Language Runtime)위에서 실행됩니다. C#은 컴파일러 언어입니다. 과정은 다음과 같습니다. C# 컴파일러가 C# 코드 컴파일 컴파일 결과로 IL(Intermediate Language) 중간언어로 작성된 파일 생성 사용자가 IL파일 실행하여 CLR이 코드를 읽어 네이티브 코드(하드웨어가 읽을 수 있는 코드)로 컴파일 네이티브 코드로 컴파일하는 과정을 JIT라 부르며 JIT는 실행에 필요한 코드(IL)를 실시간으로 컴파일(네이티브 코드 생성)하는 과정을 말합니다. 눈여겨 보아야 할 것은 컴파일이 2번이나 된다는 것입니다. CLR은 C#뿐만 아니라 다른언어도 지원하도록 설계되어 있습니다. IL이 서로 다른언어를 이어주는 역할을 ..

Develop Dairy/C# 2021.05.11

SPA 이해 (2021. 04. 26)

SPA 중심에는 대표적인 라이브러리/프론트프레임워크 React, vue/Angular, Blazor WebAssembly가 있다. 📖 SPA (Single Page Application) 기존의 웹서비스는 클라이언트(사용자)가 요청하면 서버가 해당 웹 페이지를 HTML 코드로 계산하고 반환하며, 많은 요청이 이루어지면 계산이 더욱 오래 걸립니다. SPA는 모든 처리가 단일 페이지에서 수행되는 방식입니다. 첫 로드시에만 웹페이지를 계산하여 HTML로 반환합니다. 그 이후에는 필요한 데이터를 HTML로 전달받지 않고 (서버에서 렌더링 X) 필요한 데이터만 서버로부터 JSON으로 전달받아 동적으로 렌더링 합니다. 장점 1. 빠른 로딩 시간 (Quick Loading Time) 단일 페이지에서 웹 앱에서 페이지..

Develop Dairy/C# 2021.04.26

Visual studio code(VSC) IDE로 Blazor WebAssembly 살펴보기 (2021. 03. 17)

VSC = Visual studio code 📖VSC로 Blazor WebAssembly project 열어서 세팅하기 명령어에서 해당 프로젝트 폴더로 간뒤 VSC로 열기 처음으로 VSC를 열어보면 Blazor WebAssembly 응용 프로그램을 개발 할 수 있습니다. 우선, 오른쪽 아래에 뜨는 "Yes"를 눌러 주시고, 또 확장(Extension)을 설치 해줍시다. C#, JavaScript debugger 입니다. 이후에는 이전 코스 (Blazor 호스팅 환경 시작하기) 에서 빌드 한 것처럼 VSC에서도 명령어를 사용할 수 있습니다. "Ctrl + ~"를 사용하여 dotnet build를 입력 할 수 있습니다. "Server" 디렉터리로 이동하여 "dotnet run" 명령어 실행으로 응용 프로그램..

Develop Dairy/C# 2021.03.17

Blazor 호스팅 환경 시작하기 (WebAssembly) (2021. 03. 16)

📖Blazor 호스팅 환경 빌드(WebAssembly) Blazor 호스팅 환경 빌드(시작)를 명령어를 통해 시작하겠습니다. 1. Blazor WebAssembly 애플리케이션 생성 dotnet new blazorwasm --hosted --output ProjectName -pwa --hosted는 호스팅 환경으로 시작하겠다는 명령어 Blazor WebAssembly(wasm) 모델 과 Blazor Server의 모델 차이 --pwa는 프로그레시브 웹 응용 프로그램 지원을 하겠다는 뜻입니다. 프로그레시브 웹 빌드 관련 문서 2. 해당 프로젝트 폴더로 경로를 옮긴 뒤 명령어를 통해 Blazor WebAssembly 애플리케이션을 빌드 합니다. cd BlazingChat dotnet build 3. 이제 ..

Develop Dairy/C# 2021.03.16

문자열 서식 기본 사항 (String formatting basics) (2021. 02. 18)

🕮복합 서식 지정이란? (What is Composite Formatting?) 복합 서식 지정은 문자열 내에서 번호가 매겨진 자리 표시자를 사용 런타임에 중괄호로 묶은 모든 항목은 해당 위치에 따라서도 전달되는 값으로 확인. string 데이터 형식 키워드에, 기본 제공 메서드 Format()를 사용하는 복합 서식 지정의 예 string first = "Hello"; string second = "World"; string result = string.Format("{0} {1}!", first, second); 결과 Hello World! 🕮문자 보간이란? (What is string interpolation?) 문자열보간은 복합 서식 지정을 간소화하는 새로운 기술 일반적으로 복합 서식 지정보다는 문..

Develop Dairy/C# 2021.02.18