과정 20486-D: Developing ASP.NET Core MVC Web Applications

이 5일 과정에서 전문 웹 개발자는 .NET Core 도구 및 기술을 사용하여 고급 ASP.NET Core MVC 애플리케이션 개발을 학습합니다. 웹 사이트 애플리케이션 성능 및 확장성 향상을 위한 코딩 활동에 중점을 둡니다. 본 과정은 학생들이 시험 70-486을 준비하는 데 도움이 됩니다.

대상 그룹 프로필

이 과정은 개별 또는 팀 기반, 소규모에서 대규모 개발 환경까지 Microsoft Visual Studio를 사용하는 전문 웹 개발자를 대상으로 합니다. 이 과정의 응시자는 고급 웹 애플리케이션 개발에 관심이 있으며 렌더링된 HTML 관리를 종합적으로 하기 원하는 경우입니다. 그들은 사용자 인터페이스, 데이터 액세스 및 애플리케이션 로직을 분리하는 웹 사이트를 생성하려고 합니다.

직무: 개발자

획득한 기술

  • Microsoft Web 기술 스택 설명 및 주어진 애플리케이션 개발을 위한 적절한 기술 선택.
  • 일련의 기능적 요구 사항, 사용자 인터페이스 요구 사항을 충족하는 웹 애플리케이션 아키텍처 및 구현 설계 및 비즈니스 모델 처리.
  • 미들웨어를 사용한 ASP.NET Core 웹 애플리케이션 파이프라인 구성 및 MVC 애플리케이션 전반에 걸친 종속성 주입 활용.

필수 조건

이 과정에 참석하기 전에 학생들은 다음을 숙지해야 합니다:

  • Visual Studio 2017 경험.
  • C# 프로그래밍 및 람다 식, LINQ 및 무명 형식 등 개념 경험.
  • .NET Framework 사용 경험.
  • HTML, CSS 및 JavaScript 경험.
  • ADO.NET을 통한 데이터 쿼리 및 조작 경험.
  • XML 및 JSON 데이터 구조 지식.

과정 개요

모듈 1: ASP.NET Core MVC 살펴보기

Microsoft ASP.NET Core MVC 및 다른 ASP.NET Core 웹 기술을 사용하여 동적이고 강력하며 확장 가능한 웹 애플리케이션을 생성 및 호스팅 할 수 있습니다. ASP.NET Core MVC의 일부인 ASP.NET Core는 웹 애플리케이션을 구축할 수 있는 오픈 소스, 크로스 플랫폼 프레임워크입니다. Windows, macOS, Linux 또는 지원하는 다른 모든 플랫폼에서 ASP.NET Core 웹 애플리케이션을 개발 및 실행할 수 있습니다.

ASP.NET Core MVC는 애자일, 테스트 기반 개발 주기를 지원합니다. 최신 HTML 표준 및 Angular, React 등과 같은 프론트 엔드 프레임워크도 사용할 수 있습니다.

단원

  • Microsoft 웹 기술 개요
  • ASP.NET 4.x 개요
  • ASP.NET Core MVC 소개

랩 : ASP.NET Core MVC 살펴보기

  • Razor Pages 애플리케이션 살펴보기
  • 웹 API 애플리케이션 살펴보기
  • MVC 애플리케이션 살펴보기

본 과정을 완료하면 학생들은 다음을 수행할 수 있습니다:

  • Microsoft 웹 스택에서 사용 가능한 다양한 기술 이해.
  • ASP.NET에서 개발자가 사용할 수 있는 다양한 프로그래밍 모델 설명.
  • ASP.NET Core 및 ASP.NET 4.x 중에서 선택.
  • 웹 기술 스택에서 ASP.NET Core MVC 역할 및 ASP.NET Core MVC를 사용하여 웹 애플리케이션 구축 방법 설명.
  • MVC 모델, MVC 컨트롤러 및 MVC 뷰 간 구별.

모듈 2: ASP.NET Core MVC 애플리케이션 설계

