Top

크로스 플랫폼 개발을 위한 C# 7과 닷넷 코어 2.0 [C# 7, 닷넷 코어, 비주얼 스튜디오 2017, 비주얼 스튜디오 코드로 만드는]

  • 원서명C# 7 and .NET Core: Modern Cross-Platform Development - Second Edition (ISBN 9781787129559)
  • 지은이마크 프라이스(Mark J. Price)
  • 옮긴이김현욱
  • ISBN : 9791161751030
  • 40,000원
  • 2018년 01월 18일 펴냄
  • 페이퍼백 | 680쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

판매처

개정판

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.

본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약

C# 7의 새로운 기능과 닷넷 코어의 전반적인 내용을 다룬다. 설명을 최소한으로 하고 예제를 따라 해보면서 빠르게 익힐 수 있도록 구성돼 있다. C#의 기본 문법부터 고급 기능, 닷넷 코어를 활용한 콘솔, 데이터베이스, 웹 프로그래밍까지의 과정을 비주얼 스튜디오 2017, 비주얼 스튜디오 코드를 모두 사용해가면서 배운다.
닷넷 코어와 C#을 처음 접하는 개발자를 비롯해, 닷넷 프레임워크에는 익숙하지만 닷넷 코어에 대해 더 알고 싶은 개발자들이 짧은 시간에 전체 구성을 이해하고 활용할 수 있게 도와 준다.

이 책에서 다루는 내용

█ C# 7과 닷넷 코어를 사용한 크로스 플랫폼 프로그램 개발
█ ASP.NET 코어와 전문적인 웹 프로그램 개발
█ 멀티태스크를 사용해 프로그램 성능을 향상시키는 방법
█ 엔티티 프레임워크 코어를 사용해 데이터베이스 다루기
█ C#과 OOP를 사용해 코드 재사용과 효율을 향상시키는 방법
█ 유니버설 윈도우 플랫폼과 XAML을 사용한 크로스 디바이스 앱 개발
█ LINQ를 사용한 데이터 쿼리
█ 암호화 및 해싱으로 데이터 보호

이 책의 대상 독자

비즈니스 응용 프로그램, 웹 사이트와 서비스부터 모바일 게임, Xbox One 및 윈도우 10 데스크톱과 태블릿에 이르기까지 거의 모든 영역을 개발하는 데 사용되는 인기 있고 대중적인 크로스 플랫폼 프로그래밍 언어가 C#이라고 들었다면 이 책은 당신을 위한 것이다. 또한 닷넷 코어가 클라우드 환경에서 서버 웹 개발과 자마린(Xamarin)을 사용한 클라이언트 모바일 개발에 최적화돼 있고, 비주얼 스튜디오 코드와 결합된 마이크로소프트의 크로스 플랫폼 지원 전략의 핵심이라고 들었다면 이 책은 바로 당신을 위한 것이다.

이 책의 구성

