부모글 보이기/감추기 AD BLOCK 해제 요청 이 글에는 광고가 많이 들어가 있지 않습니다. adblock을 해제하셔도 글을 읽는데 그다지 부담이 없으니 해제를 부탁드립니다. (연관된 글이 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) 별로 나누어져 있어 찾기 편하도록 구성했습니다. 소스코드 프로젝트 중에서 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) [다음 글] .NET Framework: 2033. .NET Core/5+에서는 구할 수 없는 HttpRuntime.AppDomainAppId[이전 글] .NET Framework: 2032. C# 11 - shift 연산자 재정의에 대한 제약 완화 (Relaxing Shift Operator) [연관 글] C# 프로그래밍 10 책 구매한 사람입니다. 3부 자료는 어디서 다운 받을 수 있나요? 웹: 42. (https가 아닌) http 다운로드를 막는 웹 브라우저C# 10 책에 나온 예제의 결과가 제 컴에서는 좀 달라서요. 이유가 궁금합니다.String.Format은 정적 메서드 아닌가요? [최초 등록일: 7/15/2022] [최종 수정일: 12/21/2023] 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다. by SeongTae Jeong, mailto:techsharer at outlook.com 비밀번호 댓글 작성자 ... 31 32 33 34 35 36 37 38 [39] 40 41 42 43 44 45 ... NoWriterDateCnt.TitleFile(s) 12961정성태2/8/202215108.NET Framework: 1151. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 비디오 프레임의 크기 및 포맷 변경 예제(scaling_video.c) [7]112960정성태2/8/202214319개발 환경 구성: 637. ffmpeg(FFmpeg.AutoGen)를 이용한 비디오 디코딩 예제(decode_video.c) - 세 번째 이야기12959정성태2/7/202215417.NET Framework: 1150. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 비디오 디코딩 예제(decode_video.c) - 두 번째 이야기 [2]112958정성태2/6/202216198.NET Framework: 1149. C# - ffmpeg(FFmpeg.AutoGen) - 비디오 프레임 디코딩 [2]112957정성태2/6/202215169개발 환경 구성: 636. ffmpeg.exe를 이용해 planar 포맷의 데이터를 packed 형식으로 변환하는 방법? [2]12956정성태2/4/202214707.NET Framework: 1148. C# - ffmpeg(FFmpeg.AutoGen) - decoding 과정 [2]112955정성태2/4/202214096개발 환경 구성: 635. 비주얼 스튜디오에서 실행하던 ASP.NET Core (.NET Framework) 응용 프로그램을 명령행에서 실행하는 방법 (2)12954정성태2/4/202213364VS.NET IDE: 173. 비주얼 스튜디오 - Output 창에 색상이 지정된 출력 결과가 "[39m[22m" 식의 문자로 나오는 문제12953정성태2/2/202213405Linux: 48. Windows 11 + WSL 우분투 GUI 환경에서 한글 출력12952정성태2/2/202214319.NET Framework: 1148. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 오디오 필터 예제(filter_audio.c)112951정성태2/2/202213776.NET Framework: 1147. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 오디오 필터링 예제(filtering_audio.c)112950정성태2/1/202214025.NET Framework: 1146. .NET 6에 추가되지 않은 Generic Math (예: INumber<T>)12949정성태2/1/202213350.NET Framework: 1145. C# - ffmpeg(FFmpeg.AutoGen) - Codec 정보 열람 및 사용 준비112948정성태1/30/202214014.NET Framework: 1144. C# - ffmpeg(FFmpeg.AutoGen) AVFormatContext를 이용해 ffprobe처럼 정보 출력112947정성태1/30/202215237개발 환경 구성: 634. ffmpeg.exe - 기존 동영상 컨테이너에 다중 스트림을 추가하는 방법12946정성태1/28/202213903오류 유형: 792. .NET Core - 로컬 개발 중에 docker 호스팅으로 바꾸는 경우 SQL 서버 접근 방법12945정성태1/28/202213984오류 유형: 791. SQL 서버 로그인 시 localhost는 되고, 127.0.0.1로는 안 되는 문제12944정성태1/28/202217375.NET Framework: 1143. C# - Entity Framework Core 6 개요12943정성태1/27/202216663.NET Framework: 1142. .NET 5+로 포팅 시 플랫폼 호환성 경고 메시지(SYSLIB0006, SYSLIB0011, CA1416) [1]112942정성태1/27/202216135.NET Framework: 1141. XmlSerializer와 Dictionary 타입112941정성태1/26/202217385오류 유형: 790. AKS/k8s - pod 상태가 Pending으로 지속되는 경우12940정성태1/26/202213838오류 유형: 789. AKS에서 hpa에 따른 autoscale 기능이 동작하지 않는다면?12939정성태1/25/202214967.NET Framework: 1140. C# - ffmpeg(FFmpeg.AutoGen)를 이용해 MP3 오디오 파일 인코딩/디코딩하는 예제112938정성태1/24/202218175개발 환경 구성: 633. Docker Desktop + k8s 환경에서 local 이미지를 사용하는 방법12937정성태1/24/202215749.NET Framework: 1139. C# - ffmpeg(FFmpeg.AutoGen)를 이용해 오디오(mp2) 인코딩하는 예제(encode_audio.c) [2]112936정성태1/22/202215346.NET Framework: 1138. C# - ffmpeg(FFmpeg.AutoGen)를 이용해 멀티미디어 파일의 메타데이터를 보여주는 예제(metadata.c)1 ... 31 32 33 34 35 36 37 38 [39] 40 41 42 43 44 45 ...