Microsoft ASP.NET Core MVC는 강력하고 복잡한 웹 애플리케이션 생성에 사용할 수 있는 프로그래밍 모델입니다. 그러나 모든 복잡한 개발 프로젝트 및 특히 대규모 프로젝트는 완전히 이해하기 어렵고 복잡할 수 있습니다. 프로젝트의 목적을 완전히 이해하지 않고는 고객의 문제를 해결하는 효과적인 솔루션을 개발할 수 없습니다. 비즈니스 요구 사항을 식별하고 이러한 요구 사항을 충족시키기 위해 MVC(Model-View-Controller) 웹 애플리케이션 계획 방법을 알아야 합니다. 생성한 프로젝트 계획을 통해 이해 관계자에게 요구 사항을 이해하고 있음을 보증하고 웹 애플리케이션, 해당 사용자 인터페이스, 구조 및 데이터 저장소 기능을 개발자에게 전달할 수 있습니다. 상세하고 정확한 프로젝트 계획을 작성함으로 강력한 MVC 기능을 효과적으로 사용하여 고객의 비즈니스 문제를 해결할 수 있습니다.

단원

  • 프로젝트 설계 단계 계획
  • 모델, 컨트롤러 및 뷰 설계

랩 : ASP.NET Core MVC 웹 애플리케이션 설계

  • 모델 클래스 계획
  • 컨트롤러 계획
  • 뷰 계획
  • 아키텍처 및 MVC 웹 애플리케이션

본 모듈을 완료하면 학생들은 다음을 수행할 수 있습니다.

  • ASP.NET Core MVC 웹 애플리케이션 전체 아키텍처 계획 및 상태 관리 등 측면 고려.
  • 주어진 기능 요구 사항 구현에 필요한 모델, 컨트롤러 및 뷰 계획.

모듈 3: ASP.NET Core에서 미들웨어 및 서비스 구성

ASP.NET Core는 많은 다양한 종류의 애플리케이션을 구축할 수 있게 해주는 프레임워크입니다. 이 모듈에서는 ASP.NET Core 프레임워크를 활용하여 기존 및 사용자 지정 미들웨어를 통해 요청 및 응답을 처리하는 방법 및 미들웨어 및 컨트롤러와 같은 애플리케이션의 다른 부분에서 구성하는 방법을 학습합니다. 미들웨어는 요청 및 응답 파이프라인의 일부로 사용할 수 있는 코드 세그먼트로 임의관련 매개 변수에 따라 처리할 수 있습니다. 이를 통해 잠재적으로 여러 개의 개별 요청을 완전히 다른 방식으로 처리하고 별도의 응답을 받을 수 있습니다. 서비스는 각 개별 위치에서 수동으로 범위를 기록하지 않고 어떠한 종속성을 인스턴스화하지 않고도 애플리케이션의 다른 부분에서 나중에 사용할 수 있는 기능을 제공하는 클래스입니다. 이는 종속성 주입을 사용하여 수행됩니다. 종속성 주입은 ASP.NET Core에서 사용되는 기술로 객체를 인스턴스화하거나 메모리에 유지하거나 필요한 종속성을 전달하지 않아도 코드에 종속성을 추가할 수 있습니다. 따라서 애플리케이션의 유연성이 향상되며 서비스를 변경할 때마다 잠재적 장애 지점을 줄일 수 있습니다.

단원

  • 미들웨어 구성
  • 서비스 구성

랩 : ASP.NET Core에서 미들웨어 및 서비스 구성

  • 정적 파일 작업
  • 사용자 지정 미들웨어 생성
  • 종속성 주입 사용
  • 컨트롤러에 서비스 주입

본 모듈을 완료하면 학생들은 다음을 수행할 수 있습니다.

  • 기존 미들웨어를 사용하여 ASP.NET Core 애플리케이션 설정.
  • 자신의 미들웨어를 생성하고 사용자 지정 동작 정의에 사용.
  • 종속성 주입의 기본 원리 및 ASP.NET Core에서 사용하는 방법 이해.
  • 사용자 지정 서비스 생성, 범위 구성 및 미들웨어 및 ASP.NET Core MVC 컨트롤러 모두에 주입하는 방법을 앎.

