[도서] Beginning C#



Beginning C#

지은이 Karli Watson/류광 출판사 정보문화사 | 발행일 2002년 03월 26일

도서 소개
C#은 Microsoft의 새로운 플랫폼인 .NET Framework을 위한 새로운 프로그래밍 언어이다. .NET Framework은 코드의 실행을 관리하는 런타임 환경과 생각할 수 있는 거의 모든 프로그래밍 작업에 대한 다양한 클래스 라이브러리들로 구성된다. .NET 코드를 작성할 수 있는 언어는 많으나, .NET Framework을 위해 특별히 고안된 언어는 C# 뿐이며, 그런만큼 몇 년 후면 대부분의 개발자들이 C#으로 .NET 응용 프로그램을 만들게 될 것이다.

이 책은 C# 프로그램의 작성을 위한 필수적인 가이드가 될 것이다. 이 책은 C#과 .NET의 핵심 개념들을 설명하고, C# 언어의 기본 내용을 이야기한다. 그런 다음에는 개체 지향적 프로그래밍을 살펴보고, C#으로 Windows 응용 프로그램을 작성하는 방법을 설명한다. 또한 C#로 동적인 웹 페이지와 웹 서비스를 작성하는 방법과 실제로 작동하는 C# 응용 프로그램에 대한 두 개의 사례 연구도 제공한다.

이 책은 누구를 위한 책인가?

Beginning C#은 초보자 또는 현대의 개체 지향적 프로그래밍 기술을 지원하지 않는 언어들로부터 .NET Framework으로 이동하고자 하는, 비교적 경험이 없는 프로그래머들도 쉽게 읽을 수 있는 C# 입문서이다. C++에 대한 지식이 있어야 이해할 수 있는 여러 C# 책들에 지친 사람이라면 이 책이 큰 도움이 될 것이다.

이 책이 다루는 내용

- C# 언어
- C#을 이용한 .NET 프로그래밍
- 개체 지향적 프로그래밍
- Windows 응용 프로그램 작성
- 데이터베이스 접근
- C#을 이용한 웹 페이지 및 웹 서비스 작성


목 차
제1부 - 시작하기

제1장 C#의 소개

.NET Framework이란
.NET Framework에 포함된 것들
.NET Framework으로 응용 프로그램을 작성하려면
C#이란 무엇인가
C#으로 작성할 수 있는 응용 프로그램 종류들
이 책의 C#
Visual Studio.NET
VS 솔루션
요약


제2장 C# 프로그램 만들기

Visual Studio.NET 개발 환경
콘솔 응용 프로그램
Windows Forms 응용 프로그램
요약


제2부 - C# 언어의 기초

제3장 변수와 표현식

C#의 기본적인 구문
기본적인 C# 콘솔 응용 프로그램의 구조
변수들
단순 형식들
변수 명명 규칙
리터럴 값들
변수의 선언과 배정
표현식
산술 연산자들
배정 연산자들
연산자 우선 순위
네임스페이스
요약
연습 문제


제4장 흐름 제어

부울 논리
비트 단위 연산자들
부울 배정 연산자들
전체적인 연산자 우선 순위
goto 문
분기
3항 연산자
if 문
switch 문
루프
do 루프
while 루프
for 루프
루프의 흐름 제어
무한 루프
요약
연습 문제


제5장 변수에 대해 좀더 자세히

형식 변환
복잡한 변수 형식
열거형
구조체
배열
문자열 조작
요약
연습 문제


제6장 함수

함수의 정의와 사용
반환값
매개변수
변수 범위
다른 구조에서의 변수 범위
매개변수 및 반환값 대 전역 데이터
Main() 함수
구조체 함수
함수 오버로딩
대리자
요약
연습 문제


제7장 디버깅과 오류 처리

Visual Studio에서의 디버깅
비 중단 모드(정상 모드)에서의 디버깅
중단 모드에서의 디버깅
오류 처리
예외
요약
연습 문제


제3부 - 개체 지향적 프로그래밍

제8장 개체 지향적 프로그래밍 입문

