내가 꿈꾸었던 인물

나는 내가 꿈꾸었던 모든 인물이 되었다.
손기정같은 마라토너가 되어 우주를 살별처럼
달리다가 별똥별이 되어 불에 탄 것도 나였고,
우장춘 같은 식물 육종학자가 되어 커다란 바오밥나무의
자궁 속으로 기어들어가 몇백만 톤의 씨없는 옥수수를
꺼낸 것도 나였다. 나는 스님이자 손오공이었고,
날쌘돌이였고, 태권 V였고, 동방삭이였고,
홍길동이었고,엉뚱하게도 가톨릭 사제였다.
주몽이었고, 테무진이었고, 무당이었고,
이순신의 부장(副將)이었고, 처용이었고,
마침내 비렁뱅이었다.



- 윤후명의《나비의 전설》중에서 -



* 한번뿐인 자기 인생, 이 우주안에 오직 하나뿐이기에
이루고자 하는 꿈도 많습니다. 어떤 날은 영웅을 꿈꾸다가
다음날은 마라토너로, 그 다음날은 시인으로 바뀝니다.
무시로 변하는 그 많은 꿈을 다 이룰 수는 없습니다.
그러나 세상은 꿈꾸는 자의 것입니다.
별처럼 많은 꿈 속에 내 별이 있고,
내가 꿈꾸었던 수많은 인물 속에
언젠가 내가 서 있습니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/11/08 09:24 2004/11/08 09:24
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/795

자신의 시각에 빠진 사람은 남을 빠뜨릴 수 없습니다.
상대방의 시각이 아니기 때문입니다.
자신의 지식에 빠진 사람은 남을 유혹할 수 없습니다.
자랑할 때 사람들이 도망가는 것이 자연의 이치이기 때문입니다.
자신의 재주에 빠진 사람은 남을 쓰러뜨릴 수가 없습니다.
정말 잘 웃기는 사람은 자신은 웃지 않고
남을 웃기는 사람이기 때문입니다.



- 송치복의《생각의 축지법》중에서 -



* 자신의 좁은 시각, 지식과 재주에 빠진 사람은
다른 사람은 눈에 보이지 않습니다. 자기 자신에게 빠진 사람은
결국 그것이 자신의 발목을 잡아 더 이상 앞으로 나아갈 수 없게 만듭니다.
깊어져 가는 이 가을, 겸손과 아름다운 마무리의 미덕을
생각해보시는 주말이 되시기 바랍니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/11/06 14:33 2004/11/06 14:33
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/794

왜 창조적이어야 하는가

왜 창조적이어야 하는가?
내가 생각해낸 이유는 두 가지다.
첫번째 이유는 바로 변화이다.
세상이 변화하고 새로운 정보가
자꾸 쏟아져나오기 때문에,
어제의 해법으로는 오늘의 문제를 해결할 수 없다.
두번째 이유는 재미 때문이다.
실제로, 나는 창조적 사고가 정신적 섹스라고 생각한다.
우리에게는 새로운 생각이라는 자손을
임신할 방법이 필요하다.
창조적인 사고가 바로 그 방법이다.



- 로저 본 외흐의《생각의 혁명》중에서 -



* 변화, 재미 말고도 창조적이어야 할 이유는 많습니다.
창조적 사고를 하지 못하는 사람은 수액이 없는 나무와 같습니다.
수액이 없으면 나무는 점차 잎을 떨구며 시들고 맙니다.
무(無)에서 유(有)를, 이미 있는 것에서 늘 새로운 것을
찾아내는 것이 창조적 사고입니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/11/05 09:02 2004/11/05 09:02
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/793

많은 항공사들이 비용 절감을 위해
고객을 위한 편의시설을 대폭 줄였다.
그러나 이들은 비용 삭감을 위해서는 새롭게 부담해야 하는
‘감춰진 비용’을 부담해야 한다는 것을 알지 못했다.

그 감춰진 비용이란 고객 상실을 의미한다.
비용을 아끼기 위해 그들은 결국
고객을 포기하는 실수를 저지른 것이다.

불경기에 대처하기 위해 제조원가를 줄이기 위한 노력은 필요하다.
그러나 비용을 절감하기 위해 품질을 떨어뜨려서는 안된다.
피자에서 치즈를 빼내면 안되는 것이다.

경기가 어렵다고 값싼 원료로 제품을 만들어
품질을 저하시켜서는 안된다.
그리고 고객에 대한 서비스를 줄여서도 안된다.

택시 기사가 연료비를 줄이기 위해
차에 기름을 적게 넣을 수는 없는 일이다.
대신 사람들을 태우기 위해 더 열심히 돌아다녀야 한다.
어려운 때일수록 경쟁사 보다 더 많이 판매하고,
더 많이 홍보하고, 더 많이 광고하라.

이 시기엔 투자를 줄일게 아니라 투자를 늘려야 한다.
그리고 절대 피자에서 치즈를 빼지마라.
- 제프리 폭스
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/11/05 09:01 2004/11/05 09:01
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/1119

최근 2-3년 동안 내가 말한 사항들이
사내에서 8할은 통과되었다.
6할이 넘으면 원맨 경영의 폐해가 나타나는 위험신호라고 하는데
그렇다면 지금 혼다가 위험상태가 아닌가?
지금 상태에서 내가 계속 사장 자리에 있으면
우리 회사는 직선적으로 밖에 성장하지 못한다.
그렇기 때문에 나는 퇴임을 결정했다.
- 가와시마 전 혼다 사장