모듈 4: 컨트롤러 개발

ASP.NET Core MVC는 MVC (Model-View-Controller) 아키텍처 패턴을 사용하여 웹 애플리케이션을 구축하는 프레임워크 입니다. 컨트롤러는 모델과 상호 작용하고 결과를 뷰에 전달하여 웹 요청을 처리하는 필수적인 역할을 합니다. 모델은 때때로 도메인이라고도 하는 비즈니스 계층을 나타내며 데이터 객체, 애플리케이션 논리 및 비즈니스 규칙을 포함합니다. 뷰는 컨트롤러에서 받은 데이터를 사용하여 HTML 또는 브라우저로 다시 전송되는 다른 출력을 생성합니다. 이 모듈에서는 컨트롤러 개발 방법을 학습합니다. 컨트롤러는 MVC 애플리케이션의 중심입니다. 적절한 모델 객체 생성, 조작 및 적절한 뷰로 전달하려면 컨트롤러 작동 방식을 이해하는 것이 중요합니다. 컨트롤러는 클래스입니다. 몇 가지 메서드를 포함합니다. 메서드는 액션이라고 부릅니다. MVC 애플리케이션이 요청을 받으면 요청을 처리할 컨트롤러와 액션을 찾습니다. URL(Uniform Resource Locator) 라우팅을 사용하여 결정합니다. URL 라우팅은 MVC 애플리케이션 개발에 필요한 또 다른 중요한 개념입니다. ASP.NET Core MVC 프레임워크는 애플리케이션에서 URL 매핑 규칙을 정의할 수 있는 유연한 URL 라우팅 시스템을 포함합니다. 컨트롤러의 코드 재사용을 최대화하려면 액션 필터 작성 방법을 아는 것이 중요합니다. 액션 필터를 사용하여 웹 애플리케이션의 모든 액션 전후, 컨트롤러의 모든 액션 또는 컨트롤러 액션의 다른 조합에서 코드를 실행할 수 있습니다.

단원

  • 컨트롤러 및 액션 작성
  • 경로 구성
  • 액션 필터 작성

랩 : 컨트롤러 개발

  • MVC 애플리케이션에 컨트롤러와 액션 추가
  • 라우팅 테이블을 사용하여 경로 구성
  • 속성을 사용하여 경로 구성
  • 액션 필터 추가

본 모듈을 완료하면 학생들은 다음을 수행할 수 있습니다.

  • 프로젝트 설계에 지정된 사용자 액션에 응답하는 웹 애플리케이션에 컨트롤러 추가.
  • ASP.NET Core 라우팅 엔진에 경로 추가 및 MVC 웹 애플리케이션에서 사용하기 쉬운 URL 보장.
  • 컨트롤러 액션 전후에 실행되는 액션 필터에 코드 작성.

모듈 5: 뷰 개발

뷰는 MVC(Model-View-Controller) 프로그래밍 모델의 세 가지 주요 구성 요소 중 하나입니다. 뷰를 생성하여 웹 애플리케이션용 사용자 인터페이스를 정의 할 수 있습니다. 뷰는 HTML 마크업과 웹 서버에서 실행되는 C# 코드의 조합입니다. 따라서 뷰를 생성하려면 HTML 마크업 및 C# 코드 작성 및 MVC에 구축된 다양한 헬퍼 클래스 사용 방법을 알아야 합니다. 또한 웹 애플리케이션에서 재사용 가능한 HTML 섹션을 렌더링하는 부분, 부분 뷰 및 뷰 구성 요소 생성 방법도 알아야 합니다.

단원

  • Razor 구문으로 뷰 생성
  • HTML 헬퍼 및 태그 헬퍼 사용
  • 뷰에서 코드 재사용

