Microsoft MVP성태의 닷넷 이야기
도서: 시작하세요! C# 10 프로그래밍 [링크 복사], [링크+제목 복사],
조회: 28802
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 4개 있습니다.)

도서: 시작하세요! C# 10 프로그래밍

기존에 출판되었던,

시작하세요! C# 프로그래밍 기본 문법부터 실전 예제까지
; http://www.yes24.com/24/goods/11257753

시작하세요! C# 6.0 프로그래밍 기본 문법부터 실전 예제까지
; http://www.yes24.com/24/goods/19427525

시작하세요! C# 7.1 프로그래밍 기본 문법부터 실전 예제까지
; http://www.yes24.com/24/goods/48156128

시작하세요! C# 7.3 프로그래밍 기본 문법부터 실전 예제까지
; http://www.yes24.com/Product/Goods/73031673

시작하세요! C# 8.0 프로그래밍 기본 문법부터 실전 예제까지
; http://www.yes24.com/Product/Goods/82590356

시작하세요! C# 9.0 프로그래밍 기본 문법부터 실전 예제까지
; http://www.yes24.com/Product/Goods/97314203

"시작하세요! C# 프로그래밍"의 10 개정판이 나왔습니다.

위키북스 - 시작하세요! C# 10 프로그래밍: 기본 문법부터 실전 예제까지 
; https://wikibook.co.kr/cs10/

Yes24 - 시작하세요! C# 10 프로그래밍 기본 문법부터 실전 예제까지
; http://www.yes24.com/Product/goods/114854152

이번 개정판부터는, 점차로 오래된 내용들을 빼기 시작했습니다. 대신 아예 제거하기보다는 초판에서 발행했던 3부의 내용과 부록 전체를 실어서 공개했던 기존의 PDF 파일로 옮겼습니다.

공개된 3부 및 부록 - PDF 파일
; https://www.sysnet.pe.kr/book/cs10_free.pdf