개체 지향적 프로그래밍이란
개체란 무엇인가?
모든 것은 개체
개체의 수명주기
정적 및 인스턴스 클래스 멤버
OOP 기법들
인터페이스
상속
다형성
개체들 사이의 관계
연산자 오버로딩
이벤트
참조 대 값 형식
윈도우즈 응용 프로그램에서의 OOP
요약
연습 문제


제9장 클래스의 정의

C#에서의 클래스 정의
인터페이스 정의
System.Object
생성자와 소멸자
생성자의 호출 순서
Visual Studio.NET의 OOP 도구들
클래스 뷰 창
개체 브라우저
클래스의 추가
클래스 라이브러리 프로젝트
인터페이스 대 추상 클래스
구조체와 클래스
얕은 복사 대 깊은 복사
요약
연습 문제


제10장 클래스 멤버의 정의

멤버 정의
VS 멤버 추가 마법사
멤버 속성들
추가적인 클래스 멤버 주제들
기반 클래스 메서드 숨기기
재정의된 또는 숨겨진 기반 클래스 메서드의 호출
중첩된 형식 정의
인터페이스 구현
클래스에서 인터페이스를 구현
예제 응용 프로그램
응용 프로그램의 설계
클래스 라이브러리의 작성
클래스 라이브러리를 사용하는 클라이언트 응용 프로그램
요약
연습 문제


제11장 클래스 고급 주제

컬렉션
컬렉션의 사용
컬렉션의 정의
연산자 오버로딩
변환 연산자
CardLib 업그레이드 2부
고급 변환
박싱과 언박싱
is 연산자
as 연산자
깊은 복사
CardLib 업그레이드 3부
사용자 정의 예외
CardLib 업그레이드 4부
요약
연습 문제


제12장 이벤트

이벤트란 무엇인가
이벤트의 사용
이벤트의 처리
이벤트의 정의
CardLib의 확장과 사용
CardLib를 위한 카드 게임 클라이언트
요약
연습 문제


제4부 - Windows Forms 다루기

제13장 Windows Form 컨트롤

Windows 폼 디자이너
도구 상자
컨트롤
속성
Anchor와 Dock 속성
이벤트
Button 컨트롤
Button의 속성들
Button의 이벤트들
Label과 LinkLabel 컨트롤
TextBox 컨트롤
TextBox의 속성들
TextBox 이벤트들
RadioButton과 CheckBox 컨트롤
RadioButton의 속성들
RadioButton의 이벤트들
CheckBox의 속성들
CheckBox의 이벤트들
GroupBox 컨트롤
RichTextBox 컨트롤
RichTextBox의 속성들
RichTextBox의 이벤트들
ListBox와 CheckedListBox 컨트롤
ListBox의 속성들
ListBox의 메서드들
ListBox의 이벤트들
ComboBox 컨트롤
ComboBox의 속성들
ComboBox의 이벤트들
ListView 컨트롤
ListView의 속성들
ListView의 메서드들
ListView의 이벤트들
ListViewItem
ColumnHeader
ImageList 컨트롤
StatusBar 컨트롤
StatusBar의 속성들
StatusBar의 이벤트들
StatusBarPanel 클래스
StatusBar 예제
TabControl 컨트롤
TabControl의 속성들
TabControl 다루기
요약


제14장 고급 Windows 폼 기능들

메뉴
메뉴 컨트롤의 사용
MenuItem 컨트롤
MenuItem의 이벤트들
ContextMenu 컨트롤
ToolBar 컨트롤
ToolBar의 속성들
ToolBar의 이벤트들
ToolBarButton의 속성들
SDI와 MDI 응용 프로그램
MDI 응용 프로그램의 작성
컨트롤 제작
사용자 정의 컨트롤의 디버깅
LabelTextbox 컨트롤의 확장
요약
연습 문제


제15장 대화상자의 사용

대화상자
대화상자 사용법
파일 대화상자들
OpenFileDialog
SaveFileDialog
인쇄
인쇄 기능의 구조
여러 페이지 인쇄
페이지 설정
인쇄 대화상자
인쇄 미리보기
PrintPreviewDialog
PrintPreviewControl
FontDialog와 ColorDialog
FontDialog
ColorDialog
요약
연습 문제


제16장 GDI+ 입문

그래픽 드로잉의 개요
Graphics 클래스
개체의 해제
좌표계