1장, ‘C# 그리고 닷넷 코어 만나기’에서는 C# 개발 환경 설정 방법을 배우고 여러 도구를 사용해 간단한 프로그램을 만들어본다. 윈도우에서 비주얼 스튜디오 2017 그리고 MacOS에서 비주얼 스튜디오 코드를 사용해 코드 작성 및 컴파일 방법을 배운다. 닷넷 코어(.NET Core), 닷넷 프레임워크(.NET Framework), 닷넷 표준(.NET Standard), 닷넷 네이티브(.NET Native) 간의 유사점과 차이점도 짚어본다.
2장, ‘C# 문법과 키워드’에서는 앞으로 C# 언어를 다루면서 항상 마주하게 될 문법과 키워드에 관해 알아본다. 특히, 다양한 타입의 변수를 선언하고 다루는 방법을 배운다.
3장, ‘제어문, 타입 변환, 예외 처리’에서는 코드의 분기와 코드 블록의 반복, 타입 간의 변환, 에러 처리를 다룬다. 그리고 프로그래밍 도중 문제에 부딪쳤을 때 도움을 얻는 방법도 알아본다.
4장, ‘닷넷 표준 타입’에서는 닷넷 표준의 부분으로서 닷넷 코어 타입을 알아보고 C#과 어떻게 연관돼 있는지 알아본다. 닷넷 표준 클래스 라이브러리와 NuGet 패키지를 사용해 텍스트를 다루고 컬렉션에 아이템을 저장하고 국제화를 구현하는 방법을 배운다.
5장, ‘디버깅, 모니터링, 테스트’에서는 디버깅 도구, 모니터링, 문제 진단 방법을 다루며 버그를 제거하고 코드의 성능, 안정성, 신뢰성을 높이기 위한 테스트 방법도 배운다.
6장, ‘OOP로 사용자 정의 타입 만들기’에서는 데이터를 저장하는 필드(field), 행동을 수행하는 함수(method)를 포함해 타입이 가질 수 있는 멤버의 모든 종류에 관해 배운다. 집합(aggregation)이나 캡슐화(encapsulation) 같은 OOP 개념을 사용해보고, 튜플(tuple) 구문이나 단순화된 out 변수 같은 C# 7의 특징에 대해서도 알아본다.
7장, ‘인터페이스 구현 및 클래스 상속하기’에서는 OOP를 사용해 이미 존재하는 타입으로부터 새로운 타입을 파생시키는 방법을 알아본다. 연산자를 정의하는 방법과 지역 함수(local functions), 델리게이트, 이벤트에 대해 배우며, 다형성(polymorphism), 오버라이드(override), 확장 메서드(extension method)와 상속 관계(inheritance hierarchy) 클래스들 사이의 변환에 관해 알아본다.
8장, ‘EF 코어로 데이터베이스 다루기’에서는 엔티티 프레임워크 코어라고 부르는 객체 관계 매핑 기술(ORM, Object-Relational Mapping)을 사용해 마이크로소프트 SQL 서버, SQLite 같은 데이터 베이스를 읽고 쓰는 방법을 다룬다.
9장, ‘LINQ로 데이터 다루기’에서는 LINQ(Language Integrated Query)를 다룬다. LINQ는 컬렉션의 아이템을 대상으로 필터링, 정렬 등의 작업을 처리하고 출력할 수 있게 하는 언어 확장 세트다.
10장, ‘파일, 스트림, 직렬화 사용하기’에서는 파일과 스트림을 읽고 쓰는 방법, 텍스트 인코딩, 직렬화에 관해 배운다.
11장, ‘데이터 보호하기’에서는 암호화를 사용해 악의를 가진 사용자로부터 데이터를 보호하는 방법과 해싱(hashing), 서명(signing)을 이용해 데이터가 조작되고 손상되지 않도록 하는 방법을 배운다.
12장, ‘멀티태스킹으로 성능과 확장성 높이기’에서는 성능, 확장성 및 유저 생산성을 높이기 위해 동시에 여러 작업을 처리하는 방법을 다룬다.
13장, ‘XAML로 유니버설 윈도우 플랫폼 앱 만들기’에서는 유저 인터페이스를 정의할 때 사용하는 XAML의 기본과 유니버설 윈도우 플랫폼 앱에 관해 알아본다. 유니버설 윈도우 앱은 윈도우 10, 윈도우 10 모바일, Xbox One 그리고 홀로렌즈(HoloLens)에서 동작한다.
14장, ‘ASP.NET 코어 MVC로 웹 프로그램 만들기’에서는 마이크로소프트 ASP.NET 코어 MVC를 사용해 현대적인 HTTP 아키텍처로 웹 프로그램을 만들어본다. 시작 구성, 인증, 라우트, 모델, 뷰, 컨트롤러 등 ASP.NET 코어 MVC를 구성하는 요소들을 배운다.
15장, ‘Xamarin.Forms와 ASP.NET 코어 웹 API로 모바일 앱 만들기’에서는 ASP.NET 코어로 만든 REST API를 호출하는 iOS와 안드로이드 크로스 플랫폼 모바일 앱을 개발하면서 C# 모바일 개발의 기본을 배운다. 클라이언트 모바일 앱은 Mac용 비주얼 스튜디오를 사용하며 서버 REST API는 비주얼 스튜디오 코드를 사용해 개발한다. 양쪽 모두 MacOS에서 실행한다.
16장, ‘크로스 플랫폼을 지원하는 패키징과 배포 방법’에서는 프로그램을 크로스 플랫폼 환경에 맞게 패키징하고 애저 클라우드 서비스에 코드를 배포하는 방법을 배운다.
부록 A, ‘연습 문제 해답’에는 각 장 끝의 연습 문제에 관한 답안이 실려 있다

저자/역자 소개

지은이의 말