(다음번 C# 11 개정판을 낼 때도 이런 식으로 지난 내용들을 공개하는 식으로 바꿀 예정입니다.)

책에서 혹시 이해가 안 되거나 궁금하신 부분이 있는 경우 다음의 게시판을 활용해 질문을 주시면 답변을 드리도록 하겠습니다. (물론, 오타나 문장이 이상한 부분이 있는 것도 게시판을 통해 알려주시면 반영하겠습니다.)

질문 답변 게시판
; https://www.sysnet.pe.kr/3/1

책에 있는 예제는 github에 공개했습니다.

.NET Framework용 소스코드
; https://github.com/stjeong/cs10_netfx_sample

* 소스코드를 비주얼 스튜디오 2022에서 열은 후, 테스트하고 싶은 프로젝트를 "시작 프로젝트로 설정" 메뉴로 지정하면 됩니다. 
("시작 프로젝트로 설정" 메뉴에 대해서는 책의 295페이지에 있는 "Note" 내용에서 좀 더 자세하게 알 수 있습니다.)

* 처음 CSharp10NetFx.sln 솔루션을 로드 후 빌드하면 오류가 발생할 수 있습니다. 
일부 프로젝트의 경우 NuGet 패키지 구성 시간이 걸려 그런 것이므로 1~2분 정도 후에 다시 빌드하면 됩니다.

6장에서 만드는 SQL 데이터베이스 파일
; https://www.sysnet.pe.kr/book/cs10_book_db_file.zip

참고로, .NET 6 프로젝트로 변환된 예제 코드도 제공합니다.

.NET 6용 소스코드
; https://github.com/stjeong/cs10_net6_sample

* .NET Framework의 BCL을 사용하는 일부 예제 코드는 .NET 6 프로젝트로 마이그레이션되지 않았습니다.
* .NET 6로 맞춰져 있으므로 빌드하기 위해서는 .NET 6.0이 설치되어 있어야 합니다.

압축을 풀면 나오는 "CSharp10NetFx.sln" / "CSharp10Core.sln" 파일을 비주얼 스튜디오 2022에서 열면 다음과 같이 솔루션 탐색기(Solution Explorer)에서 장(Chapter) 별로 나누어져 있어 찾기 편하도록 구성했습니다.

sample_code10_sln.png

소스코드 프로젝트 중에서 11장까지는 책에서 "예제" 제목이 달린 소스코드마다 완전히 실행 가능한 C# 프로젝트를 만들었습니다. 또한, "예제" 제목이 달리지 않은 소스코드도 모두 "부가코드-[번호].txt"라는 파일에 담아 두었습니다. 각각의 txt 파일도 복사해서 붙여넣으면 컴파일이 되는 하나의 독립적인 예제입니다. 반면 12장 ~ 18장은 "예제" 제목이 달린 프로젝트가 해당 절에 포함된 소스코드와 일치합니다.

이번에도 책에 포함된 모든 그림 파일을 다음의 경로에 공개해 두었습니다.

책에 포함된 그림
; https://www.sysnet.pe.kr/book/cs10_img.zip

캡쳐된 그림 이외에 다이어그램을 그리기 위해 사용한 PPT 파일도 아래에 공개했습니다. (일부 다이어그램은 출판사 측에서 인쇄를 위해 재편집을 했기 때문에 원본과 다를 수 있습니다.)

다이어그램 원본 PPT 파일
; https://www.sysnet.pe.kr/book/cs10_diagram.pptx

(혹시 이 파일에 실린 다이어그램을 좀 더 멋지게 그리셨다면 제 책에 실을 수 있도록 공유 부탁드립니다. ^^)

마지막으로, 공개된 PDF의 3부 내용에 대해서는 책의 서문에 쓴 내용을 공지합니다.

이 중에서 3부의 내용은 좀 더 부가 설명이 필요하다. 필자가 쓴 책은 C# 5.0을 대상으로 처음 쓰여졌으며 3부의 내용은 원래 그 책에 포함돼 있던 내용이다. 하지만 C# 6.0을 포함한 개정판이 나오면서 책의 분량이 늘어나는 것을 고려해 3부의 내용을 제외시켜 무료 PDF 문서로 공개했고 이번 C# 10 책에서도 포함하지 않았다. 종이책으로 꾸준히 출판한 1부, 2부와는 달리 3부의 내용은 C# 5.0 책이 쓰여졌던 시점 이후로 업데이트되지 않았기 때문에 3부의 내용 중 일부는 개발 환경의 변화로 달라졌을 수 있음을 미리 말씀드린다.


정리하면, 3부의 내용 중 모바일 부분은 거의 실습을 할 수 없을 것입니다. 그래도 다음의 사이트에 소스코드가 공개되어 있으니 참고하실 수 있습니다.

OfficePresenter 소스코드
; https://github.com/stjeong/OfficePresenter
(다운로드 방법: 위 링크의 우측 하단에 "Download ZIP" 버튼을 누르면 됩니다.)





[정오표]



* 1부 정오표 *
위치 변경 전 변경 후
3.1.3 문자형 기본 타입 char 타입에 대해 다음의 문장을 "바닥글" 텍스트로 추가합니다.

C# 명세에서 char 타입은 정수형(8.3.6 Integral types: https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/types#836-integral-types)으로 다루지만, 이 책에서는 별도의 참조 가이드에 있는 문서(https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/char)에 따라 정수와 분리해서 정리한다.

(참고: https://www.sysnet.pe.kr/3/1/2)


* 2부 정오표 *
위치 변경 전 변경 후
6.2.1 System.String (392 페이지, 표 6.2의 3번째 줄 "Format" 멤버의 유형) 인스턴스 메서드 정적 메서드

(참고: https://www.sysnet.pe.kr/3/1/12)
10.2 비동기 호출(679 페이지 하단 예제 4번째 줄) FileShare.ReadWrite); FileShare.ReadWrite, 4096, true); // 마지막 인자 true == 비동기 모드로 파일 열기


(참고: https://www.sysnet.pe.kr/2/0/12250)
10.2 비동기 호출(681 페이지 상단 예제 AwaitRead 메서드 내부) @"C:\windows\system32\drivers\etc\HOSTS", FileMode.Open, FileAccess.Read, FileShare.ReadWrite, 4096, true @"C:\windows\system32\drivers\etc\services", FileMode.Open, FileAccess.Read, FileShare.ReadWrite, 4096, true


(참고: https://www.sysnet.pe.kr/2/0/12250)
10.2.5 비동기 호출의 병렬 처리(694 페이지 예제) Thread t3 = new Thread((result) =>
{
    Thread.Sleep(3000);
    dict.Add("t3Result", 3);
});
Thread t5 = new Thread((result) =>
{
    Thread.Sleep(5000);
    dict.Add("t5Result", 5);
});

t3.Start(dict);
t5.Start(dict);

Thread t3 = new Thread(() =>
{
    Thread.Sleep(3000);
    lock (dict) dict.Add("t3Result", 3);
});

Thread t5 = new Thread(() =>
{
    Thread.Sleep(5000);
    lock (dict) dict.Add("t5Result", 5);
});

t3.Start();
t5.Start();


(참고: https://www.sysnet.pe.kr/3/1/3)



[연관 글]






[최초 등록일: ]
[최종 수정일: 12/21/2023]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 121  122  123  124  125  126  127  128  129  130  131  132  [133]  134  135  ...
NoWriterDateCnt.TitleFile(s)
1731정성태8/11/201427086개발 환경 구성: 235. 점(.)으로 시작하는 파일명을 탐색기에서 만드는 방법
1730정성태8/11/201422168개발 환경 구성: 234. Royal TS의 터미널(Terminal) 연결에서 한글이 깨지는 현상 해결 방법
1729정성태8/11/201418226오류 유형: 236. SqlConnection - The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly.
1728정성태8/8/201430295.NET Framework: 453. C# - 오피스 파워포인트(Powerpoint) 파일을 WinForm에서 보는 방법파일 다운로드1
1727정성태8/6/201420524오류 유형: 235. SignalR 오류 메시지 - Counter 'Messages Bus Messages Published Total' does not exist in the specified Category. [2]
1726정성태8/6/201419403오류 유형: 234. IIS Express에서 COM+ 사용 시 SecurityException - "Requested registry access is not allowed" 발생
1725정성태8/6/201421357오류 유형: 233. Visual Studio 2013 Update3 적용 후 Microsoft.VisualStudio.Web.PageInspector.Runtime 모듈에 대한 FileNotFoundException 예외 발생
1724정성태8/5/201426103.NET Framework: 452. .NET System.Threading.Thread 개체에서 Native Thread Id를 구하는 방법 - 두 번째 이야기 [1]파일 다운로드1
1723정성태7/29/201458376개발 환경 구성: 233. DirectX 9 예제 프로젝트 빌드하는 방법 [3]파일 다운로드1
1722정성태7/25/201421068오류 유형: 232. IIS 500 Internal Server Error - NTFS 암호화된 폴더에 웹 애플리케이션이 위치한 경우
1721정성태7/24/201424086.NET Framework: 451. 함수형 프로그래밍 개념 - 리스트 해석(List Comprehension)과 순수 함수 [2]
1720정성태7/23/201422082개발 환경 구성: 232. C:\WINDOWS\system32\LogFiles\HTTPERR 폴더에 로그 파일을 남기지 않는 설정
1719정성태7/22/201426043Math: 13. 동전을 여러 더미로 나누는 경우의 수 세기(Partition Number) - 두 번째 이야기파일 다운로드1
1718정성태7/19/201435303Math: 12. HTML에서 수학 관련 기호/수식을 표현하기 위한 방법 - MathJax.js [4]
1716정성태7/17/201435019개발 환경 구성: 231. PC 용 무료 안드로이드 에뮬레이터 - genymotion
1715정성태7/13/201430610기타: 47. 운영체제 종료 후에도 USB 외장 하드의 전원이 꺼지지 않는 경우 [3]
1714정성태7/11/201420891VS.NET IDE: 92. Visual Studio 2013을 지원하는 IL Support 확장 도구
1713정성태7/11/201444613Windows: 98. 윈도우 시스템 디스크 용량 확보를 위한 "Package Cache" 폴더 이동 [1]
1712정성태7/10/201432878.NET Framework: 450. 영문 윈도우에서 C# 콘솔 프로그램의 유니코드 출력 방법 [3]
1711정성태7/10/201438069Windows: 97. cmd.exe 창에서 사용할 폰트를 추가하는 방법 [1]
1710정성태7/8/201430583개발 환경 구성: 230. 유니코드의 Surrogate Pair, Supplementary Characters가 뭘까요?파일 다운로드2
1709정성태7/8/201427405VS.NET IDE: 91. Visual Studio에서 32/64비트 IIS Express 실행하는 방법
1708정성태7/7/201424767VS.NET IDE: 90. Visual Studio - 사용자 정의 정적 분석 규칙 만드는 방법 [3]파일 다운로드1
1707정성태7/4/201423034.NET Framework: 449. C#에서 C++로 VARIANT 넘겨주는 방법파일 다운로드1
1706정성태7/3/201421436.NET Framework: 448. .NET SmartClient 컨트롤을 윈도우 8/2012에서 활성화하는 방법파일 다운로드1
1705정성태7/2/201435075VC++: 78. 보이어-무어(Boyer-Moore) 알고리즘이 정말 빠를까? [6]파일 다운로드1
... 121  122  123  124  125  126  127  128  129  130  131  132  [133]  134  135  ...