Pen 클래스를 이용한 선 그리기
Brush 클래스를 이용한 도형 그리기
Font 클래스를 이용한 텍스트 출력
이미지를 이용한 그리기
TextureBrush로 그리기
Pen으로 이미지 그리기
이미지로 텍스트 그리기
더블 버퍼링
GDI+의 고급 기능들
클리핑
인쇄
인쇄 미리 보기
System.Drawing.Drawing2D
System.Drawing.Imaging
요약


제17장 Windows 응용 프로그램의 설치 및 배포

설치 및 배포란
설치 및 배포 프로젝트
Windows Installer의 구조
Windows Installer의 용어들
Windows Installer의 장점
Simple Editor를 위한 설치 패키지 만들기
설치에 대한 계획
프로젝트 작성
프로젝트 속성
설치 편집기들
파일 시스템 편집기
파일 형식 편집기
시작 조건 편집기
사용자 인터페이스 편집기
프로젝트의 빌드
설치
환영
추가 정보
사용권 계약
Optional Files
설치 폴더 선택
설치 확인
진행률
설치 완료
응용 프로그램의 실행
자동 복구
제거
요약


제5부 - .NET Framework 상에서의 프로그래밍

제18장 데이터 액세스 기초

VS에서의 데이터 액세스
데이터 액세스의 매우 간략한 역사
ADO.NET의 소개
VS에서 데이터 보기
데이터베이스에 연결
데이터베이스 테이블과 관계
응용 프로그램에서 데이터베이스에 접근
데이터 어댑터 구성 마법사
추가적인 정보 표시
DataSet 탐색
목록 상자 추가
Datagrid 추가
Datagrid의 포매팅
데이터베이스 갱신
XML
XML 문서
XML 네임스페이스
적격 XML과 유효한 XML
XML 문서의 유효성
C#의 XML 자동 문서화
요약
연습 문제


제19장 ADO.NET을 이용한 데이터 액세스

ADO.NET이란
ADO.NET이라는 이름
ADO.NET의 설계 목표
ADO.NET 클래스 및 개체의 개요
공급자 개체들
소비자 개체들
System.Data 네임스페이스의 사용
DataSet에 여러 테이블들을 넣기
XML과 ADO.NET
ADO.NET DataSet의 XML 지원
ADO.NET의 SQL 지원
DataAdapter의 SQL 명령
SQL 명령을 직접 실행하려면
ADO.NET에 대해 더 알고 싶다면
요약
연습 문제


제20장 파일 다루기

스트림
입력과 출력을 위한 클래스들
File과 Directory 클래스
FileInfo 클래스
DirectoryInfo 클래스
FileStream 개체
StreamWriter 개체
StreamReader 개체
고급 주제들
파일 시스템의 감시
비동기적 파일 액세스
요약
연습 문제


제21장 .NET 어셈블리

어셈블리 소개
구성요소
구성요소의 이점
구성요소의 간략한 역사
자기 서술적 특징
어셈블리의 구조
어셈블리 작성
어셈블리의 내용 보기
매니페스트
어셈블리 특성들
어셈블리의 호출
전용 및 공유 어셈블리
전용 어셈블리
공유 어셈블리
어셈블리 검색
요약
연습 문제


제22장 어트리뷰트(attribute)

어트리뷰트란
리플렉션
내장 어트리뷰트들
사용자 정의 어트리뷰트
TestCaseAttribute
System.AttributeUsageAttribute
요약


제6부 - C#과 웹

제23장 웹 프로그래밍의 기초

서문
인터넷의 간략한 역사
월드 와이드 웹
웹의 작동 방식
HTTP - HyperText Transfer Protocol
웹 프로그래밍의 기초
HTML
HTML 폼
정적 페이지 대 동적 페이지
웹의 진화
.NET 웹 프로그래밍
ASP.NET
WebForms
요약


제24장 ASP.NET 응용 프로그램

웹로그 작성
응용 프로그램의 기초
동적인 요소의 추가
웹로그 항목들
웹로그 항목의 저장
웹로그 항목의 표시
날짜 표시
페이지 꾸미기
항목들의 목록 표시
새 웹로그 항목의 생성
웹로그 항목의 수정
항목들의 정렬
사용자 세션과 쿠키
웹 사이트에 대한 접근 제한
요약
연습 문제