시중에는 C# 언어와 닷넷 프레임워크에 대해 광범위한 설명을 담은 수천 페이지의 책들이 나와 있다.
이 책은 다르다. 간결하고 실습을 따라 하면서 빠르게 읽어볼 수 있도록 구성했다. 이 책은 닷넷 코어를 이용해 현대적인 크로스 플랫폼을 지원하는 C#의 실제 사례에 대한 최고의 단계별 안내서다.
C#의 멋진 기능과 특징들이 이 책에 소개돼 있다. 책을 모두 읽으면 동료나 상급자에게 깊은 인상을 심어주고, 생산성도 끌어 올릴 수 있는 지식을 얻게 될 것이다. 일부 낯선 용어는 충분히 웹 검색을 활용할 수 있을 것으로 보고, 사소한 부분까지 설명해서 읽는 속도를 늦추고 지루함을 주지 않도록 했다.
각 장의 끝에는 연습 및 탐구 코너가 있다. 여기서는 실습을 직접 수행하고 심도 있는 지침을 통해 주제를 좀 더 자세히 알아본다.

지은이 소개

마크 프라이스(Mark J. Price)

마이크로소프트 공인 강사(MCT)며 Programming in C#, Architecting Microsoft Azure Solutions 분야의 마이크로소프트 스페셜리스트(Specialist)다. 20년 이상의 프로그래밍 경력과 교육 경험을 갖고 있다. 1993년부터 80개 이상의 마이크로소프트 프로그래밍 자격 시험을 통과했으며, 시험을 준비하는 다른 사람들도 가르치고 있다. 그에게 배운 학생들은 16살의 프로그래머 희망자부터 수십 년의 경험을 지닌 전문가에 이르기까지 다양하다. 전 세계 기업을 대상으로 한 컨설팅, 시스템 개발 등 실제 경험과 교육 기술을 조합해 학생들에게 많은 도움을 주고 있다.
2001년부터 2003년까지 미국 레드몬드(Redmond)의 마이크로소프트에서 공식 코스웨어(courseware) 개발을 담당했다. 그의 팀은 초기 알파 버전이었던 C#의 첫 번째 교육 코스를 만들었다. 또한 C# 및 닷넷 분야의 다른 공인 강사들을 훈련시키면서 그들의 수준을 빠른 속도로 끌어올렸다. 현재는 디지털 마케팅과 전자 상거래 분야에서 최고의 닷넷 CMS인 episerver.com의 Digital Experience 클라우드 교육 과정을 만들어 제공하고 있다.
2010년에는 교사 자격을 취득했으며, 런던의 중등 학교에서 GCSE1와 A 레벨 수학을 가르치기도 했다. 영국 브리스틀 대학에서 컴퓨터 과학 학위를 받았다.

옮긴이의 말

수년 전부터 마이크로소프트의 개방 정책은 ‘정말 우리가 알던 그들인가?’ 싶을 정도로 놀라움 이상이었다. 크로스 플랫폼을 지원하는 닷넷 코어 발표, C# 컴파일러 로슬린(Roslyn)의 오픈 소스화, ASP.NET 코어용 웹 서버 Kestrel의 오픈 소스화, Mac용 비주얼 스튜디오와 크로스 플랫폼 편집기 비주얼 스튜디오 코드 배포에 이르기까지 오픈 소스의 장점을 적극 활용하고 모든 플랫폼에서 C#의 점유율을 높이려는 폭넓은 행보가 이어지고 있다.
이런 움직임의 핵심에 닷넷 코어가 있다. 닷넷 코어 1.0과 1.1은 빈약한 API 지원이 약점이었지만, 2017년 8월에 닷넷 코어 2.0이 발표되면서 2만 개 이상의 API가 새로 추가됐다. 이제, 사용 가능한 API 개수는 닷넷 코어 1.1에 비해 두 배 이상 증가했다. 닷넷 시장을 확대하고 진정한 크로스 플랫폼 언어로서 C#이 재평가 받는 날도 그리 멀지 않아 보인다.
이 책은 C# 7의 새로운 기능과 더불어 닷넷 코어의 전반적인 내용을 다룬다. C#의 기본 문법부터 고급 기능, 데이터베이스, 웹 프로그래밍의 과정을 비주얼 스튜디오 2017, 비주얼 스튜디오 코드를 번갈아 사용하면서 배운다. C#을 다뤄보지 않은 사람도 예제를 통해 무난히 따라갈 수 있는 수준이며, 몇 개의 예제를 제외하고는 macOS나 윈도우 어느 쪽에서도 실행할 수 있도록 구성됐다.
책의 후반부에서는 macOS에서 ASP.NET 코어를 사용해 Rest API 서비스를 만들고, Mac용 비주얼 스튜디오로 REST API를 호출하는 모바일 앱도 만들어본다. 닷넷 코어의 크로스 플랫폼 지원이 어디까지 와 있는지 살펴보고 윈도우가 아닌 플랫폼에서 닷넷의 풍부한 라이브러리를 쓰다 보면 색다른 흥미를 느낄 수 있을 것이다.
정해진 분량 내에서 많은 내용을 다루다 보니 각 장의 내용이 그리 깊이가 있지는 않다. 책을 번역하면서 약간의 아쉬움을 느꼈지만, 이런 아쉬움은 여러 플랫폼과 개발 도구의 사용, 콘솔 프로그램부터 데이터베이스, 웹, 모바일, 클라우드 서비스까지 다루는 다양함과 재미로 충분히 상쇄된다. 번역하면서 가장 신경 쓴 부분은 적절한 용어 선택이었다. 가급적 현업에서 사용하는 말을 그대로 쓰려고 했으며, 아직 대표적인 한글 용어가 없는 경우는 마이크로소프트 한국어 사이트를 참고했다.
여러 번 검토했지만 오타나 오역 등 잘못된 점이 발견되면 corecode.pe.kr의 도서 페이지에 남겨주시거나 nnhope@hotmail로 보내주시면 확인하고 정오표에 반영토록 하겠다. 이해가 안 되거나 궁금한 점도 메일로 보내주시면 가능한 빠른 시간 내에 답변드릴 수 있을 것이다.

