본문 바로가기

추천 검색어

실시간 인기 검색어

크로스 플랫폼 개발을 위한 C# 10과 .NET 6

비주얼 스튜디오 2022, 비주얼 스튜디오 코드로 만드는 | 6 판
마크 프라이스 저자(글) · 김현욱 번역
에이콘출판 · 2023년 07월 20일
가장 최근에 출시된 개정판입니다. 구판보기
10.0
10점 중 10점
(9개의 리뷰)
도움돼요 (67%의 구매자)
  • 크로스 플랫폼 개발을 위한 C# 10과 .NET 6 대표 이미지
    크로스 플랫폼 개발을 위한 C# 10과 .NET 6 대표 이미지
  • A4
    사이즈 비교
    210x297
    크로스 플랫폼 개발을 위한 C# 10과 .NET 6 사이즈 비교 188x235
    단위 : mm
01 / 02
무료배송 소득공제
10% 54,000 60,000
적립/혜택
3,000P

기본적립

5% 적립 3,000P

추가적립

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 3,000P
  • 리뷰 작성 시, e교환권 추가 최대 300원
배송안내
무료배송
배송비 안내
국내도서/외국도서
도서 포함 15,000원 이상 구매 시 무료배송
도서+사은품 또는 도서+사은품+교보Only(교보굿즈)

15,000원 미만 시 2,500원 배송비 부과

교보Only(교보배송)
각각 구매하거나 함께 20,000원 이상 구매 시 무료배송

20,000원 미만 시 2,500원 배송비 부과

해외주문 서양도서/해외주문 일본도서(교보배송)
각각 구매하거나 함께 15,000원 이상 구매 시 무료배송

15,000원 미만 시 2,500원 배송비 부과

업체배송 상품(전집, GIFT, 음반/DVD 등)
해당 상품 상세페이지 "배송비" 참고 (업체 별/판매자 별 무료배송 기준 다름)
바로드림 오늘배송
업체에서 별도 배송하여 1Box당 배송비 2,500원 부과

1Box 기준 : 도서 10권

그 외 무료배송 기준
바로드림, eBook 상품을 주문한 경우, 플래티넘/골드/실버회원 무료배송쿠폰 이용하여 주문한 경우, 무료배송 등록 상품을 주문한 경우
주문정보를 불러오는 중입니다.
기본배송지 기준
배송일자 기준 안내
로그인 : 회원정보에 등록된 기본배송지
로그아웃 : '서울시 종로구 종로1' 주소 기준
로그인정확한 배송 안내를 받아보세요!

이달의 꽃과 함께 책을 받아보세요!

1권 구매 시 결제 단계에서 적용 가능합니다.

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

북카드

키워드 Pick

키워드 Pick 안내

관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

C# 10의 새로운 기능과 .NET 6의 전반적인 내용을 다룬다. 설명은 최소한으로 줄인 대신, 예제 코드를 직접 타이핑하면서 익힐 수 있도록 흥미롭게 구성됐다. C#의 기본 문법부터 고급 기능, .NET을 활용한 콘솔, 데이터베이스, 웹 프로그래밍까지의 과정을 비주얼 스튜디오 2022, 비주얼 스튜디오 코드를 사용해 배운다. .NET과 C#을 처음 접하는 개발자를 비롯해, 새로운 기능을 살펴보고 싶은 기존 개발자들이 짧은 시간에 전체 구성을 이해하고 활용할 수 있게 돕는다.

작가정보

저자(글) 마크 프라이스

(Mark J. Price)
C# 프로그래밍과 마이크로소프트 애저(Azure) 솔루션 분야의 전문가다. 20년 이상의 프로그래밍 경력을 가지고 있다.
1993년부터 80개 이상의 마이크로소프트 프로그래밍 자격 시험을 통과했으며, 시험을 준비하는 다른 사람들도 전문적으로 가르치고 있다. 또한 2001년부터 2003년까지 미국 레드몬드(Redmond)의 마이크로소프트에서 공식 코스웨어(courseware) 개발을 담당했다. 그의 팀은 초기 알파 버전이었던 C#의 첫 번째 교육 코스를 만들었고, C# 및 .NET 분야의 다른 공인 강사들을 훈련시키면서 그들의 수준을 빠른 속도로 끌어올렸다. 현재는 옵티마이즐리(Optimizely)의 디지털 경험 플랫폼(DXP)에 대한 교육 과정을 만들어 제공하고 있다. 컴퓨터 과학 학위가 있다.

번역 김현욱

몇몇 게임 회사를 거치며 게임 플랫폼을 개발 중이다. 새로운 것을 익히고 자신의 것으로 만들어 가는 과정을 좋아한다. 『모던 C++로 배우는 함수형 프로그래밍』(에이콘, 2018), 『실전 스케일링 파이썬 프로그래밍』(인사이트, 2018) 등을 번역했다.

작가의 말

시중에는 C# 언어, .NET 라이브러리, 웹사이트, 서비스, 데스크톱, 모바일 앱(app, application) 같은 앱 모델에 대해 광범위한 설명을 담은 수천 페이지의 책들이 있다.
이 책은 다르다. 간결하고 실용적인 실습을 따라하면서 빠르게 읽어볼 수 있도록 구성했다. 많은 주제를 다루기 때문에 깊이 있는 설명을 배제하는 경우도 있지만 필요하다면 더 상세한 내용을 찾아볼 수 있도록 했다.
이 책은 C#의 멋진 기능과 특징들을 소개하고 있다. 책을 다 읽고 나면 생산성을 높이고, 동료나 상급자에게 깊은 인상을 심어줄 수 있는 지식을 얻게 될 것이다. 일부 낯선 용어는 웹 검색을 활용해 찾아볼 수 있을 것으로 가정하고, 사소한 부분까지 설명하는 바람에 읽는 속도를 늦추고 지루해지지 않도록 했다

