성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] 그냥 RSS Reader 기능과 약간의 UI 편의성 때문에 사용...
[이종효] 오래된 소프트웨어는 보안 위협이 되기도 합니다. 혹시 어떤 기능...
[정성태] @Keystroke IEEE의 문서를 소개해 주시다니... +_...
[손민수 (Keystroke)] 괜히 듀얼채널 구성할 때 한번에 같은 제품 사라고 하는 것이 아...
[정성태] 전각(Full-width)/반각(Half-width) 기능을 토...
[정성태] Vector에 대한 내용은 없습니다. Vector가 닷넷 BCL...
[orion] 글 읽고 찾아보니 디자인 타임에는 InitializeCompon...
[orion] 연휴 전에 재현 프로젝트 올리자 생각해 놓고 여의치 않아서 못 ...
[정성태] 아래의 글에 정리했으니 참고하세요. C# - Typed D...
[정성태] 간단한 재현 프로젝트라도 있을까요? 저런 식으로 설명만 해...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<div style='display: inline'> <h1 ext='true' style='font-family: Malgun Gothic, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>도서: 시작하세요! C# 프로그래밍: 기본 문법부터 실전 예제까지</h1> <p> 1년 조금 넘게 쓴 책이 출판되었습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > 시작하세요! C# 프로그래밍: 기본 문법부터 실전 예제까지 ; <a target='tab' href='http://www.yes24.com/24/goods/11257753?scode=032&OzSrank=1'>http://www.yes24.com/24/goods/11257753?scode=032&OzSrank=1</a> </pre> <br /> 초보자를 대상으로 쓰여졌으므로, 학생들이나 신입사원 교육용으로 좋을 듯 싶습니다.<br /> <br /> 책에서 혹시 이해가 안되거나 궁금하신 부분이 있으면 다음의 게시판을 활용해 주시면 답변을 드리도록 하겠습니다. (물론, 오타나 문장이 이상한 부분이 있는 것도 게시판을 통해 알려주시면 반영하겠습니다.)<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > 질문 답변 게시판 ; <a target='tab' href='http://www.sysnet.pe.kr/3/0'>http://www.sysnet.pe.kr/3/0</a> </pre> <br /> 책에 있는 예제는 다음의 경로에서 다운로드 받을 수 있고,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > 소스코드 다운로드(개별) ; <a target='tab' href='http://res.sysnet.pe.kr/book/source/index.html'>http://res.sysnet.pe.kr/book/source/index.html</a> 소스코드 다운로드(단일 ZIP 파일) ; <a target='tab' href='https://onedrive.live.com/redir.aspx?cid=961704f5f30e2977&resid=961704F5F30E2977!99510&parId=961704F5F30E2977!93486'>https://onedrive.live.com/redir.aspx?cid=961704f5f30e2977&resid=961704F5F30E2977!99510&parId=961704F5F30E2977!93486</a> 6장에서 만드는 SQL 데이터베이스 파일 ; <a target='tab' href='https://www.sysnet.pe.kr/book/book_db_file.zip'>https://www.sysnet.pe.kr/book/book_db_file.zip</a> </pre> <br /> 그림도 모두 큰 그림으로 보실 수 있도록 다음의 경로에 포함시켜 두었습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > 책에 포함된 그림 ; <a target='tab' href='http://res.sysnet.pe.kr/book/img/index.html'>http://res.sysnet.pe.kr/book/img/index.html</a> </pre> <br /> 캡쳐된 그림 이외에 다이어그램을 그리기 위해 사용한 PPT 파일도 아래에 공개해 두었습니다. (일부 다이어그램은 출판사 측에서 인쇄를 위해 재편집을 했기 때문에 원본과 약간 다를 수 있습니다.)<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > 다이어그램 원본 PPT 파일 ; <a target='tab' href='https://www.sysnet.pe.kr/book/diagram.pptx'>https://www.sysnet.pe.kr/book/diagram.pptx</a> </pre> <br /> 마지막으로 12장에서 다루고 있는 파워포인트 제어 실습 예제는 현재 윈도우 폰과 구글 앱 스토어에 실제로 등록되어 있으니 직접 스마트 폰에 내려받아서 테스트해 보실 수 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > 윈도우 폰 - OfficeController ; <a target='tab' href='http://www.windowsphone.com/s?appid=db531773-4b34-42a2-a61a-fcfb7353f2e7'>http://www.windowsphone.com/s?appid=db531773-4b34-42a2-a61a-fcfb7353f2e7</a> 안드로이드 폰 - OfficePresenter ; <a target='tab' href='https://play.google.com/store/apps/details?id=kr.pe.sysnet.OfficePresenter'>https://play.google.com/store/apps/details?id=kr.pe.sysnet.OfficePresenter</a> </pre> <br /> 모두 C#으로 만들어져 있으며 다음의 사이트에 코드가 공개되어 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > OfficePresenter 소스코드 ; <a target='tab' href='https://github.com/stjeong/OfficePresenter'>https://github.com/stjeong/OfficePresenter</a> (다운로드 방법: 위 링크의 우측 하단에 "Download ZIP" 버튼을 누르면 됩니다.) </pre> <br /> 참고로, Android 버전의 경우 <a target='tab' href='https://store.xamarin.com//'>Xamarin 제품</a>을 이용해서 C# 소스코드로 만들어졌습니다.<br /> <br /> <hr style='width: 50%' /><br /> <br /> <br /><div style='font-size: 12pt; font-family: Malgun Gothic, Consolas; color: #2211AA; text-align: left; font-weight: bold'>[정오표]</div> <br /> * 1부 정오표 *<br /> <table class="commentlist" style='width: 100%' border="2" > <tr> <th width='200px'>위치</th> <th>변경 전</th> <th>변경 후</th> </tr> <tr> <td>2.3 모노 개발 환경(32쪽 중간)</td> <td> 현재 공식적으로 Mono가 지원되는 플랫폼은 openSUSE, Max OS X, </td> <td> 현재 공식적으로 Mono가 지원되는 플랫폼은 openSUSE, <span style='color: blue; font-weight: bold'>Mac OS X</span>, </td> </tr> <tr> <td>2.4 비주얼 스튜디오 개발 환경(39쪽 아래에서 3번째 줄)</td> <td> "Build Solution" (단축키: F7) </td> <td> "Build Solution" (단축키: F6)<br />(<a target='tab' href='http://www.sysnet.pe.kr/3/0/1224'>첫 번째 의견</a>) </td> </tr> <tr> <td>3.1.1 정수형 기본 타입(48쪽 예제코드)</td> <td> System.Int32 sum = n1 + n2; </td> <td> <span style='color: blue; font-weight: bold'>System.Int64</span> sum = n1 + n2; </td> </tr> <tr> <td>3.1.3 문자형 기본 타입(49쪽 아래에서 두 번째 줄)</td> <td> uint가 수를 담기 위한 타입으로 정해져 있는 반면 </td> <td> <span style='color: blue; font-weight: bold'>ushort</span>가 수를 담기 위한 타입으로 정해져 있는 반면<br /> (<a target='tab' href='http://www.sysnet.pe.kr/3/0/1224'>(null)님이 오류 보고 해주신 사항</a>입니다.) </td> </tr> <tr> <td>3.1.3 문자형 기본 타입(50쪽 아래에서 첫 번째, 세 번째 줄)</td> <td colspan='2'> 첫 번째와 세 번째 줄에 포함된 uint를 모두 ushort로 변경<br /> (<a target='tab' href='http://www.sysnet.pe.kr/3/0/1224'>(null)님이 오류 보고 해주신 사항</a>입니다.) </td> </tr> <tr> <td>3.3.4.2 값 형식을 가리키는 변수(59쪽 마지막에서 두 번째 줄)</td> <td> sbyte, byte, short, ushort, </td> <td> sbyte, byte, <span style='color: blue; font-weight: bold'>char</span>, short, ushort<br /> (<a target='tab' href='http://www.sysnet.pe.kr/3/0/1224'>(null)님이 오류 보고 해주신 사항</a>입니다. 목록에 char 타입이 빠져 있습니다.) </td> </tr> <tr> <td>3.4 배열(67쪽 그림 3.8)</td> <td> <img height='200px' src='http://res.sysnet.pe.kr/book/img/array_old.png'> </td> <td> <a href='http://res.sysnet.pe.kr/book/img/array.png'><img border='0' height='200px' src='http://res.sysnet.pe.kr/book/img/array.png'></a> </td> </tr> <tr> <td>3.5.1.2 if 문(76쪽 첫 번째 출력 결과)</td> <td> 출력 결과<br /> 6은 3의 배수<br /> 연산 결과 끝<br /> </td> <td> 출력 결과<br /> 6은 3의 배수<br /> 연산 결과 끝<span style='color: blue; font-weight: bold'>!</span><br /> </td> </tr> <tr> <td>3.5.1.2 if 문(76쪽 두 번째 출력 결과)</td> <td> 출력 결과<br /> value는 홀수<br /> 연산 결과 끝<br /> </td> <td> 출력 결과<br /> value는 홀수<br /> (<a target='tab' href='http://www.sysnet.pe.kr/3/0/1200'>박지호님이 오류 보고 해주신 사항</a>입니다.) </td> </tr> <tr> <td>3.5.1.3 switch 문(79쪽 중간 예제 코드)</td> <td> char ch = 'F': </td> <td> char ch = <span style='color: blue; font-weight: bold'>'F';</span> </td> </tr> <tr> <td>3.5.1.3 switch 문(81쪽 예제 코드)</td> <td colspan='2'> "// 여기에 있는 break를..."에서부터 "// 따라서 가급적 ..."의 주석 전체를 삭제 (실제로 주석대로 해보면 컴파일 에러가 발생합니다.) </td> </tr> <tr> <td>3.5.3.2 continue 문(93쪽 첫째 줄)</td> <td> 0~1,000까지의 숫자 중에서 2, 3, 5의 배수가 아닌 수만 sum 변수에 합산하는데, </td> <td> 0~1,000까지의 숫자 중에서 <span style='color: blue; font-weight: bold'>동시에 2, 3, 5의 배수인 수만</span> sum 변수에 합산하는데,<br /> ("노현석"님이 오류 보고 해주신 사항입니다.) </td> </tr> <tr> <td>4.1.2.1 중복 코드 제거(109쪽 중간 예제 코드 출력결과)</td> <td> 결과: 10 </td> <td> 10 </td> </tr> <tr> <td>4.1.3 생성자(112쪽 예제 코드의 출력결과)</td> <td> person 객체 생성된 후 </td> <td> person 객체 생성된 후<span style='color: blue; font-weight: bold'>.</span> ('후' 글자 다음의 점 문자가 누락되었습니다.) </td> </tr> <tr> <td>4.2.1 접근제한자(131쪽 표4.2의 internal protected 설명)</td> <td> 동일 어셈블리 내에서 정의된 파생 클래스에만 </td> <td> 동일 어셈블리 내에서 정의된 파생 클래스까지만<br /> (<a target='tab' href='http://www.sysnet.pe.kr/3/0/1203'>"박지호"님이 오류 보고 해주신 사항</a>입니다.) </td> </tr> <tr> <td>4.2.2 정보 은닉(134쪽 중간 예제 코드)</td> <td> if (pi <= 3 && pi >= 3.15) </td> <td> if (<span style='color: blue; font-weight: bold'>value</span> <= 3 <span style='color: blue; font-weight: bold'>||</span> <span style='color: blue; font-weight: bold'>value</span> >= 3.15)<br /> (<a target='tab' href='http://www.sysnet.pe.kr/3/0/1319'>글에서 오류 보고 해주신 사항</a>입니다.) </td> </tr> <tr> <td>4.3.1 형변환(142쪽)</td> <td colspan='2'> 142쪽의 하단 예제 코드까지의 설명을 모두 아래와 같이 수정합니다. <img alt='book_1.png' src='/SysWebRes/bbs/book_1.png' /><br /> (<a target='tab' href='http://www.sysnet.pe.kr/3/0/1251'>"(null)"님이 오류 보고 해주신 사항</a>입니다.) </td> </tr> <tr> <td>4.3.4 this(157쪽 아래로부터 3번째 줄)</td> <td> 변수 Book은 <span style='color: blue; font-weight: bold'>콤마(',')</span>를 사용해 객체의 멤버를 호출할 수 있는데, </td> <td> 변수 Book은 <span style='color: blue; font-weight: bold'>마침표('.')</span>를 사용해 객체의 멤버를 호출할 수 있는데,<br /> (<a target='tab' href='http://www.sysnet.pe.kr/3/0/1203'>"박지호"님이 오류 보고 해주신 사항</a>입니다.) </td> </tr> <tr> <td>4.4.2.3 클래스 간의 형변환(180쪽 첫 번째 예제 코드, 181쪽 2번째 예제 코드)</td> <td colspan='2'> dolloar 변수명을 모두 dollar로 변경 (실행과는 상관없지만, 제가 의도한 변수명은 dollar입니다.)<br /> (<a target='tab' href='http://www.sysnet.pe.kr/3/0/1203'>"박지호"님이 오류 보고 해주신 사항</a>입니다.) </td> </tr> <!--tr> <td>4.5.1.2 추상 클래스(185쪽 6번째 줄)</td> <td> 물론 코드가 비어 있는 가상 메서드와 일반 클래스로 정의해도 무방하다. </td> <td> 물론 코드가 비어 있는 가상 메서드와 <span style='color: blue; font-weight: bold'>일반 클래스의 조합으로</span> 정의해도 무방하다. </td> </tr--> <tr> <td>4.5.1.3 델리게이트(198쪽 class Person 구현 코드)</td> <td colspan='2'> Person 클래스에 다음과 같이 생성자를 추가<br /> <br /> public Person(int age, string name)<br /> {<br /> this.Age = age;<br /> this.Name = name;<br /> }<br /> </td> </tr> <tr> <td>4.5.1.3 델리게이트(198쪽 class SortPerson 구현 코드)</td> <td colspan='2'> SortPerson 클래스에 Display 메서드 추가<br /> <br /> public void Display()<br /> {<br /> for (int i = 0; i < men.Length; i++)<br /> { <br /> Console.WriteLine(men[i] + ",");<br /> }<br /> }<br /> </td> </tr> <tr> <td>4.5.1.3 델리게이트(199쪽 10번째 줄)</td> <td> <span style='color: blue; font-weight: bold'>내림</span>차순 정렬을 원하는 </td> <td> <span style='color: blue; font-weight: bold'>오름</span>차순 정렬을 원하는<br /> (<a target='tab' href='http://www.sysnet.pe.kr/3/0/1205'>"박지호"님이 오류 보고 해주신 사항</a>입니다.) </td> </tr> <tr> <td>4.5.1.3 델리게이트(199쪽 예제의 DescSortByName 메서드)</td> <td> static bool <span style='color: blue; font-weight: bold'>DescSortByName</span>(Person arg1, Person arg2)<br /> {<br /> // string 객체의 CompareTo 메서드는 문자열 비교를 수행.<br /> // 문자열이 사전 정렬 순으로 비교해서 크면 1, 같으면 0, 작으면 -1을 반환<br /> // 따라서 0보다 작은 값을 반환한 경우를 true로 가정하면 <span style='color: blue; font-weight: bold'>내림차순</span> 정렬<br /> return arg1.Name.CompareTo(arg2.Name) < 0;<br /> }<br /> </td> <td> static bool <span style='color: blue; font-weight: bold'>AscSortByName</span>(Person arg1, Person arg2)<br /> {<br /> // string 객체의 CompareTo 메서드는 문자열 비교를 수행.<br /> // 문자열이 사전 정렬 순으로 비교해서 크면 1, 같으면 0, 작으면 -1을 반환<br /> // 따라서 0보다 작은 값을 반환한 경우를 true로 가정하면 <span style='color: blue; font-weight: bold'>오름차순</span> 정렬<br /> return arg1.Name.CompareTo(arg2.Name) < 0;<br /> }<br /> <br /> (<a target='tab' href='http://www.sysnet.pe.kr/3/0/1205'>"박지호"님이 오류 보고 해주신 사항</a>입니다.) </td> </tr> <tr> <td>4.5.1.3 델리게이트(200쪽 예제 출력 결과)</td> <td colspan='2'> 출력 결과<br /> Anders: 51,<br /> Mads: 62,<br /> Peter: 45,<br /> Scott: 37,<br /> (<a target='tab' href='http://www.sysnet.pe.kr/3/0/1205'>"박지호"님이 오류 보고 해주신 사항</a>입니다.) </td> </tr> <tr> <td>4.5.1.3 델리게이트(200쪽과 202쪽 상단의 Main 메서드 코드)</td> <td> so.Sort(<span style='color: blue; font-weight: bold'>DescSortByName</span>); </td> <td> so.Sort(<span style='color: blue; font-weight: bold'>AscSortByName</span>);<br /> (<a target='tab' href='http://www.sysnet.pe.kr/3/0/1205'>"박지호"님이 오류 보고 해주신 사항</a>입니다.) </td> </tr> <tr> <td>4.5.1.3 델리게이트(201쪽 예제의 DescSortByName 메서드)</td> <td> static bool <span style='color: blue; font-weight: bold'>DescSortByName</span>(object arg1, object arg2)<br /> </td> <td> static bool <span style='color: blue; font-weight: bold'>AscSortByName</span>(object arg1, object arg2)<br /> <br /> (<a target='tab' href='http://www.sysnet.pe.kr/3/0/1205'>"박지호"님이 오류 보고 해주신 사항</a>입니다.) </td> </tr> <!--tr> <td>4.5.1.4 인터페이스(202쪽 interface 문법 상자)</td> <td> 관례적으로 인터페이스 이름에는 <span style='font-family: Microsoft Sans Serif'>I</span> 접두사를 붙인다. </td> <td> 관례적으로 인터페이스 이름에는 <span style='font-family: Verdana'>I</span> 접두사를 붙인다. </td> </tr--> <tr> <td>4.5.1.4 인터페이스 - IEnumerable 인터페이스(212~213쪽 예제 코드)</td> <td> public USBEnumerator(USB[] usb)<br /> {<br /> list = usb;<br /> }<br /> <br /> public bool MoveNext()<br /> {<br /> if (pos > length)<br /> {<br /> return false;<br /> }<br /> <br /> pos++;<br /> return true;<br /> } </td> <td> public USBEnumerator(USB[] usb)<br /> {<br /> list = usb;<br /> <span style='color: blue; font-weight: bold'>length = usb.Length;</span><br /> }<br /> <br /> public bool MoveNext()<br /> {<br /> if (<span style='color: blue; font-weight: bold'>pos >= length - 1</span>)<br /> {<br /> return false;<br /> }<br /> <br /> pos++;<br /> return true;<br /> }<br /> <br /> ("<a target='tab' href='http://www.sysnet.pe.kr/3/0/3588'>재현</a>"님이 오류 보고 해주신 사항입니다.) </td> </tr> <tr> <td>4.5.1.4 인터페이스(216쪽 첫째 줄)</td> <td> 또는 설령 Monitor 타입의 이름을 LCD로 바꾸더라도 Switch 타입의 내부 코드는 전혀 변경될 필요가 없다. </td> <td> 또는 아예 새롭게 LCD 타입을 정의해 PowerOn 메서드에 전달한다 해도 IPower 인터페이스를 상속받는 약속만 지킨다면 내부의 코드는 전혀 변경될 필요가 없다. </td> </tr> <tr> <td>4.5.1.5 구조체 - ref 예약어(228쪽 하단 예제 영역의 마지막 코드)</td> <td> Vector vt2 = new Vector() </td> <td> Vector vt2 = new <span style='color: blue; font-weight: bold'>Vector();</span> </td> </tr> <tr> <td>4.5.1.6 열거형(235쪽 하단 예제 및 236쪽 상단 예제)</td> <td> switch (operator) </td> <td> switch (opType)<br /> <br /> ("<a target='tab' href='http://www.sysnet.pe.kr/3/0/3588'>재현</a>"님이 오류 보고 해주신 사항입니다.) </td> </tr> <tr> <td>4.5.2.3 이벤트(245쪽)</td> <td colspan='2'> event가 적용된 완전한 예제 코드를 추가(<a target='tab' href='http://res.sysnet.pe.kr/book/source/delegate_to_event.zip'>http://res.sysnet.pe.kr/book/source/delegate_to_event.zip</a>) </td> </tr> <tr> <td>5.1.1.4 특성 - 다중 적용과 상속(265쪽 하단에서 첫 번째와 두 번째 예제 코드)</td> <td> enum Days { // …… [생략] …… } </td> <td> enum Days { <span style='color: blue; font-weight: bold'>/* …… [생략] …… */</span> } </td> </tr> <tr> <td>5.1.2.1 시프트 연산자(267쪽 마지막 줄)</td> <td> 00000000 00000000 00000000 00100110: 결과값 9 </td> <td> 00000000 00000000 00000000 <span style='color: blue; font-weight: bold'>00001001</span>: 결과값 9<br /> (<a target='tab' href='http://www.sysnet.pe.kr/3/0/1208'>"박지호"님이 오류 보고 해주신 사항</a>입니다.) </td> </tr> <tr> <td>5.1.2.1 시프트 연산자(268쪽 5번째 줄, 7번째 줄)</td> <td colspan='2'> "38 * 4 == 38 << 2 == 152가 된다."의 문장에서 '==' 표현이 인쇄된 책에는 길게 붙어서 나타나지만 원래는 C#의 Equals 연산자(==)를 표현한 것임. 즉, 38 * 4의 결과와 38 << 2의 결과는 모두 152라는 것을 나타낸 것임. </td> </tr> <tr> <td>5.2.4 디버그빌드와 릴리즈빌드(300쪽 3번째 줄)</td> <td> 라인 정보가 출력되더라도 예제 5.7의 라인과 비교하면 </td> <td> 라인 정보가 출력되더라도 <span style='color: blue; font-weight: bold'>예제 5.8</span>의 라인과 비교하면<br /> (<a target='tab' href='http://www.sysnet.pe.kr/3/0/1208'>"박지호"님이 오류 보고 해주신 사항</a>입니다.) </td> </tr> <tr> <td>5.3.2 예외 처리기(322쪽 중간 예제 코드)</td> <td> FileHandle file = null; </td> <td> <span style='color: blue; font-weight: bold'>FileStream</span> file = null; </td> </tr> <tr> <td>5.4.2.5 자원 해제(350쪽 예제 5.21의 3번째 줄)</td> <td> class Program : IDisposal </td> <td> class Program<br /> (<a target='tab' href='http://www.sysnet.pe.kr/3/0/1208'>"박지호"님이 오류 보고 해주신 사항</a>입니다.) </td> </tr> <tr> <td>6.2.4 System.Text.RegularExpressions.Regex(378쪽 정규 표현식 예제 박스)</td> <td colspan='2'> 1. 박스 설명에서 3, 5, 6번째 줄에 있는 "[0-9<span style='color: blue; font-weight: bold'>a-a</span>A-Z]+" 표현을 "[0-9<span style='color: blue; font-weight: bold'>a-z</span>A-Z]+"로 일괄 변경합니다.<br /> <br /> 2. 마지막 "$"의 설명: "<span style='color: blue; font-weight: bold'>이전의 규칙을 만족하면서 끝남</span>(즉, 점과 1개 이상의 영숫자가 1번 이상 반복<span style='color: blue; font-weight: bold'>되면서 끝남</span>)<br /><br /> (<a target='tab' href='http://www.sysnet.pe.kr/3/0/1241'>"(null)"님이 오류 보고 해주신 사항</a>입니다.) </td> </tr> <tr> <td>6.3.4 System.IO.BinaryWriter / System.IO.BinaryReader(387쪽 마지막에서 4번째 줄)</td> <td colspan='2'> "<span style='text-decoration: line-through'>StreamWriter는 생성자에서 인코딩 방식을 지정할 수 있었지만, BinaryWriter는 인코딩을 생성자에 서 지원하지 않는다. 대신 문자열에 대해서는 무조건 UTF-8 인코딩을 적용한다.</span>" 문장을 삭제 (BinaryWriter도 인코딩 인자를 지원하고, 기본값은 UTF-8입니다.)<br /><br /> (<a target='tab' href='http://www.sysnet.pe.kr/3/0/1224'>"(null)"님이 오류 보고 해주신 사항</a>입니다.) </td> </tr> <tr> <td>6.3.7 System.Runtime.Serialization.Json.DataContractJsonSerializer(394쪽 상단 예제 코드 영역)</td> <td> Console.WriteLine(clone); // 출력 결과: 27 Ted </td> <td> Console.WriteLine(clone); // 출력 결과: <span style='color: blue; font-weight: bold'>36 Anderson</span> </td> </tr> <tr> <td>6.7.4 System.Net.Dns(456쪽 4번째 줄)</td> <td> micrsooft.com"을 입력하는 식으로 </td> <td> microsoft.com"을 입력하는 식으로 </td> </tr> <tr> <td>6.7.5.4 HTTP 통신(480쪽 예제 6.41)</td> <td> StringBuilder sb = new StringBuilder();<br /> while (true)<br /> {<br /> byte [] rcvBuffer = new byte[4096];<br /> <br /> int nRecv = socket.Receive(rcvBuffer);<br /> if (nRecv == 0)<br /> {<br /> // 서버 측에서 더 이상 받을 데이터가 없으면 0을 반환<br /> break; <br /> }<br /> <br /> string text = Encoding.UTF8.GetString(rcvBuffer, 0, nRecv);<br /> sb.Append(text);<br /> }<br /> <br /> socket.Close();<br /> <br /> string response = sb.ToString();<br /> </td> <td> MemoryStream ms = new MemoryStream();<br /> while (true)<br /> {<br /> byte[] rcvBuffer = new byte[4096];<br /> <br /> int nRecv = socket.Receive(rcvBuffer);<br /> if (nRecv == 0)<br /> {<br /> // 서버 측에서 더 이상 받을 데이터가 없으면 0을 반환<br /> break;<br /> }<br /> <br /> ms.Write(rcvBuffer, 0, nRecv);<br /> }<br /> <br /> socket.Close();<br /> <br /> string response = Encoding.UTF8.GetString(ms.GetBuffer(), 0, (int)ms.Length);<br /> </td> </tr> <tr> <td>6.8.2.1 System.Data.SqlClient.SqlConnection(508, 509, 514, 515쪽 예제 코드)</td> <td> using (SqlConnection sqlCon = new SqlConnection(connectionString))<br /> {<br /> sqlCon.ConnectionString = connectionString;<br /> sqlCon.Open();<br /> // DB에 연결된 동안 …… [DB 쿼리 실행] ……<br /> } </td> <td> using (SqlConnection sqlCon = new <span style='color: blue; font-weight: bold'>SqlConnection()</span>)<br /> {<br /> sqlCon.ConnectionString = connectionString;<br /> sqlCon.Open();<br /> // DB에 연결된 동안 …… [DB 쿼리 실행] ……<br /> }<br /> <br /> (만약, 생성자에서 연결 문자열을 넘겼다면 이후 ConnectionString 속성에는 대입할 필요가 없음.) </td> </tr> </table> <br /> * 2부 정오표 *<br /> <table class="commentlist" style='width: 100%' border="2" > <tr> <th width='200px'>위치</th> <th>변경 전</th> <th>변경 후</th> </tr> <tr> <td>8.4 컬렉션 초기화(599쪽 6번째 줄)</td> <td> ICollection 인터페이스는 Add 메서드를 포함한다. </td> <td> ICollection<T> 인터페이스는 Add 메서드를 포함한다. </td> </tr> <tr> <td>8.9 LINQ(619쪽 예제 코드)</td> <td> class Person<br /> {<br /> public string Name { get; set; }<br /> public int Age { get; set; }<br /> <br /> public override string ToString()<br /> {<br /> return string.Format("{0}: {1}", Name, Age);<br /> }<br /> } </td> <td> class Person<br /> {<br /> public string Name { get; set; }<br /> public int Age { get; set; }<br /> <span style='color: blue; font-weight: bold'>public string Address { get; set; }</span><br /> <br /> public override string ToString()<br /> {<br /> return string.Format(<span style='color: blue; font-weight: bold'>"{0}: {1} in {2}", Name, Age, Address</span>);<br /> }<br /> } </td> </tr> <tr> <td>8.9 LINQ(619쪽 예제 코드)</td> <td> new Person { Name = "Tom", Age = 63 },<br /> new Person { Name = "Winnie", Age = 40 },<br /> new Person { Name = "Anders", Age = 47 },<br /> new Person { Name = "Hans", Age = 25 },<br /> new Person { Name = "Eureka", Age = 32 },<br /> new Person { Name = "Hawk", Age = 15 }, <br /> </td> <td> new Person { Name = "Tom", Age = 63<span style='color: blue; font-weight: bold'>, Address = "Korea"</span> },<br /> new Person { Name = "Winnie", Age = 40<span style='color: blue; font-weight: bold'>, Address = "Tibet"</span> },<br /> new Person { Name = "Anders", Age = 47<span style='color: blue; font-weight: bold'>, Address = "Sudan"</span> },<br /> new Person { Name = "Hans", Age = 25<span style='color: blue; font-weight: bold'>, Address = "Tibet"</span> },<br /> new Person { Name = "Eureka", Age = 32<span style='color: blue; font-weight: bold'>, Address = "Sudan"</span> },<br /> new Person { Name = "Hawk", Age = 15<span style='color: blue; font-weight: bold'>, Address = "Korea"</span> }, <br /> </td> </tr> <tr> <td>10.2 비동기 호출(653쪽 예제 10.2)</td> <td> AwaitRead() </td> <td> AwaitRead<span style='color: blue; font-weight: bold'>();</span> </td> </tr> </table> <br /> * 3부 정오표 *<br /> <table class="commentlist" style='width: 100%' border="2" > <tr> <th width='200px'>위치</th> <th>변경 전</th> <th>변경 후</th> </tr> <tr> <td>11.2.3 레이아웃을 위한 패널 (731쪽 4번째 줄)</td> <td> 0번째 칼럼(ColumnDefinition)의 Width 값이 별표(*)로 지정된 것에 유의하자. Width 값에는 원래 double 형의 숫자값을 지정해야 하지만 유일하게 별표 문자가 허용된다. 그 이유는 "전체 크기에서 다른 칼럼의 Width를 제외한 나머지 크기"를 표현하는 용도로 사용되기 때문이다. </td> <td> 0번째 칼럼(ColumnDefinition)의 Width 값이 별표(*)로 지정된 것에 유의하자. <span style='color: blue; font-weight: bold'>Width 값에는 double 형의 숫자값 외에 '*', 'Auto' 값이 예외적으로 허용된다. '*'로 설정된 경우 나머지 전체 크기를 의미하며, 'Auto'로 설정된 경우 해당 칼럼에 위치하는 자식 컨트롤들의 크기로 자동 지정된다.</span> </td> </tr> <tr> <td>11.3 서비스 응용 프로그램(753쪽 11번째 줄)</td> <td> 하지만 "Local System"과 "Local Service" 계정은 액티브 디렉터리 내의 다른 컴퓨터로 접근하는 경우 "익명(Anonymous)" 권한을 갖지만, </td> <td> 하지만 <span style='color: blue; font-weight: bold'>"Local Service" 계정은</span> 액티브 디렉터리 내의 다른 컴퓨터로 접근하는 경우 "익명(Anonymous)" 권한을 갖지만, </td> </tr> </table> <br /> </p><br /> </div>
첨부파일
스팸 방지용 인증 번호
9163
(왼쪽의 숫자를 입력해야 합니다.)