목록전체 글 (194)
센로그

◆ Routing HTTP request가 들어오면 이를 담당 handler에게로 라우팅해줘야 한다. (ASP.NET Core에서는, 담당 액션에게로) 이때 라우팅 방법은 크게 두 가지로 나뉜다. 코드를 통한 라우팅 라우팅 패턴 설정 (MVC에서 주로 사용) 어트리뷰트 라우팅 (WebAPI에서 주로 사용) 폴더 구조 자체를 통한 라우팅 폴더 구조 라우팅은 직관적이니 패스하고, 여기서는 코드를 통한 라우팅을 공부해볼 것이다. 라우팅 패턴 다음은 program.cs에서 라우팅을 하던 코드임 //라우팅 패턴 설정 app.MapControllerRoute( name: "default", // '컨트롤러 이름, 액션 이름, 아이디' 형태로 라우팅 패턴에 맞게끔 코드를 연동시켜줌. (기본 관례) pattern: "..
◆ MVC 철학 모델, 뷰, 컨트롤러로 구분하여 코드를 관리하는 패턴 ASP.NET Core에서 MVC는 다음과 같이 사용된다. Model : 데이터 모델. (데이터를 표현하는 구조) 요리 재료 메모리, 파일, DB 등에서 데이터 모델의 형태로 정보를 추출 (DTO 등) Controller : 데이터 가공, 필터링, 유효성 체크, 서비스 호출 재료 손질 및 요리 각종 Service를 통해 요리함 (DI로 서비스 추가) View : 최종 결과물을 어떤 형태로 보여줄지 최종 서빙 이런식으로 역할을 분담하면 유동적으로 기능을 확장 및 변경할 수 있고, 재사용이 쉽다는 장점이 있다. ASP.NET Core에서의 MVC 좀 더 구체적으로 살펴보자. ASP.NET Core에서 MVC에는 Controller/Acti..

◆ 미들웨어 미들웨어는 요청 및 응답을 처리하는 소프트웨어를 의미한다. 미들웨어들을 사용하여 요청 및 응답을 처리하는 파이프라인을 구성한다. 이를 요청 파이프라인(request pipeline)이라고 부른다. 미들웨어는 WebApplication 객체를 통해 구성할 수 있다. var builder = WebApplication.CreateBuilder(args); //WebApplicationBuilder 객체 var app = builder.Build(); //WebApplication 객체 미들웨어의 각 구성 요소는 다음과 같은 작업을 할 수 있다. 요청을 (파이프라인의 다음 구성 요소로) 전달할지 여부를 선택할 수 있다. 전달하지 않고 흐름을 끊는 것을 ShortCut이라고 함 파이프라인의 다음 미..

◆ ASP.NET Core 웹앱(MVC) 이 시리즈에서는 ASP.NET Core 웹앱(MVC) 프로젝트가 어떻게 구성되었는지, 각각 어떤 기능을 하는지 공부할 것이다. MVC는 말 그대로 모델, 뷰, 컨트롤러로 구분하여 코드를 관리하는 디자인 패턴이다. ASP.NET Core 웹앱 프로젝트로 생성하면 된다. 참고로 .NET 6부터는 이전 버전과 달라진 점이 몇가지 있다. Program.cs, Stratup.cs로 분리되어있던 게 통합됨. main 없이 Program.cs가 자동으로 진입점이 됨. 코드들도 대폭 수정됨. Program.cs 기본적으로 ASP.NET Core 웹앱(MVC) 프로젝트를 생성하면, Program.cs에 다음 코드가 포함된다. var builder = WebApplication.C..

◆ CLR이란?개발 플랫폼과 운영체제 사이의 닷넷 런타임. (가상머신) .NET의 가상머신 (Virtual Machine)우리가 작성한 소스코드(C#, C++ 등)을 OS 위에 있는 .NET에서 동작하게 해주는 것C#의 경우, 빌드 후 IL(Intermediate Language, 중간 언어)로 변환되어 CLR에서 실행되는 구조이다. ◆ CLR의 구성 (기능)CLR은 어떤 역할을 할까?Base Class Library 지원Collections, I/O, XML, DataType definition 등Thread 지원멀티스레드의 병렬 실행을 관리하기 위한 스레드 지원Type CheckerCTS(Common Type System)와 CLS(Common Language Specification)를 사용하여 형..

◆ 프로젝트 개발 동기'앵그리버드가 3D라면 어떨까?'앵그리버드를 3D로 각색하여, 앵그리버드 시점으로 게임을 진행하면 재밌을 것 같다는 생각이 들었습니다.플레이어가 앵그리버드가 되어 건물을 부수고 목표를 향해 나아가는 것입니다. 다만, 다양한 맵을 절차적으로 생성할 것이고, 보다 현실적인 파괴를 위해 물리 기반 fracture을 적용할 것입니다. ◆ 프로젝트의 목적물리적으로 타당하게 구성된 3D 맵을 자동으로 생성하도록 한다.맵의 구조물은 충돌 점을 중심으로 파괴하도록 한다. ◆ 프로젝트 개요게임 제목 : Angry bird returns플랫폼 : PC소개 영상 : https://www.youtube.com/watch?v=5nnvSJ1mTvg ◆ 진행 방법다음 과정으로 프로젝트를 진행하였습니다.절차적..