목차

  • 1장. C# 그리고 .NET 만나기
    __개발 환경 구성
    ____적합한 도구 및 애플리케이션 선택
    ______폴리글랏 노트북 확장의 장점과 단점
    ______크로스 플랫폼 개발에 비주얼 스튜디오 코드 사용하기
    ______클라우드 개발을 위한 깃허브 Codespaces
    ______맥용 비주얼 스튜디오 2022
    ______윈도우용 비주얼 스튜디오
    ______이 책에서 사용한 개발 환경
    ____크로스 플랫폼 배포
    ____윈도우용 비주얼 스튜디오 2022 설치하기
    ______윈도우용 비주얼 스튜디오 키보드 바로 가기 키
    ____비주얼 스튜디오 코드 설치하기
    ______다른 확장 설치
    ______비주얼 스튜디오 코드 버전 이해하기
    ______비주얼 스튜디오 코드 키보드 단축키
    __.NET 이해하기
    ____.NET 프레임워크 이해하기
    ____모노, 자마린, 유니티 프로젝트 이해하기
    ____.NET 코어 이해하기
    ____.NET 로드맵
    ____.NET 지원
    ______.NET 런타임과 .NET SDK 버전
    ______이전 버전 제거하기
    ____모던 .NET의 차이점
    ______윈도우 개발
    ______웹 개발
    ______데이터베이스 개발
    ____모던 .NET 테마
    ____.NET 표준 이해하기
    ____이 책에 사용된 .NET 플랫폼과 도구들
    ____IL 이해하기
    __비주얼 스튜디오 2022로 콘솔 앱 만들기
    ____비주얼 스튜디오 2022에서 여러 프로젝트 관리하기
    ____비주얼 스튜디오 2022에서 코드 작성
    ____비주얼 스튜디오에서 컴파일하고 실행하기
    ______컴파일러가 생성한 폴더와 파일
    ____최상위 문 작성
    ____비주얼 스튜디오 2022 솔루션에 두 번째 프로젝트 추가하기
    ______암시적으로 가져온 네임스페이스
    __비주얼 스튜디오 코드로 콘솔 앱 만들기
    ____비주얼 스튜디오 코드로 여러 개의 프로젝트 관리하기
    ____비주얼 스튜디오 코드로 코드 작성하기
    ____dotnet CLI를 사용해 코드 컴파일하고 실행하기
    ____비주얼 스튜디오 코드에 두 번째 프로젝트 추가하기
    ____비주얼 스튜디오 코드에서 여러 개의 파일 다루기
    __폴리글랏 노트북을 사용해 코드 탐색하기
    ____노트북 생성
    ____노트북에서 코드 작성 및 실행하기
    ____노트북 저장하기
    ____노트북에 마크다운 및 특수 명령 추가
    ____여러 개의 셀에서 코드 실행
    ____폴리글랏 노트북에서 이 책의 예제 코드 사용하기
    __프로젝트 폴더 및 파일 구성
    ____공통 폴더와 파일
    ____깃허브 솔루션 코드
    __이 책의 깃허브 저장소 활용 방법
    ____책에 대한 문제 제기
    ____책에 대한 피드백
    ____깃허브 저장소에서 솔루션 코드 다운로드
    ____비주얼 스튜디오 코드 및 명령줄에서 깃 사용
    ______솔루션 코드 저장소 복제
    __도움말 찾기
    ____마이크로소프트 문서 읽기
    ____dotnet 도구에 대한 도움 얻기
    ____형식 정의와 멤버 정보 얻기
    ____스택 오버플로 사용하기
    ____구글 사용하기
    ____공식 .NET 블로그 구독하기
    ____스콧 한셀만 유투브 채널
    __연습 및 탐구
    ____연습 1.1 - 복습
    ____연습 1.2 - 웹에서 코딩하기
    ____연습 1.3 - 탐구
    __마무리
    ____코드 저장소
    ____Discord 채널 참여


    2장. C# 문법과 키워드
    __C# 소개
    ____언어 버전과 기능 이해하기
    ______C# 1.0
    ______C# 2.0
    ______C# 3.0
    ______C# 4.0
    ______C# 5.0
    ______C# 6.0
    ______C# 7.0
    ______C# 7.1
    ______C# 7.2
    ______C# 7.3
    ______C# 8
    ______C# 9
    ______C# 10
    ____C# 표준 이해하기
    ____C# 컴파일러 버전 확인하기
    ______SDK 버전 출력하기
    ______특정 언어 버전 컴파일러 활성화하기
    __C# 문법과 어휘 이해하기
    ____컴파일러 버전 표시하기
    ____C# 문법 이해하기
    ____구문
    ____주석
    ____블록
    ____구문과 블록의 예
    ____C# 어휘 이해하기
    ____프로그래밍 언어와 인간의 언어 비교
    ____C# 구문에 대한 색 구성표 변경
    ______정확한 코드 작성을 위한 도구
    ____네임스페이스 가져오기
    ______암시적 및 전역적으로 네임스페이스 가져오기
    ____동사는 메서드
    ____명사는 형식, 필드, 변수, 속성
    ____형식과 메서드 개수 구하기
    __변수 다루기
    ____변수 이름 규칙
    ____리터럴 값
    ____텍스트 저장
    ______축약 문자열 이해하기
    ____숫자 저장
    ______양의 정수 저장
    ______향상된 숫자 지원
    ______양의 정수 살펴보기
    ____실수 저장
    ______숫자 형식 범위 살펴보기
    ______double과 decimal 비교
    ____불린 형식
    ____object 형식
    ____dynamic 형식
    ____지역 변수
    ______지역 변수의 형식 지정
    ______지역 변수의 형식 추론
    ______대상으로 형식화된 new
    ____형식 기본값 가져오기 및 설정
    ____배열에 여러 값 저장하기
    __콘솔 애플리케이션 알아보기
    ____콘솔 출력
    ______번호가 지정된 위치 인수로 형식화하기
    ______문자열 보간
    ______문자열 형식화
    ____콘솔 입력
    ____콘솔 사용 단순화
    ____사용자에게 키 입력받기
    ____콘솔 앱에 인수 전달
    ____인수로 옵션 설정
    ____플랫폼에서 지원하지 않는 API 처리
    __연습 및 탐구
    ____연습 2.1 - 복습
    ____연습 2.2
    ____연습 2.3 - 숫자 크기와 범위
    ____연습 2.4 - 탐구
    __마무리


    3장. 흐름 제어 및 형식 변환
    __변수에 대한 작업
    ____단항 연산자
    ____이항 산술 연산자
    ____대입 연산자
    ____논리 연산자
    ____조건부 논리 연산자
    ____비트 및 이항 시프트 연산자
    ____그 외 연산자
    __선택문 이해하기
    ____if 문으로 분기
    ______if 문에 항상 중괄호를 사용해야 하는 이유
    ____if 문과 패턴 매칭
    ____switch 문으로 분기하기
    ____switch 문과 패턴 매칭
    ____swith 표현식으로 switch 문 단순화하기
    __반복문 이해하기
    ____while 문 루프
    ____do 문 루프
    ____for 문 루프
    ____foreach 문 루프
    ______foreach의 동작 방식 이해하기
    __형식 변환
    ____숫자의 암시적, 명시적 변환
    ____System.Convert로 형식 변환
    ____숫자 반올림
    ______기본 반올림 규칙 이해하기
    ____반올림 규칙 제어
    ____모든 형식을 string으로 변환
    ____바이너리 객체를 string으로 변환
    ____string을 숫자, 날짜, 시간으로 파싱하기
    ______Parse 사용 시 주의할 점
    ______TryParse 메서드로 예외 피하기
    __예외 다루기
    ____try 블록으로 예외가 발생할 수 있는 코드 감싸기
    ______모든 예외 잡기
    ______특정 예외 잡기
    ______필터 사용
    __오버플로 검사
    ____checked 문을 사용해서 오버플로 예외 던지기
    ____unchecked 문으로 컴파일러의 오버플로 검사 비활성하기
    __연습 및 탐구
    ____연습 3.1 - 복습
    ____연습 3.2 - 루프와 오버플로 탐구
    ____연습 3.3 - 루프와 연산자 연습
    ____연습 3.4 - 예외 처리 연습
    ____연습 3.5 - 연산자 복습
    ____연습 3.6 - 탐구
    __마무리


    4장. 함수 작성, 디버깅, 테스트
    __함수 만들기
    ____구구단 함수 만들기
    ____값을 반환하는 함수 만들기
    ____기수에서 서수로 숫자 변환하기
    ____재귀로 팩토리얼 계산하기
    ______XML 주석으로 함수 문서화하기
    ______함수 구현에 람다 사용하기
    __디버깅
    ____고의적인 버그 만들기
    ____중단점 설정 및 디버깅 시작
    ______비주얼 스튜디오 2022 사용하기
    ______비주얼 스튜디오 코드 사용하기
    ____디버깅 도구 모음
    ____디버깅 윈도우
    ____단계별 코드 실행
    ____중단점 커스터마이징
    __개발 및 런타임 로깅
    ____로깅 옵션
    ____디버그와 추적을 통한 계측
    ______기본 추적 수신기 사용하기
    ____추적 수신기 구성하기
    ____추적 레벨 스위치
    ______비주얼 스튜디오 코드 프로젝트에 패키지 추가
    ______비주얼 스튜디오 2022 프로젝트에 패키지 추가
    ______프로젝트 패키지 살펴보기
    __단위 테스트
    ____테스트 형식
    ____테스트에 필요한 클래스 라이브러리 만들기
    ____단위 테스트 만들기
    ______비주얼 스튜디오 코드에서 단위 테스트 실행
    ______비주얼 스튜디오 2022에서 단위 테스트 실행
    ______버그 수정
    __함수에서 예외 처리
    ____사용 오류 및 실행 오류
    ____함수에서 일반적으로 발생하는 예외
    ____호출 스택
    ____예외를 처리하는 위치
    ____예외 다시 던지기
    ____테스터-도어 패턴
    ____테스터-도어 패턴의 문제
    __연습 및 탐구
    ____연습 4.1 - 복습
    ____연습 4.2 - 디버깅 및 단위 테스트로 함수 작성 연습하기
    ____연습 4.3 - 탐구
    __마무리
    ____코드 저장소
    ____Discord 채널 참여


    5장. OOP로 사용자 정의 형식 만들기
    __OOP에 관해서
    __클래스 라이브러리 만들기
    ____클래스 라이브러리 생성
    ____네임스페이스에 클래스 정의하기
    ______네임스페이스 선언 간소화
    ____멤버 이해하기
    ____클래스 인스턴스화
    ______어셈블리 참조
    ____형식 사용을 위해 네임스페이스 가져오기
    ____객체 이해하기
    ______System.Object 상속하기
    __필드에 데이터 저장하기
    ____필드 선언
    ____접근 지시자 이해하기
    ____필드 값 설정하고 출력하기
    ____enum 형식으로 값 저장하기
    ______enum 형식으로 여러 값 저장하기
    __컬렉션을 사용해 여러 개의 값 저장하기
    ____제네릭 컬렉션
    ____정적 필드 만들기
    ____상수 필드
    ____읽기 전용 필드 만들기
    ____생성자로 필드 초기화하기
    ______여러 개의 생성자 정의
    __메서드 작성 및 호출하기
    ____메서드에서 값 반환하기
    ____튜플로 여러 개의 반환 값 조합하기
    ______튜플 구문 지원
    ______튜플 필드에 고유 이름 지정하기
    ______튜플 이름 추론
    ______튜플 분해하기
    ______형식 분해하기
    ____메서드에 매개 변수 정의하고 전달하기
    ____메서드 오버로딩
    ____선택적 매개 변수와 이름 지정 매개 변수 전달하기
    ______이름 지정 매개 변수
    ____매개 변수 전달 제어하기
    ______out 변수 단순화
    ____ref 반환 값 이해하기
    ____partial로 클래스 분리하기
    __속성과 인덱서로 접근 제어하기
    ____읽기 전용 속성 정의하기
    ____설정 가능한 속성 정의하기
    ____초기화 시에 필수 속성 설정
    ____인덱서 정의하기
    __객체 패턴 매칭
    ____.NET 6 클래스 라이브러리 생성하고 참조하기
    ____패턴 매칭 이해하기
    ____C# 9 이상에서 향상된 패턴 매칭
    __레코드 사용하기
    ____초깃값 전용 속성
    ____레코드 이해하기
    ____레코드의 위치 데이터 멤버
    ______레코드에서 데이터 멤버 단순화
    __연습 및 탐구
    ____연습 5.1 - 복습
    ____연습 5.2 - 탐구
    __마무리


    6장. 인터페이스 구현 및 클래스 상속하기
    __클래스 라이브러리와 콘솔 애플리케이션 설정
    __메서드 더 알아보기
    ____메서드를 사용해 기능 구현하기
    ____연산자로 기능 구현하기
    ____로컬 함수 정의하기
    __이벤트 발생 및 처리하기
    ____델리게이트를 사용해서 메서드 호출하기
    ____델리게이트 정의하고 처리하기
    ____이벤트 정의하고 처리하기
    __제네릭으로 안전한 형식 사용하기
    ____제네릭을 사용하지 않은 형식으로 작업하기
    ____제네릭 형식 사용하기
    __인터페이스 구현하기
    ____공통 인터페이스
    ____정렬을 위한 객체 비교
    ____분리된 클래스를 사용해서 객체 비교하기
    ____암시적, 명시적 인터페이스 구현
    ____기본 구현으로 인터페이스 정의하기
    __참조와 값 형식으로 메모리 관리하기
    ____참조 형식과 값 형식
    ____참조와 값 형식이 메모리에 저장되는 방식
    ____형식의 동등성
    ____구조체 정의하기
    ____record struct 형식 사용하기
    ____관리되지 않은 리소스 해제하기
    ____확실하게 dispose 호출하기
    __null 값 사용하기
    ____null 허용 값 형식 만들기
    ____null이 가능한 참조 형식
    ____null 허용 및 null 비 허용 참조 형식 활성화
    ____null 비허용 변수 및 매개 변수 선언
    ____null 확인
    ______메서드 매개 변수에서 null 확인
    __클래스 상속
    ____함수를 추가해 클래스 확장
    ____멤버 숨기기
    ____멤버 오버라이딩
    ____추상 클래스에서 상속
    ____상속과 오버라이딩 막기
    ____다형성
    __상속 관계 내에서 변환하기
    ____암시적 캐스팅
    ____명시적 캐스팅
    ____캐스팅 예외 다루기
    __.NET 형식을 상속하고 확장하기
    ____예외 상속하기
    ____상속할 수 없을 때 형식 확장
    ______기능 재사용을 위해 static 메서드 사용하기
    ______기능 재사용을 위해 확장 메서드 사용하기
    __분석기를 사용해 더 나은 코드 만들기
    ____경고 비활성화
    ____코드 수정
    ____StyleCop 권장 사항
    __연습 및 탐구
    ____연습 6.1 - 복습
    ____연습 6.2 - 상속 관계 만들기
    ____연습 6.3 - 탐구
    __마무리


    7장. .NET 형식을 패키징하고 배포하기
    __.NET 6로 가는 길
    ____.NET 코어 1.0
    ____.NET 코어 1.1
    ____.NET 코어 2.0
    ____.NET 코어 2.1
    ____.NET 코어 2.2
    ____.NET 코어 3.0
    ____.NET 코어 3.1
    ____.NET 5.0
    ____.NET 6.0
    ____.NET 코어 2.0부터 .NET 5.0까지의 성능 개선
    ____.NET SDK 업데이트 확인
    __.NET 컴포넌트 이해하기
    ____어셈블리, NuGet 패키지, 네임스페이스 이해하기
    ______네임스페이스란?
    ______종속 어셈블리 이해하기
    ____마이크로소프트 .NET 프로젝트 SDK 이해하기
    ____어셈블리의 네임스페이스 및 형식 이해하기
    ____NuGet 패키지 이해하기
    ____프레임워크 이해하기
    ____형식 사용을 위해 네임 스페이스 가져오기
    ____C# 키워드와 .NET 형식 연관성
    ______C# 키워드와 .NET 형식 연결
    ______기본 크기 정수
    ______형식 위치 찾기
    ____.NET 표준을 사용해 레거시 플랫폼과 코드 공유하기
    ____서로 다른 SDK를 사용하는 클래스 라이브러리의 기본값 이해하기
    ____.NET 표준 2.0 클래스 라이브러리 생성하기
    ____.NET SDK 제어하기
    __배포용 코드 게시하기
    ____배포할 콘솔 애플리케이션 만들기
    ____.NET 명령 이해하기
    ______새 프로젝트 만들기
    ____.NET 및 환경 정보 얻기
    ____프로젝트 관리
    ____독립형 애플리케이션 게시하기
    ____단일 파일 앱 게시하기
    ____앱 다듬기를 사용해 크기 줄이기
    ______어셈블리 레벨 다듬기 활성화
    ______형식 레벨과 멤버 레벨 다듬기 활성화
    __.NET 어셈블리 디컴파일
    ____비주얼 스튜디오 2022 ILSpy 확장을 사용한 디컴파일
    ______디컴파일링 방지
    __NuGet 배포를 위한 라이브러리 패키징
    ____NuGet 패키지 참조
    ______의존성 고정
    ____NuGet용 라이브러리 패키징
    ______공개 NuGet 피드에 패키지 게시하기
    ______비공개 NuGet 피드에 패키지 게시하기
    ____NuGet 패키지 탐색하기
    ____클래스 라이브러리 패키지 테스트
    __.NET 프레임워크에서 모던 .NET으로 이식하기
    ____이식 가능 여부
    ____이식 필요 여부
    ____.NET 프레임워크와 모던 .NET 간의 차이점
    ____.NET 이식성 분석기
    ____.NET 업그레이드 도우미
    ____.NET 표준이 아닌 라이브러리 사용
    __미리보기 기능
    ____미리보기 기능 특성
    ____미리보기 기능 활성화하기
    ____일반 수학
    __연습 및 탐구
    ____연습 7.1 - 복습
    ____연습 7.2 - 탐구
    ____연습 7.3 - 파워셸 살펴보기
    __마무리


    8장. 공용 .NET 형식 다루기
    __숫자 다루기
    ____BigInteger 다루기
    ____복소수 다루기
    ____쿼터니언 이해하기
    __텍스트 다루기
    ____문자열의 길이 구하기
    ____문자열 안의 문자 가져오기
    ____문자열 분할하기
    ____문자열의 일부 가져오기
    ____문자열 내용 확인
    ____Join, Format, 그 외의 다른 string 멤버
    ____효과적으로 문자열 빌드하기
    __날짜와 시간 다루기
    ____날짜 및 시간 값 지정하기
    ____날짜와 시간을 사용한 세계화
    ____날짜 또는 시간 중 하나만 사용하기
    __정규 표현식을 사용한 패턴 매칭
    ____텍스트로 입력된 숫자 검사
    ____정규 표현식 성능 향상
    ____정규 표현식 구문 이해하기
    ____정규 표현식의 예
    ____쉼표로 구분된 문자열 나누기
    __컬렉션에 여러 개의 객체 저장하기
    ____모든 컬렉션이 갖는 공통 기능
    ____컬렉션의 용량을 확보해 성능 향상하기
    ____컬렉션 선택
    ______리스트
    ______딕셔너리
    ______스택
    ______큐
    ______세트
    ______컬렉션 메서드 요약
    ____리스트 다루기
    ____딕셔너리 다루기
    ____큐 사용하기
    ____컬렉션 정렬하기
    ____그 외 특수 컬렉션
    ______비트 값의 간소한 배열 다루기
    ______효과적으로 리스트 다루기
    ______불변 컬렉션 사용하기
    ____컬렉션 모범 사례
    __범위, 인덱스, 영역 다루기
    ____Span을 활용해 효과적으로 메모리 사용하기
    ____Index 형식으로 위치 식별하기
    ____Range 형식으로 범위 식별하기
    ____index, range, span 사용하기
    __네트워크 리소스 다루기
    ____URI, DNS, IP 주소 다루기
    ____서버에 ping 보내기
    __리플렉션과 특성 다루기
    ____어셈블리 버저닝
    ____어셈블리 메타데이터 읽기
    ____사용자 정의 특성 만들기
    ____리플렉션에 대해 좀 더 알아보기
    ____이미지 다루기
    __코드 국제화
    ____현재 문화권을 가져오고 변경하기
    __연습 및 탐구
    ____연습 8.1 - 복습
    ____연습 8.2 - 정규 표현식 연습
    ____연습 8.3 - 확장 메서드 연습
    ____연습 8.4 탐구
    __마무리
    ____코드 저장소
    ____Discord 채널 참여


    9장. 파일, 스트림, 직렬화 사용하기
    __파일 시스템 다루기
    ____크로스 플랫폼 환경과 파일 시스템 다루기
    ____드라이브 다루기
    ____디렉터리 다루기
    ____파일 다루기
    ____경로 다루기
    ____파일의 정보 얻기
    ____파일 작업 방식 제어하기
    __스트림으로 읽고 쓰기
    ____스트림의 추상화, 구체화 이해하기
    ____스토리지 스트림
    ____function 스트림
    ____스트림 도우미
    ____텍스트 스트림에 쓰기
    ____XML 스트림에 쓰기
    ____파일 리소스 정리하기
    ______using 문을 사용해서 dispose 단순화하기
    ____스트림 압축하기
    ____브로틀리 알고리듬으로 압축하기
    __텍스트 인코딩과 디코딩
    ____바이트 배열로 문자열 인코딩
    ____파일의 텍스트 인코딩, 디코딩
    __객체 그래프 직렬화하기
    ____XML 직렬화
    ____컴팩트 XML 생성
    ____XML 역직렬화
    ____JSON 직렬화
    ____고성능 JSON 처리
    __JSON 다루기
    ____HTTP 응답을 위한 새로운 JSON 확장 메서드
    ____Newtonsoft에서 새 JSON으로 마이그레이션
    __연습 및 탐구
    ____연습 9.1 - 복습
    ____연습 9.2 - XML 직렬화 연습
    ____연습 9.3 - 탐구
    __마무리


    10장. 엔티티 프레임워크 코어로 데이터 다루기
    __최신 데이터베이스 이해하기
    ____레거시 엔티티 프레임워크
    ______레거시 엔티티 프레임워크 6.3 이상 사용하기
    ____엔티티 프레임워크 코어 이해하기
    ____EF 코어 작업을 위한 콘솔 앱 만들기
    ____샘플 관계형 데이터베이스 사용하기
    ____윈도우용 마이크로소프트 SQL 서버 사용하기
    ____SQL 서버 다운로드하고 설치하기
    ____SQL Server용 Northwind 샘플 데이터베이스 생성
    ____서버 탐색기에서 Northwind 샘플 데이터베이스 다루기
    ____SQLite 사용하기
    ______맥OS에서 SQLite 설정
    ______윈도우에서 SQLite 설정
    ______다른 OS에서 SQLite 설정
    ____SQLite용 Northwind 샘플 데이터베이스 생성하기
    ____SQLiteStudio로 Northwind 샘플 데이터베이스 다루기
    __EF 코어 설정하기
    ____EF 코어 데이터 공급자 선택하기
    ____데이터베이스 연결하기
    ____Northwind 데이터베이스 콘텍스트 클래스 정의하기
    __EF 코어 모델 정의하기
    ____모델을 정의하는 EF 코어 규칙 사용하기
    ____EF 코어 주석 특성을 사용해 모델 정의하기
    ____EF 코어 Fluent API를 사용해 모델 정의하기
    ______Fluent API로 데이터 시딩
    ____Northwind 테이블용 EF 코어 모델 빌드
    ______Category와 Product 엔티티 클래스 정의
    ____Northwind 데이터베이스 콘텍스트 클래스에 테이블 추가하기
    ____dotnet-ef 도구 설정하기
    ____기존 데이터베이스를 사용한 스캐폴딩
    ____사전 규칙 모델 구성하기
    __EF 코어 모델 쿼리하기
    ____포함되는 엔티티 필터링하기
    ______윈도우 콘솔에서 유니코드 문자
    ____필터링과 정렬
    ____생성된 SQL 확인하기
    ____사용자 정의 로깅 공급자를 사용해 EF 코어 로깅하기
    ______공급자 지정 값으로 로그 필터링
    ______쿼리 태그 로깅
    ____Like로 패턴 매칭
    ____전역 필터 정의하기
    __EF 코어 로딩 패턴
    ____즉시 로딩
    ____지연 로딩 활성화
    ____명시적 로딩
    __EF 코어로 데이터 조작하기
    ____엔티티 삽입
    ____엔티티 업데이트
    ____엔티티 삭제
    ____데이터베이스 콘텍스트 풀링
    __트랜잭션 다루기
    ____격리 수준에 따른 트랜잭션 제어
    ____명시적 트랜잭션 선언하기
    __코드 주도 EF 코어 모델
    ____마이그레이션
    __연습 및 탐구
    ____연습 10.1 - 복습
    ____연습 10.2 - 다른 직렬화 포맷을 사용해 데이터 내보내기 연습
    ____연습 10.3 - 주제 탐구
    ____연습 10.4 - NoSQL 데이터베이스 탐구
    __마무리
    ____코드 저장소
    ____Discord 채널 참여


    11장. LINQ를 사용해 데이터 쿼리하고 조작하기
    __LINQ 표현식 작성하기
    ____LINQ의 구성 요소
    ____Enumerable 클래스로 LINQ 표현식 만들기
    ______지연 실행
    ____Where로 엔티티 필터링하기
    ____이름 있는 메서드 타기팅
    ____명시적 델리게이트 인스턴스화를 제거해서 코드 단순화하기
    ____람다 표현식 타기팅
    ____엔티티 정렬하기
    ______OrderBy를 사용해 단일 프로퍼티 정렬하기
    ______ThenBy 메서드로 여러 개의 속성 정렬하기
    ____var 또는 특정 형식을 사용해 쿼리 선언하기
    ____형식 필터링
    ____LINQ를 사용해 set, multiset 다루기
    __EF 코어와 LINQ 사용하기
    ____EF 코어 모델 만들기
    ____시퀀스 필터링과 정렬
    ____새로운 형식에 시퀀스 투영하기
    ____시퀀스 Join과 group
    ______시퀀스 조인
    ______시퀀스 GroupJoin
    ____시퀀스 집계
    __간편 표기법으로 LINQ 구문 단순화하기
    __병렬 LINQ로 멀티 스레드 사용하기
    ____멀티 스레드 장점을 이용하는 앱 만들기
    ______윈도우
    ______맥OS
    ______모든 운영체제
    __사용자 정의 LINQ 확장 메서드 만들기
    ____연결 가능한 확장 메서드 호출하기
    ____MODE와 MEDIAN 메서드 만들기
    __LINQ to XML 사용하기
    ____LINQ to XML을 사용해서 XML 생성하기
    ____LINQ to XML을 사용해 XML 읽기
    __연습 및 탐구
    ____연습 11.1 - 복습
    ____연습 11.2 - LINQ 쿼리 연습
    ____연습 11.3 - 탐구
    __마무리


    12장. 멀티태스킹으로 성능과 확장성 향상하기
    __프로세스, 스레드, 태스크 이해하기
    __성능과 리소스 사용량 모니터링
    ____형식 효율성 평가
    ____Diagnostics를 사용한 성능 및 메모리 모니터링
    ______Stopwatch와 Process 형식의 유용한 멤버
    ______Recorder 클래스 구현하기
    ____문자열 처리 효율성 측정
    ____Benchmark.NET으로 성능 및 메모리 모니터링
    __비동기로 태스크 실행하기
    ____동기로 여러 개의 작업 수행하기
    ____태스크를 사용해 비동기로 여러 작업 수행하기
    ______태스크 시작하기
    ____태스크 대기하기
    ______태스크에 대기 메서드 사용하기
    ____다른 태스크 계속 실행하기
    ____중첩된 태스크와 자식 태스크
    ____객체를 태스크로 감싸기
    __공유 리소스에 동기적으로 접근하기
    ____멀티 스레드에서 리소스 접근하기
    ____리소스에 상호 배제 잠금 적용하기
    ______잠금 코드 이해하기
    ______데드락 회피하기
    ____이벤트 동기화
    ____원자적 CPU 연산 만들기
    ____다른 동기화 형식 적용하기
    __async와 await 이해하기
    ____콘솔 앱의 응답성 향상시키기
    ____GUI 앱의 응답성 개선하기
    ____웹 애플리케이션과 웹 서비스의 확장성 향상하기
    ____멀티태스킹을 지원하는 공통 형식
    ____catch 블록에서 await 사용하기
    ____async 스트림 다루기
    __연습 및 탐구
    ____연습 12.1 - 복습
    ____연습 12.2 - 탐구
    __마무리


    13장. C#과 .NET으로 만드는 실용적인 애플리케이션
    __C# 및 .NET용 앱 모델 이해
    ____ASP.NET Core를 사용해 웹사이트 만들기
    ______콘텐츠 관리 시스템을 사용해 웹사이트 만들기
    ______SPA 프레임워크로 웹 애플리케이션 만들기
    ____모바일 및 데스크톱 앱 빌드
    ____.NET MAUI의 대안
    ______Uno 플랫폼
    ______아발로니아
    __ASP.NET Core의 새로운 기능
    ____ASP.NET Core 1.0
    ____ASP.NET Core 1.1
    ____ASP.NET Core 2.0
    ____ASP.NET Core 2.1
    ____ASP.NET Core 2.2
    ____ASP.NET Core 3.0
    ____ASP.NET Core 3.1
    ____블레이저 웹어셈블리 3.2
    ____ASP.NET Core 5.0
    ____ASP.NET Core 6.0
    __윈도우 전용 데스크톱 앱 만들기
    ____레거시 윈도우 애플리케이션 플랫폼 이해하기
    ____레거시 윈도우 플랫폼에 대한 최신 .NET 지원 이해하기
    __프로젝트 구조화
    ____솔루션이나 작업 영역에서 프로젝트 구조화
    __다른 프로젝트 템플릿 사용하기
    ____추가 템플릿 팩 설치하기
    __Northwind용 엔티티 데이터 모델 만들기
    ____SQLite를 사용해 엔티티 모델용 클래스 라이브러리 만들기
    ______클래스-테이블 매핑 개선
    ______Northwind 데이터베이스 콘텍스트에 대한 클래스 라이브러리 만들기
    ____SQL 서버를 사용해 엔티티 모델용 클래스 라이브러리 만들기
    __연습 및 탐구
    ____연습 13.1 - 복습
    ____연습 13.2 - 탐구
    __마무리
    ____코드 저장소
    ____Discord 채널 참여


    14장. ASP.NET Core Razor 페이지를 사용해 웹사이트 만들기
    __웹 개발 이해하기
    ____HTTP 이해하기
    ______URL의 구성 요소 이해
    ______이 책의 프로젝트에서 사용하는 포트 번호
    ____크롬을 사용해 HTTP 요청 보내기
    ____클라이언트 웹 개발 기술 이해하기
    __ASP.NET Core 이해하기
    ____클래식 ASP.NET과 모던 ASP.NET Core
    ____비어 있는 ASP.NET Core 프로젝트 만들기
    ____웹사이트 테스트 및 보안
    ______더 엄격한 보안 활성화 및 보안 연결로 리다이렉트
    ____호스팅 환경 제어
    ____서비스 및 파이프라인 구성 분리
    ____웹사이트에서 정적 콘텐츠를 제공하도록 설정
    ______정적 파일 및 웹 페이지를 위한 폴더 생성
    ______정적 및 기본 파일 활성화
    __ASP.NET Core Razor 페이지 살펴보기
    ____Razor 페이지 활성화
    ____Razor 페이지에 코드 추가하기
    ____Razor 페이지에서 공유 레이아웃 사용하기
    ____Razor 페이지에서 코드 숨김 파일 사용하기
    __ASP.NET Core와 엔티티 프레임워크 코어 사용하기
    ____엔티티 프레임워크 코어를 서비스로 구성하기
    ____Razor Page를 사용한 데이터 조작
    ______모델에 엔티티 추가가 가능하도록 설정
    ______새 공급자를 추가하기 위한 양식 정의
    ____Razor Page에 종속성 서비스 주입
    ____Razor 클래스 라이브러리 사용하기
    ____Razor 클래스 라이브러리 만들기
    ____비주얼 스튜디오 코드의 압축 형식으로 폴더 렌더링 기능 비활성화
    ____EF 코어를 사용해 직원 정보 출력
    ____단일 직원 정보를 표시하는 partial 보기 구현
    ____Razor 클래스 라이브러리 사용 및 테스트
    __서비스 및 HTTP 요청 파이프라인 구성하기
    ____엔드포인트 라우팅 이해하기
    ______엔드포인트 라우팅 구성
    ____엔드포인트 라우팅 구성 살펴보기
    ______ConfigureServices 메서드에 서비스 등록
    ______Configure 메서드에 HTTP 요청 파이프라인 설정
    ____주요 미들웨어 확장 방법 요약
    ____HTTP 파이프라인 시각화
    ____미들웨어로 익명 인라인 대리자 구현
    __연습 및 탐구
    ____연습 14.1 - 복습
    ____연습 14.2 - 데이터 기반 웹 페이지 구축 연습
    ____연습 14.3 - 콘솔 앱 용 웹 페이지 구축
    ____연습 14.4 - 탐구
    __마무리


    15장. 모델-뷰-컨트롤러 패턴을 이용한 웹사이트 개발
    __ASP.NET Core MVC 웹사이트 설정
    ____ASP.NET Core MVC 웹사이트 만들기
    ____SQL Server LocalDB에 대한 인증 데이터베이스 생성
    ____기본 ASP.NET Core 웹사이트 살펴보기
    ______새 계정 생성하기
    ____MVC 웹사이트 프로젝트 구조 살펴보기
    ____ASP.NET Core Identity 데이터베이스 검토
    __ASP.NET Core MVC 웹사이트 살펴보기
    ____ASP.NET Core MVC 초기화
    ____기본 MVC 라우터 이해하기
    ____컨트롤러와 액션 이해하기
    ______ControllerBase 클래스 이해하기
    ______컨트롤러 클래스 이해하기
    ______컨트롤러 책임 이해하기
    ____뷰 탐색 경로 규칙
    ____로깅
    ____필터
    ______필터를 사용한 액션 메서드 보안 처리
    ______역할 관리 활성화 및 프로그래밍 방식으로 역할 생성하기
    ______필터를 사용해 응답 캐시하기
    ______필터를 사용해 사용자 지정 라우트 정의
    ____엔티티 및 뷰 모델 이해하기
    ____뷰 이해하기
    __ASP.NET Core MVC 웹사이트 사용자 지정
    ____사용자 정의 스타일
    ____카테고리 이미지 설정
    ____Razor 구문 이해하기
    ____형식화된 뷰 정의
    ____사용자 정의 홈페이지 결과 확인
    ____경로를 사용해 매개 변수 전달
    ____모델 바인더 자세히 이해하기
    ______모호한 불일치 예외 해결
    ______경로 매개 변수 전달
    ______폼 매개 변수 전달
    ____모델 검증
    ____뷰 도우미 메서드 이해하기
    __데이터베이스 쿼리 및 디스플레이 템플릿 사용
    __비동기 작업을 사용해 확장성 향상
    ____컨트롤러 작업 메서드를 비동기로 만들기
    __연습 및 탐구
    ____연습 15.1 - 복습
    ____연습 15.2 - 카테고리 세부 정보 페이지를 구현해 MVC 구현 연습
    ____연습 15.3 - 비동기 작업 방법을 이해하고 구현해 확장성 향상 연습
    ____연습 15.4 - MVC 컨트롤러 단위 테스트 연습
    ____연습 15.5 - 탐구
    __마무리
    ____코드 저장소
    ____Discord 채널 참여


    16장. 웹 서비스 개발 및 사용하기
    __ASP.NET Core Web API를 사용해 웹 서비스 개발
    ____웹 서비스 용어 이해
    ______WCF
    ______WCF의 대안
    ____Web API에 대한 HTTP 요청 및 응답 이해
    ____ASP.NET Core 웹 API 프로젝트 생성하기
    ____웹 서비스 기능 확인
    ____Northwind 데이터베이스용 웹 서비스 만들기
    ____엔티티용 데이터 저장소 만들기
    ____Web API 컨트롤러 구현
    ______작업 메서드 반환 유형
    ____고객 데이터 저장소 및 웹 API 컨트롤러 구성
    ____문제 세부 정보 지정
    ____XML 직렬화 제어
    __웹 서비스 문서화 및 테스트
    ____브라우저를 사용한 GET 요청 테스트
    ____REST Client 확장으로 HTTP 요청 테스트
    ______REST Client를 사용해 GET 요청하기
    ______REST Client로 다른 요청 보내기
    ____Swagger
    ____Swagger UI로 요청 테스트
    ____HTTP 로깅 활성화
    __HTTP 클라이언트를 사용해 웹 서비스 사용
    ____HttpClient
    ____HttpClientFactory를 사용해 HTTP 클라이언트 구성
    ____컨트롤러에서 고객 데이터를 JSON으로 가져오기
    ____교차 출처 리소스 공유 활성화
    __웹 서비스를 위한 고급 기능 구현
    ____상태 확인 API 구현
    ____Open API 분석기 및 규칙 구현
    ____일시적인 오류 처리 구현
    ____보안 HTTP 헤더 추가
    __최소한의 API를 사용해 웹 서비스 개발
    ____최소한의 API를 사용해 일기 예보 서비스 구축
    ____최소한의 일기 예보 서비스 테스트
    ____Northwind 웹사이트 홈페이지에 일기 예보 추가
    __연습 및 탐구
    ____연습 16.1 - 복습
    ____연습 16.2 - HttpClient로 고객 데이터 생성 및 삭제
    ____연습 16.3 - 탐구
    __마무리


    17장. 블레이저로 사용자 인터페이스 만들기
    __블레이저 이해하기
    ____자바스크립트 친화적
    ____실버라이트 - 플러그인을 사용하는 C# 및 .NET
    ____웹어셈블리 - 블레이저 대상
    ____블레이저 호스팅 모델 이해
    ____블레이저 구성 요소 이해
    ____블레이저와 Razor의 차이점
    __블레이저 프로젝트 템플릿 비교
    ____블레이저 서버 프로젝트 템플릿
    ______CSS와 자바스크립트 격리
    ____페이지 구성 요소에 대한 블레이저 라우팅
    ____라우팅 가능한 페이지 구성 요소를 정의하는 방법
    ____블레이저 라우팅 탐색 방법
    ____경로 매개 변수를 전달하는 방법
    ____기본 구성 요소 클래스
    ____경로와 탐색 링크 구성 요소 사용하기
    __블레이저 서버 프로젝트 템플릿 실행
    __블레이저 웹어셈블리 프로젝트 템플릿
    __블레이저 서버로 구성 요소 만들기
    ____구성 요소 정의 및 테스트
    ____라우팅 가능한 페이지 구성 요소로 바꾸기
    ____구성 요소에서 엔티티 조회
    __블레이저 구성 요소에 대한 서비스 추상화
    ____EditForm 구성 요소로 폼 정의하기
    ____고객 양식 구성 요소
    ____고객 정보 양식 구성 요소 테스트
    __블레이저 웹어셈블리를 사용해 구성 요소 만들기
    ____블레이저 웹어셈블리용 서버 구성
    ____블레이저 웹어셈블리용 클라이언트 구성
    ____블레이저 웹어셈블리 구성 요소 및 서비스 테스트
    __블레이저 웹어셈블리 앱 개선
    ____블레이저 웹어셈블리 AOT 활성화
    ____프로그레시브 웹 앱 지원
    ______PWA에 대한 오프라인 지원 구현
    ____블레이저 웹어셈블리용 브라우저 호환성 분석기 이해
    ____클래스 라이브러리에서 블레이저 구성 요소 공유
    ____자바스크립트 상호 운용성
    ____블레이저 구성 요소 라이브러리
    __연습 및 탐구
    ____연습 17.1 - 복습
    ____연습 17.2 - 시간표 구성 요소 만들기
    ____연습 17.3 - 국가 탐색 항목 만들기
    ____연습 17.4 - 탐구
    __마무리
    ____코드 저장소
    ____Discord 채널 참여


    18장. 에필로그
    __C# 및 .NET 학습의 다음 단계
    ____디자인 가이드라인으로 실력 향상
    __.NET MAUI 지연에 대한 소식
    ____원서의 다음 버전
    ____마치며

