크로스 플랫폼
크로스 플랫폼을 위한 C# 10과 .NET 6에 관련된
책을 소개해드릴게요.
https://app.ac/YErE3XS43
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, 비주얼 스튜디오 코드로 만드는 교보문고 포스팅은 제휴마케팅이 포함되어있습니다.
'IT' 카테고리의 다른 글
ShutterStock 셔터스톡 8월 할인코드 할인쿠폰 (0) | 2023.08.04 |
---|---|
곰앤컴퍼니 할인코드 곰믹스맥스 곰캠 곰플레이어플러스 녹화플러스팩 맥스 실속팩 맥스 유투버 팩 무료 유료 차이 (0) | 2023.08.04 |
ThinkPad T16 Gen 1 (Intel) 16인치 노트북 할인쿠폰 레노버 (0) | 2023.06.20 |
신간 소개 진짜 쓰는 프리미어 프로 영상 편집 유튜브 및 SNS 콘텐츠 제작을 위한 동영상 편집 실무 강의, 포토샵 + 애프터 이펙트 연동 부록 PDF 제공 (1) | 2023.06.16 |
에벤에셀 제주 함덕호텔 (Ebenezer Hotel) 아고다 할인쿠폰 바우처 (0) | 2023.06.16 |