제25장 웹 서비스

웹 서비스 이전의 기술들
원격 프로시저 호출(RPC)
SOAP
웹 서비스의 용도
호텔 여행사 응용 프로그램 시나리오
도서 배급 응용 프로그램 시나리오
클라이언트 응용 프로그램의 종류
응용 프로그램 기반 구조
웹 서비스 기반 구조
웹 서비스를 위한 검색 엔진
웹 서비스 디스커버리
메서드 정보
메서드 호출
웹 서비스와 .NET Framework
웹 서비스 만들기
클라이언트
간단한 ASP.NET 웹 서비스 작성
생성된 파일들
웹 메서드의 추가
웹 서비스 테스트
윈도우즈 클라이언트의 구현
ASP.NET 클라이언트 작성
요약


제7부 - 사례 연구

사례 연구 1 웹 사이트 설문

웹 사이트 설문
버전 1
요구 사항
개체 모델 설계(업무 로직 계층)
테스트
데이터 구조(데이터 계층)
개체의 구현
사용자 인터페이스(표현 계층)
버전 1의 평가
버전 2
추가적인 요구사항들
설문 결과 도구
1인당 1표
설문 컨트롤
설문 응용 프로그램의 3 계층 구조
요약


사례 연구 2 온라인 뉴스레터 관리자

NewsMailer
응용 프로그램의 개요
응용 프로그램의 설계
데이터와 업무 개체들
데이터베이스 설계
데이터베이스 액세스를 위한 업무 클래스들
구성 데이터 관리
관리용 사용자 인터페이스
사용자 정의 컨트롤의 작성
리스트 관리 페이지
구독자 관리
구독자에게 이메일 전송
Utilities 클래스
뉴스 저장소의 관리
설정 변경 페이지
레이아웃 변경
사용자를 위한 구독 신청 폼
메일링 리스트 구독과 해지
응용 프로그램의 보안
어셈블리의 컴파일
응용 프로그램의 실행
브라우저 호환성 문제
요약


Sample C#을 이용한 온라인 쇼핑 카트 구축

부록 A PATH 환경 변수의 설정

부록 B MSDE의 설치

부록 C C# 컴파일 옵션들
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/11/03 10:36 2004/11/03 10:36
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/4550

조직이 지향하는 방향에 동조하지 않는 임원을
얼마나 기다려줘야 하는가? 라는
질문에 대한 정답은 ‘몇분에서 며칠이면 충분하다’이다.
생산성 높은 기업의 임원들 중에서,
기업의 새로운 진행방향에
수주일에서 수개월씩 시간을 제공받았다는 사람은
단 한번도 만난 적이 없다.
- 제이슨 제닝스 ‘작은 것이 많은 것이다’에서


잭 웰치 회장도 높은 성과를 창출하더라도
회사의 핵심 가치에 역행하는
임원들은 모두 정리했습니다.
임원이야말로 회사의 핵심인재입니다.
이들의 적극적 참여는 조직의 목적 달성에
지대한 영향을 미치는 결정적 소입니다.
임원들이 보이지 않게 주저하는 눈치만 보여도
벌써 부하 직원들은 알아서 몸을 움츠리게 됩니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/11/03 09:13 2004/11/03 09:13
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/1117

희망은 희망을 낳고

희망은 희망을 낳고
절망은 절망을 낳는다.
희망을 잉태시키려거든 잘 웃는 친구,
좋은 소식을 전하는 사람을 가까이 하라.
어두운 정보는 두려움을 전할 뿐이다.



- 홍영재의 《암을 넘어 100세까지》중에서 -



* 똑같은 상황에서도 웃는 사람이 있고
우는 사람이 있습니다. 같은 소식인데도
어떤 사람은 좋은 소식으로 전하고,
어떤 사람은 나쁜 소식으로 전합니다.
모든 것은 사람에게서 나옵니다.
사람이 곧 희망입니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/11/03 09:12 2004/11/03 09:12
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/791


블로그 이미지

- 홍반장

Archives

Recent Trackbacks

Calendar

«   2004/11   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
Statistics Graph

Site Stats

Total hits:
241751
Today:
281
Yesterday:
1266