목록전체 글 (135)
센로그
◆ Filter 미들웨어에 대해서는 알아봤었다. HTTP Request 및 Response를 처리하는 중간 부품이라고 했다. 근데 사실 이런 중간 부품으로 사용할 수 있는 파이프라인이 하나 더 있는데, 바로 필터 파이프라인이다. 필터링은 말그대로 무언가를 걸러주는 역할을 의미한다. 허가받는 특정 사람들만 액션에 접근할 수 있게 하는 것 로그인한 유저들에게만 보이도록 하는 것 필터가 없으면, 이런 코드를 모든 Action에 일일이 추가해야 했을 것임. nice한 기능인듯하다. 필터 사용 시점 그러면 필터는 어떤 시점에 추가할 수 있는걸까? 다음과 같이 작업들의 중간중간에 넣을 수 있다. Request Routing Filter Model Binding (+Validation) Filter Action Fi..
◆ Configuration 말 그대로 구성을 설정하는 부분이다. 코드 내부에다 그때그때 설정값을 적어놓는 게 아니라, 외부로 값을 빼서 설정을 관리하는 것을 의미한다. 여러곳에서 참조할 설정값들을 일괄 관리할 수 있다. (변경도 편함) 다양한 방법으로 Configuration을 관리할 수 있다. (순서대로 Configuration 적용) JSON file provider (appsettings.json) JSON file provider (appsettings.{ENV}.json) //현재 개발환경 UserSecretes //Development인 경우에만 Env Variable (환경변수) CommandLine 이 순서는 중요한데, 만약 겹치는 값이 있다면, 후순에 있는 값으로 덮어쓰도록 하기 때문이..
◆ Dependency Injection 종속성 주입. 웹 개발시 유용한 패턴이라 많은 웹 서버 플랫폼에 도입된 기능이다. 디자인 패턴에서, 우리는 코드간의 종속성을 줄이는 것을 중요하게 생각함 (loosely coupled) 그러면 종속성이란 무엇이냐? 우선 종속성과 관련된 예시를 보자. public class FileLogSettings { string _filename; public FileLogSettings(string filename) { _filename = filename; } } public class FileLogger { FileLogSettings _settings; public FileLogger(FileLogSettings settings) { _settings = setting..
◆ WebAPI 지금까지 우리는 MVC를 공부했었다. WebAPI는 단순히 말하면 MVC에서 View 기능을 제거한 것이다. MVC에서 View가 HTML을 반환하지 않고, JSON/XML 데이터를 반환하면 그게 WebAPI임. 나머지 Routing, Model Binding, Validation, Response 등은 MVC에서와 똑같이 동작한다! 지금까지 MVC에서는 컨트롤러의 Action들을 다 IActionResult 형식으로 만들었다. 이번에는 다른 형식을 써보자. public IEnumerable Test() { List names = new List() { "Seeyoun", "Hoochu", "KongKong", "Hangang" }; return names; } List 형식의 데이터를 ..
◆ TagHelper 태그 헬퍼는 일종의 HTML Helper이다. 왜 필요할까? 보통 웹페이지는 View만 딱 보여주고 끝나진 않는다. 예를들어 View를 보여주고, 유저가 Submit을 하면 이어서 로직이 실행되는 상황이 자주 발생하곤 한다. DataModel을 이용해서 유저 요청을 파싱할 수 있다고 했었다. 근데 그건 언제까지나, 서버 쪽에 데이터가 왔을 때의 처리에 관한 내용이다. 아직 서버에게 보내기 전에, 뷰 자체에서 유저가 제출한 데이터에 따라 뭔가(경고 메시지 등)를 보여주고 싶다면? HTML로 손수 작성해도 되긴 함. 그러나 노가다가 될수도? ASP.NET Core에서는 TagHelper를 이용하면 쉽게 처리할 수 있다. 참고로 _ViewImports.cshtml을 보면, TagHelpe..
◆ View View는 MVC의 V로, 유저에게 보여줄 뷰(UI)를 의미한다. 요청이 들어오면 Action에서 데이터를 전달받아서 서비스를 통해 처리하고, 다시 돌려받은 데이터를 View로 전달할 것. 그리고 View에서 HTML을 생성해서 응답으로 돌려줄 것임. 이때 View가 어떻게 동작하는지 살펴보겟음. 현재 코드(기본 MVC 프로젝트)에서 View는 어디서 처리하고 있을까? Index.cshtml을 보면 아래와 같이 작성되어있다 @{ ViewData["Title"] = "Home Page"; } Welcome Learn about building Web apps with ASP.NET Core. 이렇듯 C# 과 HTML 을 섞은 것처럼 생긴 포맷을 Razor View Page 라고 함. (.csh..