랩 : 뷰 개발

  • MVC 애플리케이션에 뷰 추가
  • 부분 뷰 추가
  • 뷰 구성 요소 추가

본 모듈을 완료하면 학생들은 다음을 수행할 수 있습니다.

  • MVC 뷰 생성 및 Razor 마크업 추가를 통해 사용자에게 데이터 표시.
  • 뷰에서 HTML 헬퍼 및 태그 헬퍼 사용. 애플리케이션의 여러 위치에서 Razor 마크업 재사용.

모듈 6: 모델 개발

웹 애플리케이션 대부분은 다양한 유형의 데이터 또는 객체와 상호작용합니다. 예를 들어 전자상거래 애플리케이션은 제품, 쇼핑 카트, 고객 및 주문을 관리합니다. 소셜 네트워킹 애플리케이션은 사용자, 상태 업데이트, 댓글, 사진 및 동영상을 관리하는 데 도움이 됩니다. 블로그는 블로그 항목, 댓글, 카테고리 및 태그 관리에 사용됩니다. MVC(Model-View-Controller) 웹 애플리케이션 작성 시 MVC 모델을 생성하여 웹 애플리케이션 데이터를 모델링 합니다. 이 모델 내에서 각 객체 유형을 위한 모델 클래스를 생성합니다. 모델 클래스는 각 객체 유형 속성을 표현하며 비즈니스 프로세스와 일치하는 비즈니스 로직을 포함할 수 있습니다. 따라서 모델은 MVC 애플리케이션 기본 구성 요소입니다. 이 모듈에서는 모델을 위한 코드 생성 방법을 학습합니다.

단원

  • MVC 모델 생성
  • Forms으로 작업
  • MVC 애플리케이션 유효성 검사

랩 : 모델 개발

  • 모델 추가
  • Forms으로 작업
  • 유효성 검사 추가

본 모듈을 완료하면 학생들은 다음을 수행할 수 있습니다.

  • MVC 애플리케이션에 모델 추가 및 비즈니스 로직 구현을 위한 코드 작성.
  • 디스플레이 사용 및 데이터 주석 편집.
  • 데이터 주석으로 사용자 입력 유효성 검사.

모듈 7: ASP.NET Core에서 Entity Framework Core 사용

웹 애플리케이션은 종종 정보를 사용하며 해당 정보를 위한 데이터 저장소가 필요합니다. 데이터 저장소의 데이터를 사용하는 웹 페이지 렌더링을 통해 사용자 입력, 관리 액션 및 이벤트 게시 에 응답하여 지속해서 변경되는 웹 애플리케이션을 생성할 수 있습니다. 데이터 저장소는 일반적으로 데이터베이스이지만 다른 데이터 저장소 유형이 때때로 사용됩니다. MVC(Model-View-Controller) 애플리케이션에서 데이터 액세스 논리 및 비즈니스 로직을 구현하는 모델을 생성할 수 있습니다. 또는 리포지토리를 사용하여 비즈니스 로직과 데이터 액세스 로직을 분리할 수 있습니다. 리포지토리는 컨트롤러가 호출할 수 있는 클래스이며 데이터 저장소에서 데이터를 읽고 데이터 저장소에 데이터를 쓸 수 있습니다. ASP.NET 애플리케이션을 작성할 때 EF Core(Entity Framework Core) 및 LINQ(Language-Integrated Query) 기술을 사용하면 데이터 액세스 코드를 매우 빠르게 작성할 수 있고 이해하기 쉽습니다. 이 모듈에서는 MVC에서 데이터베이스 기반 웹 사이트 구축 방법을 알아봅니다.

단원

  • Entity Framework Core 소개
  • Entity Framework Core로 작업
  • Entity Framework Core를 사용하여 Microsoft SQL Server에 연결

랩 : ASP.NET Core에서 Entity Framework Core 사용

  • Entity Framework Core 추가
  • Entity Framework Core를 사용하여 데이터 검색 및 저장
  • Entity Framework Core를 사용하여 Microsoft SQL Server에 연결