옮긴이 소개

김현욱

블루버드 소프트, 엔씨소프트 등을 거쳐 스마일게이트에서 플랫폼 개발 업무를 하고 있다.
C++/C#만 흠모하다가 얼랭(erlang)을 배우면서 큰 충격을 받고, 지금은 다양한 언어를 통해 더 매력적인 해결 방법을 찾으려고 한다. 나태해지지 않기 위해 libsourcey를 비롯한 오픈소스 기여와 스택오버플로 활동도 꾸준히 하고 있다. '하고 싶은 일'을 '하고 싶을 때' 할 수 있는 날을 갈망하며 출근한다.

목차

목차
  • 1장. C# 그리고 닷넷 코어 만나기
    • 개발 환경 선택
      • 그 밖의 C# IDE
      • 크로스 플랫폼 배포
    • 윈도우에 비주얼 스튜디오 2017 설치
      • 워크로드 선택
      • 개별 구성 요소 선택
      • 비주얼 스튜디오 2017에 로그인
      • 환경 선택
      • 비주얼 스튜디오 유저 인터페이스
      • 윈도우에 닷넷 코어 2.0 설치
    • 윈도우, macOS, 리눅스에 비주얼 스튜디오 코드 설치
      • macOS에 비주얼 스튜디오 코드 설치
      • macOS에 닷넷 코어 2.0 설치비주얼 스튜디오 코드 C# 확장 설치
    • 닷넷 이해하기
      • 닷넷 프레임워크 이해하기
      • 모노, Xamarin 프로젝트 이해하기
      • 닷넷 코어 이해하기
      • 닷넷 표준 이해하기
      • 닷넷 네이티브 이해하기
      • 닷넷 기술 비교
    • 닷넷 코어 CLI로 코드 작성 및 컴파일하기
      • 텍스트 에디터로 코드 작성하기
      • 닷넷 코어 CLI로 코드 컴파일하기
      • 컴파일 에러 수정
      • IL 코드 이해하기
    • 비주얼 스튜디오 2017로 코드 작성 및 컴파일하기
      • 비주얼 스튜디오 2017로 코드 작성하기
      • 비주얼 스튜디오 2017로 컴파일하기
      • 오류 목록 활용하기
      • 비주얼 스튜디오 2017에 기존 프로젝트 추가
      • 자동 서식 기능
      • C# Intreractive
      • 다른 유용한 창
    • 비주얼 스튜디오 코드로 코드 작성 및 컴파일하기
      • 비주얼 스튜디오 코드로 코드 작성하기
      • 비주얼 스튜디오 코드로 컴파일하기
    • GitHub로 소스 코드 관리하기
      • 비주얼 스튜디오 2017에서 Git 사용하기
      • 팀 탐색기 사용하기
      • 비주얼 스튜디오 코드에서 깃 사용하기
    • 연습 및 탐구
      • 연습 1.1 - 복습
      • 연습 1.2 - 웹에서 코딩하기
      • 연습 1.3 - 탐구
    • 마무리

  • 2장. C# 문법과 키워드
    • C# 기초 이해하기
      • 비주얼 스튜디오 2017 사용하기
      • macOS, 리눅스, 윈도우에서 비주얼 스튜디오 코드 사용하기
      • C# 문법
      • C# 어휘
      • 코드 작성하기
      • 동사는 메서드
      • 명사는 타입, 필드, 변수
      • 타입과 메서드 개수 구하기
    • 변수 선언
      • 변수 이름 규칙
      • 리터럴 값
      • 텍스트 저장
      • 숫자 저장
      • 불린 타입
      • object 타입
      • dynamic 타입
      • 지역 변수
      • null 값 타입 만들기
      • 배열에 여러 값 저장하기
    • 콘솔 프로그램 만들기
      • 콘솔 출력
      • 콘솔 입력
      • 네임스페이스 선언
      • using static 사용하기
      • 명령행 인수 관리하기
    • 연산자
      • 단항 연산자
      • 산술 연산자
      • 비교 및 논리 연산자
    • 연습 및 탐구
      • 연습 2.1 - 복습
      • 연습 2.2 - 숫자 크기와 범위연습 2.3 - 탐구
    • 마무리

  • 3장. 제어문, 타입 변환, 예외 처리
    • 선택문
      • 비주얼 스튜디오 2017 실습
      • 비주얼 스튜디오 코드 실습
      • if문
      • switch문
    • 반복문
      • while문
      • do문
      • for문
      • foreach문
    • 타입 변환
      • 숫자 타입 간의 변환
      • System.Convert 클래스
      • 숫자 반올림
      • string 타입으로 변환하기
      • string을 int, DateTime 형식으로 변환하기
    • 예외 처리
      • try문
      • finally문
    • 오버플로 검사
      • checked문
      • unchecked문
    • 도움 얻기
      • 마이크로소프트 문서와 MSDN
      • 정의로 이동
      • 스택오버플로
      • 구글
      • 블로그 구독
      • 디자인 패턴
    • 연습 및 탐구
      • 연습 3.1 - 복습
      • 연습 3.2 - 루프와 오버플로 탐구
      • 연습 3.3 - 루프와 연산자 연습
      • 연습 3.4 - 예외 처리 연습
      • 연습 3.5 - 탐구
    • 마무리
  • 4장. 닷넷 표준 타입
    • 어셈블리와 네임스페이스 사용하기
      • 닷넷 프레임워크와 닷넷 코어 비교베이스 클래스 라이브러리와 CoreFX
      • 종속 어셈블리 참조
      • 비주얼 스튜디오 2017의 개체 브라우저
      • 닷넷 코어 프로젝트 파일 이해하기
      • 어셈블리와 네임스페이스 연결네임스페이스 선언
      • C# 키워드와 닷넷 타입 연결
    • 문자열 다루기
      • string 길이 구하기
      • string 안의 문자 얻기
      • string 나누기
      • string의 특정 부분 구하기
      • string의 내용 확인하기
      • 그 밖의 string 메서드
      • 효과적인 string 사용
      • 정규식과 패턴 매칭
      • 정규식 예제
    • 컬렉션에 데이터 저장하기
      • 컬렉션 이해하기
      • List 사용하기
      • Dictionary 사용하기
      • 컬렉션 정렬하기
      • 특별한 컬렉션 사용하기
    • 프로그램 국제화
      • 프로그램 세계화
    • 연습 및 탐구
      • 연습 4.1 - 복습
      • 연습 4.2 - 정규 표현식 연습
      • 연습 4.3 - 탐구
    • 마무리

  • 5장. 디버깅, 모니터링, 테스트
    • 디버깅 도구
      • 프로그램 디버깅
      • 성능 및 리소스 사용량 측정
      • 타입 효율성 평가
    • 성능 및 메모리 사용량 측정
    • 단위 테스트
      • 단위 테스트에 필요한 클래스 라이브러리 만들기(비주얼 스튜디오 2017)
      • 비주얼 스튜디오 2017로 단위 테스트 프로젝트 만들기
      • 단위 테스트에 필요한 클래스 라이브러리 만들기(비주얼 스튜디오 코드)
      • 단위 테스트 작성
      • 단위 테스트 실행(비주얼 스튜디오 2017)
      • 단위 테스트 실행(비주얼 스튜디오 코드).
    • 연습 및 탐구
      • 연습 5.1 - 복습
      • 연습 5.2 - 디버깅 및 단위 테스트 연습
      • 연습 5.3 - 탐구
    • 마무리

  • 6장. OOP로 사용자 정의 타입 만들기
    • OOP 이해하기
    • 클래스 라이브러리 만들기
      • 비주얼 스튜디오 2017로 클래스 라이브러리 만들기
      • 비주얼 스튜디오 코드로 클래스 라이브러리 만들기
      • 클래스 정의하기
      • 클래스 인스턴스 만들기
      • 비주얼 스튜디오 코드에서 여러 개의 프로젝트 다루기
      • System.Object 상속하기
    • 필드에 데이터 저장하기
      • 필드 선언
      • enum 키워드로 값 저장하기
      • 컬렉션을 사용해 여러 개의 값 저장하기정적 필드
      • 상수 필드
      • 읽기 전용 필드
      • 생성자로 필드 초기화하기
    • 메서드 작성 및 사용하기
      • 튜플로 여러 개의 값 조합하기
      • 메서드 정의 및 매개변수 전달
      • 메서드 오버로딩
      • 선택적 매개변수와 이름 지정 매개변수
    • 매개변수 전달 제어하기
    • partial로 클래스 분리하기
    • 속성과 인덱서로 접근 제어하기
      • 읽기 전용 속성 정의하기
      • 설정 가능한 속성 정의하기
      • 인덱서 정의하기
    • 연습 및 탐구
      • 연습 6.1 - 복습
      • 연습 6.2 - 수학 메서드 만들기 연습
      • 연습 6.3 - 탐구
    • 마무리

  • 7장. 인터페이스 구현 및 클래스 상속하기
    • 클래스 라이브러리와 콘솔 프로그램 설정
      • 비주얼 스튜디오 2017 사용하기
      • 비주얼 스튜디오 코드 사용하기
      • 클래스 정의하기
    • 연산자를 사용해 메서드 단순화하기
      • 메서드로 기능 구현하기
      • 연산자로 기능 구현하기
    • 로컬 함수 정의하기
    • 이벤트 발생 및 제어하기
      • 델리게이트를 사용해 메서드 호출하기
      • 이벤트 정의하기
    • 인터페이스 구현하기
      • 공통 인터페이스
      • 정렬을 위한 객체 비교
      • 보조 타입을 통해 비교하기
    • 참조와 값 타입으로 메모리 관리하기
      • 구조체 정의하기
      • 관리되지 않은 리소스 해제하기
      • 확실하게 dispose 호출 하기
    • 클래스 상속
      • 클래스 확장
      • 멤버 숨기기
      • 멤버 오버라이딩
      • 상속과 오버라이딩 막기
      • 다형성
    • 상속 관계 내에서 변환하기
      • 암시적 캐스팅
      • 명시적 캐스팅
      • 캐스팅 예외 다루기
    • 닷넷 타입을 상속하고 확장하기
      • 예외 상속하기
      • 상속할 수 없을 때 타입 확장하기
    • 연습 및 탐구
      • 연습 7.1 - 복습
      • 연습 7.2 - 상속 관계 만들기
      • 연습 7.3 - 탐구
    • 마무리

  • 8장. EF 코어로 데이터베이스 다루기
    • 관계 데이터베이스 관리 시스템
      • 샘플 데이터베이스 사용하기
    • 윈도우에서 마이크로소프트 SQL 서버 다루기
      • LocalDB에 연결하기
      • Northwind 샘플 데이터베이스 생성하기
      • Northwind 샘플 데이터베이스 다루기
    • macOS와 모바일 플랫폼에서 SQLite 다루기
      • SQLite 스크립트 실행하기
      • 닷넷 데이터 공급자 선택하기
    • 데이터베이스 연결하기
    • EF 코어 설정하기
      • 비주얼 스튜디오 2017 사용하기
      • 비주얼 스튜디오 코드 사용하기
      • EF 코어 모델
      • EF 코어 모델 빌드하기
    • EF 코어 모델 쿼리하기
      • EF 코어 로깅
      • EF 코어 로딩 패턴
    • EF 코어로 데이터 제어하기
      • 엔티티 삽입
      • 엔티티 업데이트
      • 엔티티 삭제
      • 트랜잭션
      • 명시적 트랜잭션 선언하기
    • 연습 및 탐구
      • 연습 8.1 - 복습
      • 연습 8.2 - EF 코어 문서 탐구
    • 마무리

  • 9장. LINQ로 데이터 다루기
    • LINQ 쿼리 작성하기
      • enumerable 클래스로 시퀀스 확장하기
      • Where로 필터링 확장하기
      • OrderBy로 개체 정렬
    • 셋으로 작업하기
    • Select로 엔티티 투영하기
      • EF 코어 모델 만들기
      • join과 group
    • 간편 표기법으로 쿼리 단순화하기.
    • 병렬 LINQ로 멀티 스레드 사용하기
    • 사용자 정의 LINQ 확장 메서드 만들기
    • LINQ to XML 사용하기
      • LINQ to XML을 사용해 XML 생성하기
      • LINQ to XML을 사용해 XML 읽기
    • 연습 및 탐구
      • 연습 9.1 - 복습
      • 연습 9.2 - LINQ 쿼리 연습
      • 연습 9.3 - 탐구
    • 마무리

  • 10장. 파일, 스트림, 직렬화 사용하기
    • 파일 시스템 다루기
      • 디렉터리 다루기
      • 파일 다루기
      • 경로 다루기
      • 파일의 정보 얻기
    • 스트림으로 읽고 쓰기
      • 텍스트 및 XML 스트림에 쓰기스트림 압축하기
      • 텍스트 인코딩
      • 바이트 배열로 string 인코딩
      • 파일의 텍스트 인코딩, 디코딩
    • 객체 그래프 직렬화하기
      • XML 직렬화
      • XML 역직렬화
      • XML 수정하기
      • JSON 직렬화
      • 다른 형식으로 직렬화하기
    • 연습 및 탐구
      • 연습 10.1 - 복습
      • 연습 10.2 - XML 직렬화 연습
      • 연습 10.3 - 직렬화 형식 연습
      • 연습 10.4 - 탐구
    • 마무리

  • 11장. 데이터 보호하기
    • 보안 용어 이해하기
      • 키와 크기
      • IV와 블록 크기
      • Salt
      • 키와 IV 생성하기
    • 데이터 암호화, 복호화
      • AES로 대칭키 암호화
    • 데이터 해싱
      • SHA256으로 해싱하기
    • 데이터 서명
      • SHA256과 RSA로 서명하기
    • 연습 및 탐구
      • 연습 11.1 - 복습
      • 연습 11.2 - 암호화와 해싱 연습
      • 연습 11.3 - 복호화 연습
      • 연습 11.4 - 탐구
    • 마무리

  • 12장. 멀티태스킹으로 성능과 확장성 높이기
    • 프로세스, 스레드, 태스크 이해하기
    • 비동기로 태스크 다루기
      • 동기 작업 처리하기
      • Task로 비동기 작업 처리하기
      • 태스크 대기하기
      • ContinueWith 사용하기
      • 중첩된 태스크와 자식 태스크
    • 공유 리소스에 동기적으로 접근하기
      • 멀티 스레드에서 리소스 접근하기
      • 리소스에 상호 배제 잠금 적용하기
      • 잠금 구문 이해하기
      • 단일 오퍼레이션 만들기
      • 다른 동기화 타입 적용하기
    • GUI에서 멀티태스킹 구현하기
      • 블록되는 GUI 만들기
      • 블록되지 않는 GUI 만들기
      • 다른 타입들의 Async 메서드
    • 연습 및 탐구
      • 연습 12.1 - 복습
      • 연습 12.2 - 탐구
    • 마무리

  • 13장. XAML로 유니버설 윈도우 플랫폼 앱 만들기
    • 유니버설 윈도우 플랫폼 이해하기
      • 앱 레이아웃 수정하기
      • 고유한 장치 기능 활용하기
    • XAML 이해하기
      • XAML로 코드 단순화하기
      • 공용 컨트롤 선택하기
    • 유니버설 윈도우 플랫폼 앱 만들기
    • 리소스와 템플릿 사용하기
      • 리소스 공유하기
      • 컨트롤 템플릿 대체하기
    • 데이터 연결
      • 엘리먼트에 연결하기
      • 데이터에 연결하기
    • 스토리보드로 애니메이션 만들기
    • 에뮬레이터로 테스트하기
    • 연습 및 탐구
      • 연습 13.1 - 복습
      • 연습 13.2 - 유니버설 팁 계산기 만들기
      • 연습 13.3 - 탐구
    • 마무리

  • 14장. ASP.NET 코어 MVC로 웹 프로그램 만들기
    • ASP.NET 코어 이해하기
      • 클래식 ASP.NET과 현대적인 ASP.NET 코어
      • 클라이언트 웹 개발
      • HTTP 이해하기
      • 비주얼 스튜디오 2017로 ASP.NET 코어 프로젝트 만들기
      • 비주얼 스튜디오 코드로 ASP.NET 코어 프로젝트 만들기
    • ASP.NET 코어 MVC 웹 프로그램 살펴보기
      • ASP.NET 코어 시작
      • 기본 라우트 이해하기
    • ASP.NET 코어 MVC 컨트롤러
    • ASP.NET 코어 MVC 모델
      • Northwind 엔티티 모델 만들기EF 코어를 서비스로 구성하기
      • 요청을 처리하기 위한 뷰-모델
      • 컨트롤러에서 모델 가져오기
    • ASP.NET 코어 MVC 뷰
      • Home 컨트롤러 뷰 렌더링
      • 뷰 사이의 레이아웃 공유
      • 커스텀 스타일 정의
      • 뷰 타입 정의
    • ASP.NET 코어 MVC 추가 사용
      • 라우트 값을 사용해서 매개변수 전달하기
      • 쿼리 스트링으로 매개변수 전달하기
      • 모델 주석 달기
    • 연습 및 탐구
      • 연습 14.1 - 복습
      • 연습 14.2 - 데이터 주도(data-driven) 웹 프로그램 만들기 연습
      • 연습 14.3 - 탐구
    • 마무리

  • 15장. Xamarin.Forms와 ASP.NET 코어 웹 API로 모바일 앱 만들기
    • Xamarin.Forms 이해하기
      • Xamarin을 확장한 Xamarin.Forms
      • 모바일 우선, 클라우드 우선
      • Xcode 설치하기
      • Mac용 비주얼 스튜디오 설치하기
    • ASP.NET 코어 Web API와 비주얼 스튜디오 코드로 서비스 만들기
      • ASP.NET 코어 웹 API 프로젝트 만들기
      • Northwind 데이터베이스 웹 서비스 만들기
    • Xamarin.Forms와 Mac용 비주얼 스튜디오로 모바일 앱 만들기
      • Xamarin.Forms 프로젝트 만들기
      • model 만들기
      • iOS와 안드로이드용 전화번호 입력 인터페이스 만들고 구현하기
      • 고객 목록과 세부 정보를 위한 뷰 만들기
      • iOS에서 모바일 앱 테스트하기
      • REST 서비스 호출을 위해 NuGet 패키지 추가하기
      • 서비스에서 customer 정보 얻기
    • 연습 및 탐구
      • 연습 15.1 - 복습
      • 연습 15.2 - 탐구
    • 마무리

  • 16장. 크로스 플랫폼을 지원하는 패키징과 배포 방법
    • 닷넷 코어로 포팅하기
      • 포팅 고려 요소
      • 포팅 필요 여부
      • 닷넷 프레임워크와 닷넷 코어의 다른 점
      • 닷넷 포팅 분석기 이해하기
    • 닷넷 표준 클래스 라이브러리로 코드 공유하기
      • 닷넷 표준 클래스 라이브러리 만들기
    • NuGet 패키지 이해하기
      • 패키지 참조
      • 메타 패키지 이해하기
      • 프레임워크 이해하기
      • 종속성 고정
      • 다른 닷넷 표준으로 스위칭
    • 프로그램 퍼블리싱
      • 배포용 콘솔 프로그램 만들기
      • 비주얼 스튜디오 2017로 배포하기
      • 비주얼 스튜디오 코드로 퍼블리싱하기
    • 클라우드에 배포하기
      • 배포용 ASP.NET 코어 MVC 웹 프로그램 만들기
      • Azure 계정 등록하기
      • Azure 웹앱 만들기
      • ASP.NET 웹 프로그램을 웹앱에 배포하기
    • 리눅스 개발 환경
    • 연습 및 탐구
      • 연습 16.1 - 복습
      • 연습 16.2 - 탐구
    • 마무리

  • 부록. 연습 문제 해답
    • 1장 - C# 그리고 닷넷 코어 만나기
    • 2장 - C# 문법과 키워드
    • 3장 - 제어문, 타입 변환, 예외 처리
    • 4장 - 닷넷 표준 타입
    • 5장 - 디버깅, 모니터링, 테스트
    • 6장 - OOP로 사용자 정의 타입 만들기
    • 7장 - 인터페이스 구현 및 클래스 상속하기
    • 8장 - EF 코어로 데이터베이스 다루기
    • 9장 - LINQ로 데이터 다루기
    • 10장 - 파일, 스트림, 직렬화 사용하기
    • 11장 - 데이터 보호하기
    • 12장 - 멀티태스킹으로 성능과 확장성 높이기
    • 13장 - XAML로 유니버설 윈도우 플랫폼 앱 만들기
    • 14장 - ASP.NET 코어 MVC로 웹 프로그램 만들기
    • 15장 - Xamarin.Forms와 ASP.NET 코어 웹 API로 모바일 앱 만들기
    • 16장 - 크로스 플랫폼을 지원하는 패키징과 배포 방법

도서 오류 신고

도서 오류 신고

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

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

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

정오표

정오표

[p.154 : 8행]
case MemoryStreamms:
->
case MemoryStream ms: