Top

C# 7 and .NET Core 2.x Blueprints [프로젝트별 예제로 배우는 C#과 닷넷 코어]

  • 원서명C# 7 and .NET Core 2.0 Blueprints: Build effective applications that meet modern software requirements (ISBN 9781788396196)
  • 지은이더크 스트라우스(Dirk Strauss), 야스 라드메이어(Jas Rademeyer)
  • 옮긴이양정열
  • ISBN : 9791161752914
  • 35,000원
  • 2019년 04월 30일 펴냄
  • 페이퍼백 | 448쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 웹 프로페셔널

책 소개

요약

C# 7에 추가된 기능의 소개를 시작으로 객체지향 프로그래밍의 원칙과 다양한 플랫폼에서 동작하는 .NET Core 애플리케이션 제작, 몽고 DB 연동 방법, SignalR을 통한 실시간 웹 앱 제작, Entity Framework Core와 다양한 배포 옵션, 서버리스(Serverless) 애저 함수(Azure Function) 사용법, 트위터 클론 등 다양한 예제를 통해 C#과 .NET Core를 쉽게 설명한다. C#에 관한 기본적인 지식이 있으면 좋겠지만 그렇지 않더라도 개발 경험이 있는 독자라면 어렵지 않게 이해 할 수 있으며, 다른 개발 언어나 도구를 통해서도 동일한 아이디어를 적용해 볼 수 있을 것이다.

이 책에서 다루는 내용

■ Entity Framework Core와 ASP.NET Core MVC 애플리케이션 통합
■ SignalR와 NuGet 패키지 활용
■ ASP.NET Core MVC 애플리케이션에서 MongoDB 활용
■ .NET Core MVC와 미들웨어, 컨트롤러, 뷰, 레아아웃, 라우팅, OAuth 실습
■ 애저 함수(Azure Function)와 서버리스 컴퓨팅
■ .NET Core로 윈도우와 맥OS, 리눅스에서 동작하는 크로스 플랫폼 애플리케이션 제작
■ 도커 구성과 .NET Core MVC 애플리케이션 구동

이 책의 대상 독자

C# 프로그래밍 언어를 잘 알고 있으며 .NET Core를 더 알고 싶어하는 개발자를 대상으로 한다.

이 책의 구성

1장, ‘전자책 관리자와 목록 앱’에서는 C# 7의 새로운 기능을 소개한다. 개발자는 이 기능을 통해 적은 코드로 높은 생산성을 얻을 수 있다. 또한 전자책 관리자 응용 프로그램도 만든다. 이 응용 프로그램은 하드 디스크와 외장 드라이브에 위치한 전자책을 하나의 가상 저장소로 모아주는 기능을 제공한다. 이 응용 프로그램은 필요에 따라 개선할 수도 있다.
2장, ‘크리켓 점수 계산기와 트래커’에서는 .NET 응용 프로그램을 만드는 중요한 요소인 객체지향 프로그래밍(OOP)을 설명한다. 개발자는 적절한 객체지향 프로그래밍을 통해 프로젝트 간에 코드를 쉽게 공유할 수 있고, 이미 작성한 코드를 재작성할 필요도 없다. 선호하는 두 팀의 크리켓 점수를 추적하는 ASP.NET Bootstrap 웹 응용 프로그램을 만들어보면서 객체지향 프로그래밍의 원칙을 명확하게 이해할 수 있다.
3장, ‘다양한 플랫폼에서 동작하는 닷넷 코어 시스템 정보 관리자’에서는 .NET Core에 관해 설명한다. .NET Core를 통해 윈도우와 맥OS, 리눅스에서 동작하는 간단한 대시보드 응용 프로그램을 통해 내용을 설명한다. 이 응용 프로그램은 컴퓨터의 정보와 컴퓨터가 있는 위치의 날씨 정보를 보여준다.
4장, ‘태스크와 버그 로깅 ASP .NET Core MVC 앱’에서는 태스크와 버그 로깅 응용 프로그램을 만들면서 ASP.NET Core MVC와 몽고DB(MongoDB) 사용법을 살펴본다. 개발자는 몽고DB를 통해 생산성이 향상시키고 .NET Core와 쉽게 통합할 수 있다.
5장, ‘ASP.NET SignalR 대화 응용 프로그램’에서는 사용자가 페이지를 새로 고침하지 않더라도 서버 측 코드에서 해당 웹 페이지에 실시간으로 데이터를 보낼 수 있는 기능을 생각해보는 것으로 시작한다. 개발자는 ASP.NET SignalR 라이브러리를 통해 응용 프로그램에 실시간 웹 기능을 간단히 추가할 수 있다. 참고로 8장, ‘OAuth를 활용한 트위터 클론’을 살펴볼 때 5장의 내용을 떠올릴 수 있길 바란다. 이 응용 프로그램은 SignalR과 통합하기 좋다.
6장, ‘Entity Framework Core로 만드는 웹 리서치 도구’에서는 .NET Core 학습의 핵심인 Entity Framework Core를 설명한다. 데이터를 읽어와 데이터베이스에 기록하는 응용 프로그램을 개발할 때 가장 힘든 부분은 데이터베이스와 코드 간 통신 계층 설정이다. .NET Core 응용 프로그램에서 이 문제를 해결할 때 이용하는 Entity Framework Core에 대해 설명한다.
7장, ‘서버리스 이메일 유효성 검사 애저 함수’에서는 애저 함수를 만들고 ASP.NET Core MVC 응용 프로그램에서 이 함수를 호출하는 방법을 보여준다. 애저 함수에서는 이메일 주소를 검사한다. 서버리스 컴퓨팅과 그 이점을 명확하게 이해할 수 있다.
8장, ‘OAuth를 활용한 트위터 클론’에서는 트위터의 기능을 필요에 따라 수정하는 방법을 설명한다. 예를 들면 선호하는 트윗을 저장하는 기능이 이에 해당한다. ASP.NET Core MVC 응용 프로그램을 통해 기본적인 기능을 갖춘 트위터 클론을 만드는 일이 얼마나 쉬운지 살펴본다. 이 응용 프로그램에 쉽게 기능을 추가해 특정 요구 사항을 만족시키도록 사용자 정의할 수 있다.
9장, ‘도커와 ASP.NET Core 활용’에서는 요즘 화두가 되고 있는 도커를 살펴보고, 도커가 개발자에게 어떤 도움을 줄 수 있는지에 대해 설명한다. ASP.NET Core MVC 응용 프로그램을 생성하고 도커 컨테이너에서 구동하는 방법을 설명한다. 마지막 부분에서는 도커 허브(Docker Hub)와 깃허브(GitHub)을 사용해 빌드를 자동화하는 방법을 살펴본다.

저자/역자 소개

지은이의 말

.NET Core는 범용의 모듈화된 크로스 플랫폼 지원 .NET 오픈 소스 구현체다. 최신 버전의 .NET Core에서는 .Net 프레임워크와 .NET Core, 자마린(Xamarin)에서 일관성 있게 적용할 수 있는 API를 더 많이 제공한다. 이 책의 단계별 가이드는 실무 프로젝트에 적용할 수 있는 .NET Core와 C# 개념의 정수를 담고 있다.

지은이 소개

더크 스트라우스(Dirk Strauss)

엠브레이스(Embrace)의 풀스택 개발자다. 공부하고 배운 것을 다른 사람에게 알려주는 것을 좋아한다. 팩트출판사의 C# 책과 싱크퓨전(Syncfusion)의 전자책을 출간했다. 여가 시간에는 기타를 연주하고 지미 핸드릭스(Jimi Hendrix)의 릭(기타 연주 패턴)을 배우면서 보낸다. 트위터 @DirkStrauss로 연락할 수 있다

야스 라드메이어(Jas Rademeyer)

IT 업계에서 15년간 일했으며 경력의 대부분은 소프트웨어 분야다. 멀티미디어 분야의 정보 과학 학위를 받았으며 아키텍처와 솔루션 설계부터 사용자 경험과 교육에 이르기까지 모든 개발 분야에 참여했다.
현재는 테크니컬 솔루션 매니저(technical solutions manager)로 일하면서 마이크로소프트 사에서 프로젝트 개발 팀을 관리하고 있다.
아내, 두 자녀들과 여가를 즐기면서 교회 찬양대에서 봉사하고 있다.

옮긴이의 말