본 모듈을 완료하면 학생들은 다음을 수행할 수 있습니다.

  • 애플리케이션을 데이터베이스에 연결하여 데이터 액세스 및 저장.
  • EF Core 설명.
  • Entity Framework Core로 작업.
  • EF Core를 사용하여 Microsoft SQL Server를 포함한 데이터베이스 접속.

모듈 8: ASP.NET Core MVC에서 레이아웃, CSS 및 JavaScript 사용

웹 애플리케이션을 구축하는 동안 애플리케이션에 일관된 룩 앤드 필을 적용해야 합니다. 모든 뷰에 일관된 헤더와 푸터 섹션을 포함해야 합니다. Microsoft ASP.NET Core MVC는 웹 애플리케이션 모양 및 유용성을 향상하는 CSS(cascading style sheets) 스타일및 레이아웃 등 기능을 포함합니다. ASP.NET Core MVC에는 JavaScript를 사용하여 대화형 HTML 요소를 생성할 수 있습니다. 웹 애플리케이션에 JavaScript를 사용하는 방법을 알아야 합니다. 웹 애플리케이션에 JavaScript를 간단히 추가하려면 jQuery와 같은 라이브러리를 사용하는 방법을 알아야 합니다.

단원

  • 레이아웃 사용
  • CSS 및 JavaScript 사용
  • jQuery 사용

랩 : ASP.NET Core에서 레이아웃, CSS 및 JavaScript 사용

  • 레이아웃과 링크 뷰 적용
  • CSS 사용
  • JavaScript 사용
  • jQuery 사용

본 모듈을 완료하면 학생들은 다음을 수행할 수 있습니다.

  • ASP.NET Core MVC 애플리케이션에 일관된 레이아웃 적용.
  • 웹 애플리케이션에 JavaScript 코드 추가.
  • 웹 애플리케이션에 jQuery 라이브러리 사용.

모듈 9: 클라이언트 쪽 개발

애플리케이션 생성 시 애플리케이션의 클라이언트 쪽과 서버 쪽을 모두 개발하는 방법을 알는 것이 중요합니다. 이 모듈에서는 규모에 상관없이 광범위한 웹 애플리케이션 생성이 가능한 클라이언트 쪽 도구를 학습합니다. 이러한 도구는 모듈 8, “ASP.NET Core MVC에서 레이아웃, CSS 및 JavaScript 사용”에서 다룬 주제를 기반으로 합니다. 이 모듈에서는 Bootstrap 프레임워크를 사용하여 웹 애플리케이션을 스타일링하는 방법을 학습합니다. 그런 다음 변수, 중첩 규칙 및 함수 등 CSS에 추가되는 기능인 두 가지 일반적인 CSS (Cascading Style Sheets) 전처리기인 Sass 및 Less 사용 방법을 학습합니다. 이는 복잡한 웹 애플리케이션 유지 관리 가능성을 크게 향상합니다. 다음은 Grunt 및 gulp 등 작업 실행기 설정 방법 및 Microsoft Visual Studio 빌드 중 Sass 파일을 컴파일 하는 데 사용하는 방법을 학습합니다. Gulp 작업 실행기를 사용해서 CSS와 JavaScript 파일 번들링 및 축소를 수행하고 감시자 작업을 설정하여 코드를 작성할 때 솔루션을 다시 빌드하지 않고도 Sass 파일을 컴파일 하는 방법을 학습합니다. 마지막으로 웹 브라우저 또는 기기의 기능 및 사용에 따라 웹 애플리케이션 디스플레이를 사용자 지정할 수 있는 반응형 디자인 도구를 학습합니다. CSS 미디어 쿼리 작성, Bootstrap 반응형 그리드 시스템 사용 및 CSS 플렉스박스 레이아웃을 뷰에 적용하는 방법을 학습합니다.

