2007년 6월 23일 토요일

Flex2 php 멀티파일 업로드 예제

Flex2 php 멀티 파일 업로드 예제

사용자 삽입 이미지
http://weblog.cahlan.com/files/file_uploads/FileUpload.html
 화면에서 마우스 오른쪽 버튼 누르면 소스를 볼수 있음.


테스트 결과 서버측에 PHP 파일을 만들고 
MXML 코드에서 아래 부분만 수정 해주면 바로 사용 가능함.
private const _strUploadDomain:String = "http://codycodingcowboy.cahlan.com/";
private const _strUploadScript:String = _strUploadDomain + "files/upload.php";
여러명이 접속 할때도 업로드 되는지 테스트 해보니 잘 됨.^^

http://weblog.cahlan.com/
위의 블로그에는 Flex에 관한 좋은 자료들이 많은것 같음. 

2007년 6월 2일 토요일

CVSNT 사용자 추가

1. CVSNT의 사용자는 명령 프롬프트에서 passwd 명령어를 사용.





CVSNT 설치

CVSNT는 윈도우용 CVS오픈소스이다.

http://www.march-hare.com/cvspro/ 의 Free 다운로드에서 받을수 있다.

유의할점은 하드가 NTFS포멧이여야 한다고 함.

설치하고 나면

1. 저장소 폴더를 설정 하기 위해서 "CVSNT Control Panel" 을 우선 실행한다.

cvsnt

2. 두개의 서비스를 정지한다.
3. 서버셋팅을 한다. repository configuration 탭에서 Add 또는 edit 를 하면 아래 화면이 나옴.
사용자 삽입 이미지
Documents and Settings의 폴더 밑은 계정 권한 문제로 사용하지 않는게 좋다고 함.

4. 다시 서비스 스타트
    가끔 Lock Service 가 시작 안될 때는 방화벽 설정 때문인듯 함.
    제부팅하면 해결 되는 듯 ,
   
5. 외부에서 접속
    방화벽에서 2401, 2402 TCP 포트를 열어주면 외부에서 접속 가능.

client 접속은  TortoiseCVS 강좌로..

6. 사용자 추가
    일반적으로 윈도우 계정을 그대로 사용가능 하나 (ex. xp user1 및 패스워드 )
    사용자를 추가 하고 싶으면 명령프롬프트에서 $cvs passwd -a user1 명령으로 추가 가능
   
    http://me2box.tistory.com/entry/CVSNT-사용자-추가 에서 계속..

CVS 용어

CVS 내에서 사용되는 용어

• repository – CVS를 통해서 작업하는 소스, 문서 등 작업용 파일이 저장되는 서버상의 공간

• revision – 각 파일별로 commit 할 때마다 자동으로 더해지는 버전으로 CVS가 관리하는 번호로 뒤로 돌리거나, 임의로 수정할 수 없다.

• init – 저장소를 초기화하는 명령어로 프로젝트를 시작할 때 한번만 실행

• module – 하나의 저장소에 구분되어 저장되는 단위.(작은 프로젝트의 경우 하나의 모듈, 큰 프로젝트의 경우에는 컴포넌트별로 모듈을 나누거나 버전별로 나누기도 함)

• import – 하나의 모듈을 서버에 저장하늠 명령어

• checkout – 서버에 저장한 모듈 하나를 통째로 로컬에 가져오는 명령어

• update – 파일이나 디렉토리를 지정하여 최신 것이나 특정 리비전, 특정 날짜의 것을 서버에서 로컬로 가져오는 명령어

• add – 새로운 파일을 디렉토리에 추가했음을 서버에 알리는 명령어.(파일은 commit하기 전까지는 서버에 반영되지 않는다.)

• remove – 파일 삭제했음을 서버에 알리는 명령어 (commit하기 전까지는 서버에서 지워지지 않는다.)

• commit – add, remove를 마치고 서버에 반영한다는 의미의 명령어

• tag – 특정 날짜나 릴리즈 시에 태그를 붙임으로써 나중에 해당 릴리즈의 리비전으로만 가져올 수 있게 한다.

• branch – 일부분 혹은 전체에서 소스를 별도로 관리해야 되는 부분이 생길 때 사용 (리비전의 깊이가 달라진다(예:1.1 > 1.1.2.1)

CVS 작업 사이클

CVS 작업 사이클

• 프로젝트 생성

프로젝트를 생성하고, 프로젝트 매니저나 리드 개발자가 CVS 서버에 프로젝트 저장소를 만든다.(init)

초기 버전에 대한 소스나 문서, 파일 등을 서버에 올린다.(CVS 서버에 모듈을 import)

• 프로젝트 진행

팀에 속한 모든 개발자는 import된 프로젝트 모듈을 다운로드하고(Checkout), 모듈의 소스를 추가(add), 삭제(remove), 커밋(commit), 변경(update) 중에 충돌(conflict)된 것은 합병(merge)하는 등 프로젝트를 진행한다.

일정시점이나 릴리즈 시에는 tag나 branch를 정해서 태그를 붙인다.

CVS 기능

CVS 기능

• History 기능 – 소스파일이 추가되고, 수정되고 삭제되었던 모든 History가 CVS 서버에 기록되며 작업 완료 시에 작업 내용을 기록에 남길 수 있다.

• 변경사항 저장 – 파일의 모든 버전을 파일로 저장하는 대신 CVS는 버전간의 변경사항만을 저장하므로 백업 용량을 적게 차지한다.

• 병합 기능 – 각 개발자가 작업을 끝마쳤을 때, 그 작업을 병합시켜줌으로써, 팀원이 하나의 공동 프로젝트를 수행하고자 할 때 도움을 준다.

•  branch 기능 – 개발의 주된 흐름인 메인 줄기(trunk)의 특정 진행 시점에서 갈라져 나와 개발을 추가하거나 변경된 가지(branch)에서 소스를 변경해도 메인 줄기에는 영향을 미치지 않는다.

•  tag 기능 – 개발의 특정 시점에 버전을 따는 기능으로 개발이 빌드되거나 릴리즈되는 특정 시점에서 태그를 달고, 개발을 진행해 나간다.(특정 태그가 달린 소스를 찾아서 해당 태그의 모듈을 구할 수 있다)

•  diff 기능 -  버전과 버전, 태그와 태그간에 소스의 차이점을 비교해준다.