일사불란하게 조직을 움직이는 것은
모든 경영자가 바라는 바일 것입니다.
그러나 그 누구도 전지전능할 수 없다는 점에서
중요한 결정을 독점하는 것은
결코 바람직스럽지 못합니다.
사장의 생각이 사내에서 8할이 반영되는 것과
업적 호조라는 현재의 성공이
장래 실패의 씨앗을 키우는 것이라 판단하여
퇴임을 결심한 데서 경영자의 참 정신이 느껴봅니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/11/04 09:06 2004/11/04 09:06
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/1118

아름다운 복수

오래 전 나는 2차 세계 대전 당시
나치 독일의 아우슈비츠 수용소에서 살아 남았던
유대인 부인을 만난 적이 있다. 독일에 대해
\"복수하고 싶지 않느냐\"고 했더니, 그녀는 잔잔히 웃으며
\"나는 복수에 대한 감정으로 내 인생을 파괴시키고
싶진 않습니다. 그러기엔 내 인생은 너무나
귀하고 아름다운 것입니다."하고
대답하는 것이었다.



- 한홍의《거인들의 발자국》중에서 -



* 가장 큰 복수는 용서라고 합니다.
한 순간의 복수를 위해 일생 동안 타인의 삶에
매달려 시간을 허비하지 말고, 한 순간의 용서로
응어리를 풀고 자기 삶을 더 아름답게 가꾸어가라는
뜻일 겁니다. 기억하되 용서하는 것,
가장 아름다운 복수입니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/11/04 09:05 2004/11/04 09:05
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/792

[도서] 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

CVS 설치 하기

Project managing with CVS .. part I

1. installation

설치는 redhat 기반에서 rpm으로 설치를 설명한다. 타 OS에서는
http://www.cvshome.org/downloads.html 에서 다운로드를 받아서 compile하
면 된다.

Redhat 에서는 cvs rpm file 을 설치를 하면 된다. 보통 배포본에서 기본으
로 제공 한다. 일단 rpm -q cvs 명령으로 설치가 되어 있는지 확인을 한다.
설치가 되어 있으면 버젼이 print 될 것이고 설치가 되어 있지 않으면 아무
런 정보도 나오지 않는다. 설치가 되어 있지 않을 경우에는 redhat cd에 있
는 RPMS directory에서 cvs-version.i386.rpm file을 설치하도록 한다.

rpm -Uhv cvs-version.i386.rpm

으로 하면 된다.

2. CVS 초기화 하기

일단 CVS data 를 놓아둘 디렉토리를 만든다. 보통 /home/cvs 로 많이들 한
다. mkdir /home/cvs 명령으로 /home/cvs directory 를 생성한 후에 다음의
명령을 실행 한다.

[root@bbowoo /home]$ cvs -d /home/cvs init

-d는 저장소의 위치를 나타내며 init는 cvs를 초기화 하라는 CVS 명령어 이
다. 이 명령을 실행하고 나면 /home/cvs/CVSROOT 라는 directory 가 생성이
된다. 이 디렉토리에는 각종 CVS의 설정들이 들어가 있다.

3. 기본 설정 준비

일단 cvs 를 운영하기 위해서는 cvs 를 이용할 계정을 생성해야 한다.
CVS는 일반 계정으로 로그인을 할수도 있지만 그것 보다는 CVS를 이용할 계정
을 하나 만들어 놓고선 CVS passwd file을 이용하여 alias user를 만들어서 사
용을 하는 것이 더욱 좋다.

[root@bbowoo /home]$ adduser cvs -d /home/cvs -s /bin/false

group file을 편집한 후에 다음의 명령을 실행하도록 한다.

[root@bbowoo /home]$ chgrp -R cvs /home/cvs
[root@bbowoo /home]$ chmod -R g+w /home/cvs

4. 원격에서 로그인 할수 있도록 cvs daemon 띄우기

이 부분은 3가지의 방법이 있으나 여기서는 direct access가 가능한 pserver
mode만을 다룬다. 이 외에도 rsh, ssh를 이용한 방법이 있다. pserver mode
를 이용하기 위해서는 inetd.conf 에서 셋팅을 해 줘야한다.
일단 /etc/service 에서 다음의 내용이 있는지 확인을 한다.

Hanterm - cat /etc/services

[root@bbuwoo /etc]$ cat /etc/services
.. 생략 ..
cvspserver 2401/tcp # CVS client/server operations
cvspserver 2401/udp # CVS client/server operations
.. 생략 ..
[root@bbuwoo /etc]$




없으면 추가해 주도록 한다. 그리고 나서 /etc/inetd.conf 에서 다음의
라인을 넣어 준다.


Hanterm - cat /etc/inetd.conf
[root@bbuwoo /etc]$ cat /etc/inetd.conf
.. 생략 ..
# CVS server setting
cvspserver stream tcp nowait root /usr/bin/cvs
cvs -f --allow-root=/home/cvs pserver
[root@bbuwoo /etc]$


위의 설정중 /usr/bin/cvs 에서의 는 한줄로 쓰라는것을 의미한다. 공백
문자들은 모두 tab으로 띄워준다. 다음 inetd를 재시작 하도록 한다.

[root@bbowoo /home]$ killall -HUP inetd


크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/11/02 20:31 2004/11/02 20:31
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/224

« Previous : 1 : ... 562 : 563 : 564 : 565 : 566 : 567 : 568 : 569 : 570 : ... 639 : Next »

블로그 이미지

- 홍반장

Archives

Recent Trackbacks

Calendar

«   2025/01   »
      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 31  
Statistics Graph

Site Stats

Total hits:
255639
Today:
83
Yesterday:
348