단원

  • 스타일 적용
  • 작업 실행기 사용
  • 반응형 디자인

랩 : 클라이언트 쪽 개발

  • Gulp를 사용하여 작업 실행
  • Sass를 사용한 스타일링
  • Bootstrap 사용

본 모듈을 완료하면 학생들은 다음을 수행할 수 있습니다.

  • Microsoft ASP.NET Core 애플리케이션에서 Bootstrap, Sass 및 Less 사용.
  • ASP.NET Core 애플리케이션에서 작업 실행기 사용.
  • 화면 크기가 다른 기기에서 웹 애플리케이션이 올바르게 표시되는지 확인.

모듈 10: 테스트 및 문제 해결

웹 애플리케이션과 같은 소프트웨어 시스템은 복잡하며 종종 서로 다른 개발자가 협업하기 위해 여러 구성 요소가 필요합니다. 잘못된 가정, 부정확한 이해, 코딩 오류 및 많은 다른 소스로 인해 버그가 발생하고 그 결과로 예외 또는 예기치 않은 동작을 초래합니다. 웹 애플리케이션 품질 향상 및 만족스러운 사용자 환경을 생성하려면 모든 소스에서 버그를 식별하고 제거해야 합니다. 전통적으로 테스터는 개발 프로젝트가 끝날 때 대부분의 테스트를 수행합니다. 그러나 최근 프로젝트 수명 주기 전반에 걸친 테스트를 통해 품질을 향상하고 생산 소프트웨어에는 버그가 없도록 하려는 인식이 널리 용인되고 있습니다. 웹 애플리케이션의 작은 구성 요소를 완전한 웹 애플리케이션으로 조립하기 전에 예상대로 기능이 동작하는지 확인하는 테스트 실행 방법을 이해해야 합니다. 예외가 발생하는 동안 예외를 처리하는 방법을 아는 것이 중요합니다. 애플리케이션이 실행되는 동안 예기치 않은 상황이 발생할 수 있습니다. 애플리케이션 구조에 대한 정보 유출을 피하면서 예외를 올바르게 관리하고 좋은 사용자 피드백을 제공하는 것이 중요합니다. 마지막으로 응용프로그램 전체에서 로그를 사용하여 예기치 않은 문제로 이어질 수 있는 사용자 활동을 모니터하고 프로덕션 환경에서 발생한 흐름을 추적하고 추가적인 오류를 발견하여 일반적인 방법으로는 재현할 수 없는 버그에 대한 솔루션을 찾을 수 있습니다.

단원

  • MVC 애플리케이션 테스트
  • 예외 처리 전략 구현
  • MVC 애플리케이션 로깅

랩 : 테스트 및 문제 해결

  • 모델 테스트
  • 인조 리포지토리를 사용한 컨트롤러 테스트
  • MVC 프로젝트에서 리포지토리 구현
  • 예외 처리 추가
  • 로깅 추가

본 과정을 완료하면 학생들은 다음을 수행할 수 있습니다:

  • 모델 클래스 및 컨트롤러 등 MVC(Model-View-Controller) 구성 요소에 대해 단위 테스트 실행 및 잠재적인 버그 찾기.
  • 예외를 순조롭고 탄탄히 처리하는 Microsoft ASP.NET Core MVC 애플리케이션 구축.
  • 애플리케이션에 유용한 로깅 공급자 실행 및 공통 로깅 API를 사용하여 실행.

모듈 11: 보안 관리