십수 년 전 프로그래밍을 처음 시작하면서 사용했던 언어가 C#이다. 당시 C#의 버전은 1.2였고 개발 도구는 비주얼 스튜디오 2003, .NET 프레임워크의 버전은 1.1이었다. 다른 개발 언어에 비해 도구는 강력했고, 얻을 수 있는 장점도 많았다. 어느덧 세월이 흘러 이 책이 출간되는 시점인 2019년 4월, C#은 8.0 preview가 준비되고 있고 비주얼 스튜디오는 2019가 출시됐다. 또한 크로스 플랫폼을 지원하는 오픈소스 .NET core는 3.0까지 진화 발전했다. C#과 비주얼 스튜디오 그리고 .NET은 개발자에게 양보할 수 없는 다양하고 강력한 기능을 제공하고 있으며, 다른 언어가 가진 장점까지 받아들여 더욱 매력적이고 멋진 언어이자 도구가 됐다.
이 책에서는 이러한 강력한 도구의 사용 방법과 함께 .NET 응용 프로그램 개발에서 중요한 요소인 객체지향 설계 원칙과 프로그래밍의 원리, 실전에서 활용할 수 있는 다양한 오픈소스와 유용한 도구 및 플랫폼의 사용 방법을 적절한 예제를 통해 쉽게 설명하고, 코드를 모듈화 하고 손쉽게 코드를 공유하며 공유한 코드를 확장하는 방법을 소개한다.
기본적으로 C#에 익숙한 사용자면 좋겠지만, 그렇지 않더라도 마이크로소프트에서 제공하는 방대한 양의 온라인 자습서를 통해 기본적인 내용을 쉽게 배울 수 있으며, 이 책의 예제를 설명하는 곳에도 관련 링크를 친절하게 안내하고 있다.
이러한 도구를 배우고 익숙하게 다루게 되면 적은 양의 코드로 개발 생산성을 극대화할 수 있으며 윈도우뿐만 아니라 리눅스나 맥OS와 같은 다양한 플랫폼을 대상으로 자신의 아이디어를 쉽고 빠르게 적용하면서 확장해 나갈 수 있을 것이다.
독자에게 당부하고 싶은 점이 있다. 이 책에서 소개하는 내용들은 바뀌지 않는 부분도 있지만, 자주 업데이트되는 내용이 많으므로 자신의 모니터 앞에 펼쳐진 내용이 책에 있는 스크린샷과 다르거나 많이 바뀌었더라도 당황하지 말기 바란다. 이는 신기술을 배우고 있다는 증거다. 변경된 부분을 찾아보면서 우직하게 진행하기를 기대하지만, 그럼에도 문의 사항이 있다면 출판사나 역자 또는 저자에게 연락을 해도 좋다.

옮긴이 소개

양정열