출판사 서평

◈ 이 책에서 다루는 내용 ◈
◆ 블레이저, Razor Pages, MVC 패턴과 ASP.NET Core 기능을 사용한 웹 개발
◆ 객체지향 프로그래밍으로 나만의 형식 구축
◆ 코드 작성, 테스트, 디버깅
◆ LINQ를 사용한 데이터 쿼리 및 조작
◆ 엔티티 프레임워크 코어, 마이크로소프트 SQL 서버 및 SQLite를 사용한 데이터베이스 통합 및 업데이트

◈ 이 책의 대상 독자 ◈
크로스 플랫폼 .NET을 사용해 모던 C#을 학습하기 위한 단계별 안내서로, 개발 가능한 실용적인 예제를 제공한다. C# 및 .NET 초보자나 C#으로 작업을 해 왔지만 최근 몇 년간의 변화에 익숙하지 않은 프로그래머에게 적합하다.

◈ 이 책의 구성 ◈
1장, 'C#, 그리고 .NET 만나기'에서는 C# 개발 환경을 설정하고 비주얼 스튜디오 2022나 비주얼 스튜디오 코드를 사용해 C# 및 .NET으로 간단한 콘솔 애플리케이션을 만든다. 콘솔 애플리케이션을 만들면서 C# 10에 도입된 기능을 사용한다. 언어 구성 및 라이브러리 기능 작성 방법을 배우고자 .NET 인터랙티브를 사용하며 도움말을 찾는 방법, 저자에게 연락하는 방법, 깃허브 저장소를 통해 이 책과 다음 버전을 개선하기 위한 피드백 제공하는 방법도 살펴본다.
2장, 'C# 문법과 키워드'에서는 C# 버전을 소개하고 각 버전별로 어떤 기능이 제공되는지 설명한다. 앞으로 C# 언어를 다루면서 항상 마주하게 될 문법과 키워드를 알아본다. 특히 다양한 형식의 변수를 선언하고 다루는 방법을 배운다.
3장, '흐름 제어 및 형식 변환'에서는 연산자를 사용해 코드 분기, 비교, C# 7에서 C# 10으로의 패턴 일치, 반복, 형식 간의 변환, 예외 처리를 위한 방어 코드 작성법을 배운다.
4장, '함수 작성, 디버깅, 테스트'에서는 명령형과 함수형 구현 스타일을 모두 사용해 재사용 가능한 함수를 작성해서 DRY(Don’t Repeat Yourself) 원칙을 따르는 방법을 설명한다. 디버깅 도구를 사용해 버그를 찾아 제거하고, 런타임 시 코드를 모니터링해 문제를 진단하고, 엄격한 테스트를 통해 버그를 제거해, 배포하기 전에 안정성과 신뢰성을 보장하는 방법을 배운다.
5장, 'OOP로 사용자 정의 형식 만들기'에서는 데이터를 저장하는 필드(field)와 행동을 수행하는 함수(method)를 포함해 형식이 가질 수 있는 멤버의 모든 종류에 관해 알아본다. 집합(aggregation)이나 캡슐화(encapsulation) 같은 OOP(Object-Oriented Programming) 개념을 사용해 보고 튜플(tuple) 구문이나 단순화된 out 변수, 기본 리터럴, 유추된 튜플 이름 등의 언어 기능을 배운다. record 키워드, init 전용 속성, C# 9에 도입된 with 표현식을 사용해 불변 형식을 정의하고 사용하는 방법을 배운다.
6장, '인터페이스 구현 및 클래스 상속하기'에서는 OOP를 사용해 이미 존재하는 형식으로부터 새로운 형식을 파생시키는 법을 알아본다. 연산자를 정의하는 방법과 지역 함수(local function), 델리게이트(delegate), 이벤트에 대해 배우며 기본 및 파생 클래스에 대한 인터페이스 구현 방법, 형식 멤버 재정의, 다형성(polymorphism), 확장 메서드(extension method)와 상속 관계(inheritance hierarchy) 클래스들 사이의 캐스팅, nullable 참조 타입 도입으로 인한 C# 8의 큰 변화를 살펴본다.
7장, '.NET 형식을 패키징하고 배포하기'에서는 .NET 버전을 소개하고 새로운 라이브러리 기능을 도입한 버전을 설명하며 .NET 표준(.NET Standard)을 준수하는 형식과 C#의 관계를 알아본다. 윈도우, 맥OS(macOS), 리눅스에서 코드를 작성하고 컴파일하는 방법을 배운다. 앱과 라이브러리를 패키징하고 배포하는 방법도 알아본다.
8장, '공용 .NET 형식 다루기'에서는 숫자 및 텍스트, 날짜 및 시간 조작, 컬렉션에 항목 저장, 네트워크 작업 및 이미지 조작, 국제화(internationalization) 처리 같은 작업을 처리할 수 있는 타입을 설명한다.
9장, '파일, 스트림, 직렬화 사용하기'에서는 파일 시스템 다루기, 파일과 스트림을 읽고 쓰기, 텍스트 인코딩, JSON이나 XML 같은 직렬화 타입, System.Text.Json의 향상된 기능에 관해 배운다.
10장, '엔티티 프레임워크 코어로 데이터 다루기'에서는 엔티티 프레임워크 코어(EF Core, Entity Framework Core)라고 부르는 객체 관계 매핑 기술(ORM, Object-Relational Mapping)을 사용해 마이크로소프트 SQL 서버, SQLite 같은 데이터베이스를 읽고 쓰는 방법을 다룬다. 테이블에 매핑되는 엔티티 모델을 정의하는 방법, 런타임에 테이블 및 데이터베이스를 생성할 수 있는 코드 주도(Code First) 모델을 정의하는 방법을 알아본다.
11장, 'LINQ를 사용해 데이터 쿼리하고 조작하기'에서는 컬렉션의 아이템을 대상으로 필터링, 정렬 등의 작업을 처리하고 다른 출력으로 투영(project)할 수 있게 하는 언어 확장인 LINQ(Language Integrated Queries)를 다룬다. 병렬 LINQ(PLINQ, Parallel LINQ)와 LINQ to XML 같은 특수 기능을 배운다.
12장, '멀티태스킹으로 성능과 확장성 향상하기'에서는 성능, 확장성, 유저 생산성을 높이고자 동시에 여러 작업을 처리하는 방법을 알아본다. async Main과 System.Diagnostics를 사용해 코드를 모니터링하고 성능과 효율성을 측정하는 방법을 배운다.
13장, 'C#과 .NET으로 만드는 실용적인 애플리케이션'에서는 C# 및 .NET으로 개발하는 크로스플랫폼 애플리케이션 타입을 알아본다. 나머지 장에서 사용하는 Northwind 데이터베이스를 표현하는 EF 코어 모델도 빌드한다.
14장, 'ASP.NET Core Razor 페이지를 사용해 웹사이트 만들기'에서는 ASP.NET Core를 사용해 최신 HTTP 아키텍처로 서버에서 웹 사이트를 개발할 때 필요한 내용을 다룬다. 작은 웹 사이트 개발을 위해 동적 웹 페이지 생성을 간소화하는 Razor Pages라는 ASP. NET Core 기능과 HTTP 요청 및 응답 파이프라인 구축 방법을 배운다.
15장, '모델-뷰-컨트롤러 패턴을 이용한 웹 사이트 개발'에서는 ASP.NET Core MVC를 사용해 규모가 크고 복잡한 웹 사이트를 단위 테스트 및 유지 보수가 용이하도록 구축하는 방법을 다룬다. 구성, 인증, 라우트, 모델, 뷰, 컨트롤러에 대해 배운다.
16장, '웹서비스 개발 및 사용하기'에서는 ASP.NET Core 웹 API를 사용해 백엔드 REST 아키텍처 웹서비스를 만들고 인스턴스화된 HTTP 클라이언트를 사용해 이를 활용하는 방법을 알아본다.
17장, '블레이저로 사용자 인터페이스 만들기'에서는 블레이저(Blazor)를 사용해 서버 또는 클라이언트 웹 브라우저에서 실행할 수 있는 사용자 인터페이스 구성 요소 개발 방법을 다룬다. 블레이저 서버와 블레이저 WebAssembly 간의 차이점 및 두 모델 간 전환이 용이한 구성 요소 개발 방법을 알아본다.18장, '특수 서비스 개발 및 사용'에서는 gRPC를 사용해 서비스 구축, SignalR을 사용해 서버와 클라이언트 간의 실시간 통신 구현, OData를 사용해 EF 코어 모델 노출, 애저 함수(Azure Function)를 사용해 트리거에 응답하는 클라우드 호스팅 기능을 소개한다.

