.NET 3

[Blazor Web App] 10. UserInfo 생성 책임을 LoginService로 옮기기

지난 작업에서는 UserInfo 모델을 만들고, 로그인한 사용자 정보를 LoginStateService에 저장하도록 바꿨다.처음에는 이 구조도 괜찮아 보였다.LoginStateService ├─ IsLoggedIn ├─ CurrentUser └─ StatusMessage그리고 로그인 성공 시 LoginStateService.Login(userId) 안에서 임시 사용자 정보를 만들었다.public void Login(string userId){ UserInfo userInfo; userInfo = new UserInfo(); userInfo.UserId = userId; userInfo.UserName = "테스트 사용자"; userInfo.UserGrade = "테스트 회원";..

language/blazor 2026.08.07

[C#] 01. C#과 닷넷 생태계, 첫 프로그램

C#은 C, C++ 같은 컴파일 언어의 성능과 자바스크립트, 파이썬, PHP 같은 인터프리터 언어의 편의를 함께 노린 언어다. 자바와 비슷한 위치에 있는 하이브리드 언어라고 보면 된다.그런데 C#을 제대로 이해하려면 언어 문법 이전에 그 언어가 올라타 있는 닷넷(.NET)이라는 플랫폼을 먼저 봐야 한다. 이 글에서는 C#이 어떤 언어인지, 닷넷 생태계가 어떻게 구성되는지, 그리고 첫 프로그램을 어떻게 쓰는지를 정리한다.1. C#이라는 언어C#은 마이크로소프트가 만든 객체 지향 프로그래밍 언어이자, 마이크로소프트의 닷넷 플랫폼을 기반으로 도는 여러 언어 중 하나다. 특징을 먼저 훑어보면 이렇다.절차적 스타일, 객체 지향 스타일, 함수형 스타일을 모두 지원하는 다중 패러다임 언어전역 함수나 전역 변수가 없고..

language/c# 2026.07.08

[Blazor Web App] 01. 시작하기 - 프로젝트 생성부터 첫 화면이 출력되는 과정 이해하기

오늘 작업 목표오늘은 Blazor로 웹 프로젝트를 처음 만들면서, 프로젝트가 실행되고 첫 화면이 브라우저에 출력되기까지의 흐름을 정리했다.아직 로그인, 데이터베이스, 외부 API, Android WebView 연결까지 들어가지는 않았다.이번 글의 목표는 딱 여기까지다. 처음에는 단순히 "웹 프로젝트 하나 만들면 되겠지"라고 생각했는데, 막상 Blazor 프로젝트를 만들려고 보니 선택지가 생각보다 많았다.특히 아래 용어들이 처음부터 헷갈렸다.Blazor Web AppBlazor ServerBlazor WebAssemblyInteractive Server대화형 위치 - Global 이 부분을 모른 채로 넘어가면 나중에 프로젝트 구조를 이해하기 힘들 것 같아서, 이번에는 코드 작성보다 실행 흐름을 먼저 잡는 ..

language/blazor 2026.07.05