웹 애플리케이션은 일반적으로 이 애플리케이션 사용 시 브라우저만 이용하는 사용자를 대상으로 하므로 설치된 애플리케이션의 경우보다 훨씬 더 많은 사용자가 있을 수 있습니다. 그러나 웹 애플리케이션 개방성을 구축 시 보안은 항상 최우선으로 염두에 두어야 합니다. 보안의 목적으로 사용자와 애플리케이션을 애플리케이션에 액세스 할 수 있는 악의적인 3자로부터 보호하면서 어떤 동작을 어떤 사용자가 수행할 수 있는지 결정해야 합니다. 인증은 여러 매개 변수를 사용하여 사용자가 자신이 누구인지 주장하는 행위입니다. 인증을 구현하여 애플리케이션을 활용 중 사용자가 누구인지 확인하고 적절한 콘텐츠를 제공할 수 있습니다. 권한 부여는 애플리케이션에서 이미 인증된 사용자에게 특정 동작 또는 리소스 액세스 권한을 부여하는 과정입니다. 권한 부여를 사용하여 사용자가 의도하지 않은 민감한 자료에 액세스하지 못하도록 하거나 수행해서는 안 되는 동작 수행을 방지할 수 있습니다. 마지막으로 수명의 어느 시점에서 애플리케이션이 악의적인 사용자의 공격을 받을 수 있습니다. 수단과 의도는 다양할 수 있지만 무방비 상태로 인한 비용은 클 수 있습니다. 영향을 받은 잠재적인 사용자를 잃을 수 있고 귀중한 데이터가 잘못 변경될 수 있으며 최악에는 전체 애플리케이션을 사용하지 못할 수 있습니다. 이 모듈에서는 가장 많이 사용되는 공격의 일부에 대한 솔루션을 검토합니다.

단원

  • ASP.NET Core 내 인증
  • ASP.NET Core 내 권한 부여
  • 공격 방어

랩 : 보안 관리

  • ID 사용
  • 권한 부여 추가
  • 교차 사이트 요청 위조 방지

본 모듈을 완료하면 학생들은 다음을 수행할 수 있습니다.

  • 애플리케이션에 기본 인증 추가.
  • Microsoft ASP.NET Core ID 구성.
  • 애플리케이션에 기본 인증 추가.
  • 몇 가지 다른 권한 부여 접근 방식 활용.
  • 보안 익스플로잇 작동 방식 및 잘 방어하는 방법을 숙지.

모듈 12: 성능 및 통신

최신 웹 애플리케이션은 사용자와 복잡한 상호 작용이 필요합니다. 사용자는 종종 짧은 시간 프레임에 많은 데이터를 요청하는 동시에 온라인 상태가 되자마자 관련 데이터를 요구합니다. 이로 인해 준비되지 않은 서버에 많은 양의 부하가 쉽게 발생하여 불필요하게 복잡하거나 반복되는 작업과 서버에 많은 부하가 발생할 수 있습니다. 다행히도 부하를 줄이는 여러 가지 방법이 있습니다. 캐싱을 사용하면 일반적으로 반복되는 요청을 저장하여 같은 로직을 반복 수행할 필요가 없습니다. 캐싱을 사용하면 이미 로드된 데이터를 재사용하여 사용자에게 제공할 수 있습니다. 이를 통해 사용자에게 빠른 응답 시간을 제공하고 작업의 논리 수행에 사용되는 시스템 리소스를 줄입니다. 그 동안에 상태는 다른 요청 간의 일관성 있는 상태를 달성을 허용합니다. 다양한 형태의 상태 관리를 사용하여 일반적으로 상태 비저장 웹 경험을 개별 클라이언트에 맞게 사용자 지정된 경험으로 변환할 수 있으며, 서로 다른 사용자는 같은 애플리케이션에서 별도 및 관련 경험을 누릴 수 있습니다. 마지막으로 SignalR은 여러 다른 통신 프로토콜을 사용하기 쉬운 API로 추상화할 수 있는 프레임워크이며 단일 도구 세트를 쉽게 생성하여 서버와 클라이언트에서 양방향 통신을 쉽게 합니다. 이를 통해 특정 브라우저에 맞추지 않고 구현하려는 로직에 집중할 수 있습니다.

단원

  • 캐싱 전략 구현
  • 상태 관리
  • 양방향 통신

랩 : 성능 및 통신

  • 캐싱 전략 구현
  • 상태 관리
  • 양방향 통신

