2008/06/30
Windows 에서 ssh 데몬 돌리기
윈도우 상에서 ssh 서비스를 지원하는 툴로는 본인이 찾아본 툴은 OpenSSH for Windows 와 freeSSHd 가 있다.
두 프로그램 모두 설치가 간단하고 사용상에 크게 어려운 프로그램은 아니다.
간단하게 비교하면 사용자 관리나 sftp 지원면에서 보면 freeSSHd가 좋지만 터미널 상의 한글 지원이나 속도면에서는 OpenSSH for Windows가 좋아 보인다. 하지만 OpenSSH 는 2004년 Release(3.8.1p1) 후로 버전업이 되고 있지 않지만 freeSSHd 는 계속 계발되고 있기에 보다 나은 버전이 나올 수 도 있겠다.
freeSSHd는 한글 문제나 속도면에서 개선이 되면 입수하여 다루기로 하고 이번 포스팅에서는 OpenSSH 를 이용하여 ssh 서버를 구성하는 방법을 간단하게 알아 보겠다.
우선 OpenSSH for Windows를 다운 받아 설치한다.
설치 방법은 단순하며 설치 중 메세지 박스가 출력되는데 이 메세지 박스는 설치 후 꼭 해주어야하는 필수 작업에 대한 언급이다.
계정 설정에 대한 경고창
Quickstart.txt 에도 언급이 되어 있는데 설치 후에 기본적으로 윈도우의 그룹과 계정을 ssh daemon 의 설정파일인 groups 와 passwd 파일에 기록하는 과정을 거쳐야 한다.
windows의 groups 등록하기
윈도우 그룹을 ssh 그룹으로 등록
windows의 계정을 psswd 에 등록하기
모든 윈도우 계정을 ssh계정으로 등록하기
전체 계정을 ssh를 사용하는 계정으로 하지 않고 필요한 계정만 등록하고자 하는 경우에는 필요한 계정만 하나씩 등록할 수 있다.
ssh 계정 추가하기
이제 ssh 서버를 사용할 준비가 다 된 것이다. OpenSSH 를 설치하면 윈도우즈의 서비스에 등록이 되어 쉽게 제어를 할 수 있다.
서버스로 등록된 OpenSSH Server
명령행으로 OpenSSH 서버 서비스 기동하기
이제 접속을 해 보면?
SSH 클라이언트를 이용한 접속 화면
USAGE WARNING 메세지가 보기 싫으면 etc/sshd-config 파일의 Banner 항목을 삭제하거나 etc/banner.txt 파일을 지우면 된다.
그리고 /home/Administrator 경로를 찾을 수 없다는 메세지는 etc/passwd 파일의 계정 내용중에 홈 디렉토리를 윈도우즈 형식에 맞게 설정해 주면 된다
Original Post : http://neodreamer-dev.tistory.com/117
2008/06/25
그림으로 보는 간단한 CVS 서버 설치하기
서버는 Windows 2003 이고 CVSNT 버전은 2.5.03.2382 이다.
CVS Client 로는 TortoiseCVS 를 사용했다.
CVSNT 사이트를 통해서 다운 받아도 되지만 TortoiseCVS 를 설치하면 CVSNT 가 설치 된다.
설치시 Setup Type 은 Typical, Custom, Complete 세 가지가 있는데 Typical 과 Complete 의 차이는 Typical에는 Fork 프로토콜과 RCS Wrappers 가 빠졌다. 설치는 Typical 만으로 충분하다 생각된다.
설치 후에 시작 메뉴의 CVSNT Control Panel 이나 제어판의 CVSNT Server를 실행시키면 CVSNT 관리자 메뉴가 나온다.
CVSNT 관리자 화면
먼저 CVSNT Service 와 CVSNT Lock Service 를 멈추고 Repository 와 Server를 설정한다.
Repository 설정하기
Repository 설정 화면
Repository Configuration 탭에서 Add를 클릭한다.
Server Setting 화면
생성된 Repository 화면
Repository 구성 파일
Server 설정하기
Server 설정 화면
서버 설정은 기본적으로 Temporary 디렉토리만 설정해 주면 된다. 되도록 시스템 임시 디렉토리를 피하고 CVSNT 전용을 임시 디렉토리를 만들어 지정한다.
기본 적인 설정을 마치고 CVSNT 서비스를 다시 실행한다.
CVSNT 서비스 재시작 화면
CVSNT Login 하기
계정작업이나 프로젝트 관리등의 작업을 하기 위해서는 CVSNT에 접속을 해야하는데. CVSNT에 접속을 하려면 환경 변수 CVSROOT 를 설정해 주어야 한다.
도스명령창에서 매번 입력을 해 주어도 되지만 내 컴퓨터 속성페이지의 고급탭에서 환경 변수에 추가를 해주면 매번 실행시 입력을 하지 않아도 된다.
도스환경에서 환경변수 설정화면
환경 변수 설정 화면
환경 변수 설정된 화면
cvs login 을 실행하여 CVS에 접속한다.
CVSNT 접속 화면
사용자 계정 추가하기
계정 추가는 저장소에 접근한 시스템 계정과 CVSNT에 접속을 하는 CVS 계정을 연결해 주는 작업이다.
cvs passwd -r 시스템계정 -a CVS계정
계정 추가 화면
프로젝트 임포트 하기
프로젝트 폴더에서 오른쪽 버튼을 눌러 Make New Module...을 선택하여 Project를 Import 한다. Import시 입력하는 CVSNT 사용자 계정은 대소문자를 구분한다.
이상 간단하게 CVSNT를 설치하고 설정을 해 보았는데 CVS 관리에서 보다 많은 설정과 관리 테크닉이 필요한데 일단 운영할 기본은 되었으니 나머지는 차차 늘려 나가야겠다
Original Post : http://neodreamer-dev.tistory.com/116
2008/06/24
VisualSVN & VisualSVN Server 1.5 Released!!
VisualSVN 은 SubVersion 의 클라이언트 툴로 Visual Studio 의 IDE에 통합 되어서 동작을 하는 플러그 인이다.
이번에 SubVersion 이 1.5 버전으로 업데이트 되면서 SubVerion 1.5 과 맞추어 공개가 되었다.
VisualSVN 은 상용툴로 30일동안 테스트 할 수 있고 그 후에는 등록을 해야한다.
그리고 1.5 버전에 맞추어 무료 서버 관리 툴인 VisualSVN Server 1.5도 함께 공개가 되었다.
간단하게 SVN 서버를 구축할 수 있는 프로그램으로 클라이언트와는 다르게 무료로 공개되어 있다. 설치와 구축함에 있어 크게 달라진 것이 없으므로 이전 포스팅인 2008/06/19 - [Dev Story/Tips] - VisualSVN Server 와 TortoiseSVN을 이용하기 를 참조하면 쉽게 개발 서버를 구축할 수 있다.
VisualSVN
VisualSVN Server
Original Post : http://neodreamer-dev.tistory.com/115
TortoiseSVN 1.5.0 Released!!
TortoiseSVN 1.5 버전이 공개가 되었다.
SubVersion 1.5 에 추가된 내용.
* Merge tracking (foundational)
* Sparse checkouts (via new --depth option)
* Interactive conflict resolution
* Changelist support
* Relative URLs, peg revisions in svn:externals
* Cyrus SASL support for ra_svn and svnserve
* Improved support for large deployments on FSFS, via sharding
* Improved FSFS optimizability, via immutable file isolation
* WebDAV transparent write-through proxy
* Improvements to copy and move
* Speed improvements, cancellation response improvements
* Easier to try experimental ra_serf DAV access module
* API changes, improvements, and much language bindings work
* More than 150 new bug fixes, enhancements
TortoiseSVN 1.5 Release Note : http://tortoisesvn.tigris.org/tsvn_1.5_releasenotes.html
TortoiseSVN-1.5.0.13316-win32-svn-1.5.0.msi
TortoiseSVN-1.5.0.13316-x64-svn-1.5.0.msi
Original Post : http://neodreamer-dev.tistory.com/114
SubVersion 1.5.0 Released!
버전 관리 시스템인 SubVersion 이 기능 추가와 많은 개선을 한 SubVersion 1.5 버전을 공개하였다.
이번 버전의 변화는 아래와 같다.
* Merge tracking (foundational)
* Sparse checkouts (via new --depth option)
* Interactive conflict resolution
* Changelist support
* Relative URLs, peg revisions in svn:externals
* Cyrus SASL support for ra_svn and svnserve
* Improved support for large deployments on FSFS, via sharding
* Improved FSFS optimizability, via immutable file isolation
* WebDAV transparent write-through proxy
* Improvements to copy and move
* Speed improvements, cancellation response improvements
* Easier to try experimental ra_serf DAV access module
* API changes, improvements, and much language bindings work
* More than 150 new bug fixes, enhancements
SubVersion website
Original Post : http://neodreamer-dev.tistory.com/113
32bit 프로젝트 64bit로 전환하기
64bit로 전환함에 있어 바꿔줘야 할 일이 많겠지만 진행하면서 또는 다른 프로젝트를 변환하면서 작업하면서 발생한 일들이 있을때 마다 기록을 하려 한다.
그래서 블로그 보다는 SpringNote를 활용하는 것이 보다 효과적이라 생각되어서 Spring Note 에 작업을 시작했다. 아래 내용은 처음 작성한 내용이다.
최신 내용을 확인하려면 SpingNote 를 확인하기 바랍니다.
- 구성 라이브러리가 모두 64비트로 구성되어야 함.
포인터를 의미하는 UINT 단위를 UINT_PTR 로 전환OnTimer(UINT nIDEvent) => OnTimer(UINT_PTR nIDEvent)
CWndHitTest 의 반환값을 int 에서 LRESULT 로 전환
Linker 옵션의 /MACHINE:I386 을 MachineX64 (/MACHINE:X64) 로 전환
OpenCV 를 64비트로 컴파일 하기 위해 전처리기 정의 부분에 WIN64 선언- 새로운 윈도우 클래스 함수 및 정의를 사용해야 함.
GetClassLong GetClassLongPtr
GetWindowLong GetWindowLongPtr
SetClassLong SetClassLongPtr
SetWindowLong SetWindowLongPtr
GWL_WNDPROC GWLP_WNDPROC
GWL_HINSTANCE GWLP_HINSTANCE
GWL_HWNDPARENT GWLP_HWNDPARENT
GWL_USERDATA GWLP_USERDATA
GWL_ID GWLP_ID
GCL_MENUNAME GCLP_MENUNAME
GCL_HBRBACKGROUND GCLP_HBRBACKGROUND
GCL_HCURSOR GCLP_HCURSOR
GCL_HICON GCLP_HICON
GCL_HMODULE GCLP_HMODULE
GCL_WNDPROC GCLP_WNDPROC
GCL_HICONSM GCLP_HICONSM
이 글은 스프링노트에서 작성되었습
Original Post : http://neodreamer-dev.tistory.com/112
2008/06/23
굿모닝팝스 MP3 재생 및 다운로더 v4
굿모닝팝스 MP3 재생 및 다운로더 v4
요 몇일 RSS 주소가 변경이 되었는지 정상적인 동작을 하지 않았다가 엊그제 기존 RSS를 복구 한 듯 하다. 그리고 이내 새로운 주소로 포워딩 시켜졌다.
이전 버전에서도 INI 파일에서 RSS주소를 바꿔주면 정상동작을 했지만 처음 기동시 읽을 수 없는 RSS 의 경우 프로그램이 실행되지 않는 문제가 있어서 예외처리를 하고 새롭게 바뀐 RSS 주소를 기본 값으로 갖게 하였다.
GMPmp3v6 다운로드
최신버전 다운로드
Original Post : http://neodreamer-dev.tistory.com/111
2008/06/19
난수 생성하기
// 초기화
srand( (unsigned int)time(NULL) );
for ( int cnt = 0; cnt < 1000; ++cnt )
{
int a;
double x;
a = rand() % (int)(1.0 * 100);
x = a / 100.0;
}
Original Post : http://neodreamer-dev.tistory.com/110
다이얼로그 박스의 아이콘 바꾸기
SetClassLong( m_hWnd,
GCL_HCURSOR,
(LONG)(LoadCursor(NULL, MAKEINTRESOURCE(m_edtCursor))));
Original Post : http://neodreamer-dev.tistory.com/109
시스템 커서 불러오기
HCURSOR LoadCursor(
HINSTANCE hInstance,
LPCTSTR lpCursorName
);
hInstance : 커서를 불러들일 인스턴스. NULL 일경우 시스템 리소스
lpCursorName : 적용될 커서
IDC_APPSTARTING : 표준 커서와 작은 모래시계 모양 (백그라운드 작업)
IDC_ARROW : 표준 커서 (보통 선택)
IDC_CROSS : 십자 모양 (정밀도 선택)
IDC_HAND : 손 모양 (연결 선택)
IDC_HELP : 화살표와 물음표 (도움말 선택)
IDC_NO : 사선이 그어진 원형 모양 (알 수 없음)
IDC_SIZEALL : 네 방향 화살표 (이동)
IDC_SIZENESW : 좌하-우상을 잇는 화살표 (대각선 방향 크기 조절 2)
IDC_SIZENS : 아래위 화살표 (수직 크기 조절)
IDC_SIZENWSE : 좌상-우하을 잇는 화살표 (대각선 방향 크기 조절 1)
IDC_SIZEWE : 좌우 화살표 (수평 크기 조절)
IDC_UPARROW : 위쪽 화살표 (대체선택)
IDC_WAIT : 모래시계 (대체선택)
IDC_IBEAM : 텍스트 박스 커서 (텍스트 입력)
괄호안의 이름은 마우스 등록정보의 포인터 탭에서 명명된 이름이다.
사용예
SetCursor(LoadCursor(0, IDC_ARROW));
Original Post : http://neodreamer-dev.tistory.com/108
VisualSVN Server 와 TortoiseSVN을 이용하기
2008/06/19 - [Dev Story/Tips] - 그림으로 보는 간단한 개발서버 구축하기
프로젝트 Import 하기
임시 프로젝트를 준비하였다. 프로젝트 이름은 Prj1 이고 텍스트 소스 하나를 갖고있다.
임포트에 사용될 Project : Prj1
Import 팝업 메뉴
Import
로젝트 Import 시 URL은 프로토콜(https://)과 서버주소(192.168.1.243), 포트번호(8443), svn
root (/svn), Repository 명(/test) 그리고 프로젝트이름(/Prj1)으로 구성된다.
Import
프로젝트 CheckOut 하기
등록된 프로젝트를 작업폴더로 가져오는 CheckOut. 프로젝트를 다운로드 받기 원하는 위치에서 마우스 오른쪽 버튼의 팝업 메뉴에서 SVN Checkout 메뉴를 선택한다.
Checkout
사용자 인증
Checkout된 프로젝트
이 프로젝트의 소스 파일을 수정하게되면 탐색기의 아이콘이 아래와 같이 바뀌고 Commit, Diff 및 기타 작업을 할 수 있다.
수정된 코드의 탐색기 아이콘
Commit 하기.
프로젝트를 수정을 하였으면 SVN Server에 Commit을 하여 서버에 등록을 한다.
Commit 메뉴 화면
파일 Commit 대화상자
폴더 Commit 대화상자
Commit 결과 화면 (1개 파일 수정과 1개의 파일 새로 등록)
SVN 서버와 다른 경우 소스 파일 비교하기
수정된 파일에서 오른쪽 버튼을 눌러 Diff 메뉴를 선택하면 서버와 현재 로컬파일을 비교 할 수 있다.
Diff 메뉴
로컬파일과 서버파일 비교
SVN의 많은 기능중에 아주 간단하게 기능에 대해 겉핥기를 해 보았다. 계속 공부를 하고 있기에 지금은 부족하지만 앞으로 보완된 글을 올리도록 하겠다.
Original Post : http://neodreamer-dev.tistory.com/107