국내 Telco SI/SM 소프트웨어 개발자로 시작해 현재는 프로젝트 매니저(Project Manager)로 일하고 있으며, 독립 IT 기술자 저술 강연 상호부조 네트워크인 GoDev(http://www.godev.kr)의 정회원이다.

목차

목차
  • 1장. 전자책 관리자와 목록 앱
    • 프로젝트 설정하기
    • 가상 저장소 공간과 확장 메서드
      • DocumentEngine 클래스
      • ImportBooks 폼
      • 식 본문 접근자, 생성자, 종료자
      • TreeView 컨트롤 채우기
      • 로컬 함수
      • 패턴 일치
      • ImportBooks 마무리
      • Throw 식
      • 저장소 공간에 선택한 책 저장하기
    • 메인 eBookManager 폼
    • eBookManager 응용 프로그램 실행하기
    • 요약

  • 2장. 크리켓 점수 계산기와 트래커
    • 프로젝트 설정하기
    • 객체지향 프로그래밍
      • 추상화
      • 다형성
        • 컴파일 타임 다형성과 런타임 다형성
      • 상속
      • 캡슐화
        • 캡슐화와 추상화
    • 크리켓 점수 트래커의 클래스
      • 추상 클래스
      • 인터페이스
      • 클래스
    • 모두 합치기
      • SOLID 설계 원칙
        • 단일 책임의 원칙
        • 개방/폐쇄의 원칙
    • 요약

  • 3장. 다양한 플랫폼에서 동작하는 닷넷 코어 시스템 정보 관리자
    • 윈도우에서 프로젝트 만들기
      • 프로젝트 세부 사항
      • Climacons
      • Startup.cs 파일
      • InformationModel 클래스
      • InformationController 클래스
      • GetInfo 뷰
    • 맥OS에서 응용 프로그램 실행하기
    • 리눅스에서 앱 설정하기
    • 요약

  • 4장. 태스크와 버그 로깅 ASP.NET Core MVC 앱
    • 몽고DB를 사용하는 이점은 무엇인가?
      • 몽고DB를 통한 빠른 개발
      • 커리어 향상 스킬 셋
      • 몽고DB의 높은 위상
    • 로컬 컴퓨터에 몽고DB 설정
    • ASP.NET Core MVC 응용 프로그램과 몽고DB 연결하기
      • NuGet 패키지 추가하기
      • MongoDBRepository 클래스 만들기
    • 몽고DB 데이터 읽고 쓰기
      • Interfaces와 WorkItemService 만들기
      • View 만들기
      • HomeController 변경하기
    • 작업 항목 입력하기
      • 작업 항목 목록으로 리다이렉션하기
    • 요약

  • 5장. ASP.NET SignalR 대화 응용 프로그램
    • 프로젝트 레이아웃
    • 프로젝트 설정하기
    • SignalR 라이브러리 추가하기
    • 서버 만들기
      • SignalR Hub 하위 클래스
      • 설정 변경
    • 클라이언트 만들기
      • 포함된 라이브러리
      • 대화명 정하기
      • 대화 입력
      • 대화 창
      • 저장 기능
      • 자바스크립트 함수
    • 솔루션 개요
    • 출시하기
      • 응용 프로그램 실행하기
      • 파티 시작하기
      • 대화 저장하기
    • 요약

  • 6장. Entity Framework Core로 만드는 웹 리서치 도구
    • 엔티티 프레임워크 코어
      • 엔티티 프레임워크
    • 코드 우선 방식, 모델 우선 방식, 데이터베이스 우선 방식의 비교
      • 코드 우선 방식
      • 모델 우선 방식
      • 데이터베이스 우선 방식
    • 데이터베이스 설계하기
    • 프로젝트 설정하기
    • 필요한 패키지 설치하기
      • Entity Framework Core SQL Server
      • 엔티티 프레임워크 코어 도구
      • Code generation design
        • 모델 만들기
        • 서비스 구성하기
        • 데이터베이스 만들기
        • 데이터베이스에 데스트 데이터 추가하기
        • 컨트롤러 만들기
        • 응용 프로그램 실행하기
    • 응용 프로그램 배포하기
      • 애저 앱 서비스
      • 사용자 지정 대상
        • FTP
        • 웹 배포
        • Web Deploy 패키지
        • 파일 시스템
      • 폴더
      • 프로필 가져오기
    • 요약

  • 7장. 서버리스 이메일 유효성 검사 애저 함수
    • 서버리스 컴퓨팅 시작하기
      • 서버리스 컴퓨팅의 중요성
    • 애저 함수의 기능
      • 언어 선택
      • 종량제 요금
      • 유연한 개발
    • 애저 함수의 종류
    • 애저 함수 만들기
    • 애저 함수 코드 수정하기
    • ASP.NET Core MVC 응용 프로그램에서 애저 함수 호출하기
      • 로그인 폼 만들기
      • 모두 연결하기
    • 요약

  • 8장. OAuth를 활용한 트위터 클론
    • Tweetinvi 사용하기
      • ASP.NET Core MVC 트위터 클론 응용 프로그램
      • 트위터에서 응용 프로그램 만들기
      • ASP.NET Core MVC 응용 프로그램을 만들고 NuGet 패키지 추가하기
    • 코드 작성하기
      • Classes와 appsettings 설정하기
      • TweetItem 클래스 만들기
      • CSS 설정하기
      • 컨트롤러 추가하기
      • 뷰 만들기
      • HomeController 수정하기
      • TwitterViewModel 클래스 만들기
      • HomeTimeline 뷰 만들기
      • TwitterController 클래스 수정하기
      • ComposeTweet 뷰로 마무리하기
    • CoreTwitter 응용 프로그램 실행하기
    • 요약

  • 9장. 도커와 ASP.NET Core 활용
    • 도커란 무엇인가?
      • 이미지와 컨테이너
      • 도커는 어디에서 동작하는가?
      • 도커가 웹 개발자에게 주는 이점
    • 윈도우 10 Pro에 도커 설치하기
      • 도커 이해하기
      • 비주얼 스튜디오 2017의 ASP.NET Core 응용 프로그램을 도커에서 실행하기
      • 이미 존재하는 ASP.NET Core 응용 프로그램에 도커 지원 추가하기
      • 깃허브과 도커 허브 사용하기

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안