본 모듈을 완료하면 학생들은 다음을 수행할 수 있습니다.

  • Microsoft ASP.NET Core 애플리케이션에서 캐싱 구현.
  • 상태 관리 기술을 사용하여 사용자에게 일관된 경험을 제공하여 클라이언트 경험 향상.
  • SignalR을 사용한 양방향 통신을 구현하여 중요한 이벤트 발생 시 서버가 클라이언트에 통지하도록 허용.

모듈 13: 웹 API 구현

대부분의 웹 애플리케이션은 모바일 애플리케이션 등 외부 시스템과 통합이 필요합니다. 웹 API를 사용하여 외부 시스템과 애플리케이션 상호 작용 촉진 방법을 알아야 합니다. 웹 API를 사용하여 애플리케이션에서 REST(Representational State Transfer) 서비스를 구현할 수 있습니다. REST 서비스를 통해 애플리케이션 오버헤드를 줄이고 클라이언트와 서버 시스템 간 전송된 데이터를 제한합니다. 서버 쪽 코드와 jQuery 코드를 호출하여 효과적으로 REST 스타일 웹 API를 애플리케이션에 구현하는 방법을 알아야 합니다.

단원

  • 웹 API 소개
  • 웹 API 개발
  • 웹 API 호출

랩 : 웹 API 구현

  • Microsoft Edge를 사용한 액션 및 호출 추가
  • 서버 쪽 코드를 사용해 웹 API 호출
  • jQuery를 사용해 웹 API 호출

본 모듈을 완료하면 학생들은 다음을 수행할 수 있습니다.

  • ASP.NET Core 웹 API를 사용해 서비스 생성.
  • 서버 쪽 코드 및 jQuery에서 웹 API 호출.

모듈 14: 호스팅 및 개발

ASP.NET Core MVC 애플리케이션은 여러 사용자에게 동시에 서비스를 제공하도록 설계되어 서버를 설치하고 클라이언트는 그것에 액서스하기 위해 브라우저를 사용하기만 하면 됩니다. 그 결과 사용자가 전용 소프트웨어를 설치하지 않는 매우 바람직한 애플리케이션이 되었으며 클라이언트는 다양한 머신에 액세스 할 수 있도록 합니다. 프로덕션 환경용 ASP.NET Core 애플리케이션을 설정하려면 코드를 컴파일하고 압축한 다음 전용 서버에 설정하고 실행해야 합니다. 호스팅에는 컴파일된 애플리케이션을 포함하는 전용 서버를 사용하고 웹 기반 서비스로 사용자에게 제공하는 것을 포함합니다. 애플리케이션을 호스팅하는 데 사용할 수 있는 많은 다양한 기술이 있으므로 요구 사항에 적절한 것을 선택해야 합니다. 배포는 프로젝트 코드가 컴파일 된 후 호스팅 환경의 요구 사항에서 작동하는 방식으로 호스팅 서버로 전송되는 프로세스입니다. Microsoft Azure는 Microsoft에서 제공하는 클라우드 서비스입니다. ASP.NET Core 애플리케이션 호스팅으로 사용될 수 있으며 및 클라우드 기술 시장에서 널리 사용되는 도구입니다. 요구 사항에 따라 여러 결제 옵션에서 편리한 웹 애플리케이션 관련 서비스를 제공합니다.

단원

  • 온-프레미스 호스팅 및 배포
  • Microsoft Azure로 배포
  • Microsoft Azure Fundamentals

랩 : 호스팅 및 배포

  • Microsoft Azure에 웹 애플리케이션 배포
  • Azure Blob Storage에 이미지 업로드

본 모듈을 완료하면 학생들은 다음을 수행할 수 있습니다.

  • IIS에 ASP.NET Core MVC 애플리케이션 호스트 및 배포.
  • Microsoft Azure에 ASP.NET Core MVC 애플리케이션 호스트 및 배포.
  • Microsoft Azure에서 제공하는 서비스를 활용하여 웹 애플리케이션 기능 향상할 수 있음.