크로스 플랫폼

크로스 플랫폼을 위한 C# 10과 .NET 6에 관련된

책을 소개해드릴게요.

https://app.ac/YErE3XS43

 

크로스 플랫폼 개발을 위한 C# 10과 .NET 6 | 마크 프라이스 - 교보문고

크로스 플랫폼 개발을 위한 C# 10과 .NET 6 | C# 10의 새로운 기능과 .NET 6의 전반적인 내용을 다룬다. 설명은 최소한으로 줄인 대신, 예제 코드를 직접 타이핑하면서 익힐 수 있도록 흥미롭게 구성됐

product.kyobobook.co.kr

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

작가의 말

시중에는 C# 언어, .NET(.NET) 라이브러리, 웹사이트, 서비스, 데스크톱, 모바일 앱 같은 앱 모델에 대해 광범위한 설명을 담은 수천 페이지의 책들이 있다.

이 책은 다르다. 간결하고 실용적인 실습을 따라하면서 빠르게 읽어볼 수 있도록 구성했다. 많은 주제를 다루기 때문에 깊이 있는 설명을 배제하는 경우도 있지만 필요하다면 더 상세한 내용을 찾아볼 수 있도록 했다.

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까지의 성능 개선

____.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 지연에 대한 소식

____원서의 다음 버전

____마치며

그럼 이상으로 크로스 플랫폼 개발을 위한 C# 10과 .NET 6비주얼 스튜디오 2022, 비주얼 스튜디오 코드로 만드는 교보문고 포스팅을 마치겠습니다.

크로스 플랫폼 개발을 위한 C# 10과 .NET 6비주얼 스튜디오 2022, 비주얼 스튜디오 코드로 만드는 교보문고 포스팅은 제휴마케팅이 포함되어있습니다.

+ Recent posts