◈ 옮긴이의 말 ◈
이 책의 원서는 『C# 10 and .NET 6 Modern Cross-Platform Development - 6th edition』입니다. 2016년에 처음 출간된 『C# 6 and .NET Core 1.0』의 6번째 버전입니다. 7번째 버전이 최근에 출간되기도 했지만, 이 번역서는 6번째 버전을 기준으로 합니다. 독자 여러분이 혼란스럽지 않도록, 버전업이 되면서 달라진 용어나 계획에서 확정으로 확인된 사실들은 간략하게나마 역자 주석으로 추가했습니다.
.NET 5에서 시작된 .NET 코어, .NET 프레임워크, 자마린 통합 계획은 .NET 6이 출시되고 2022년 5월 업데이트로 .NET MAUI가 포함되면서 그 목표에 도달했습니다. 또한 향상된 성능 제공과 C# 10에 추가된 새로운 언어 기능을 사용할 수 있으며 3년간 지원을 받을 수 있는 LTS 버전이기도 합니다. 이 책이 C# 10, .NET 6과 함께하는 여러분의 .NET 프로그래밍 여정에 작은 도움이 되기를 바랍니다.

기본정보

상품정보 테이블로 ISBN, 발행(출시)일자 , 쪽수, 크기, 총권수, 원서(번역서)명/저자명을(를) 나타낸 표입니다.
ISBN 9791161757667
발행(출시)일자 2023년 07월 20일
쪽수 1028쪽
크기
188 * 235 * 32 mm / 1961 g
총권수 1권
원서(번역서)명/저자명 C# 10 and .NET 6 - Modern Cross-Platform Development/Mark J. Price

Klover

구매 후 리뷰 작성 시, e교환권 200원 적립

데이터를 불러오는 중입니다.

문장수집 (1)

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여주는 교보문고의 새로운 서비스입니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 "좋아요“ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보 없이 삭제될 수 있습니다.
리워드 안내
구매 후 90일 이내에 문장수집 작성 시 e교환권 100원을 적립해드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)

구매 후 리뷰 작성 시, e교환권 100원 적립

이미 존재하는 형식으로부터 새로운 형식을 파생
크로스 플랫폼 개발을 위한 C# 10과 .NET 6

교환/반품/품절 안내

    상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

    용선생 추론독해 초등 국어 3단계
    이벤트
    • 사카모토 데이즈 20권
    • 팬텀 버스터즈 출간 기념!
    01 / 02
    TOP