2009-09-29 2 views
1

Google 파트너에게 문서를 USB 키로 배포해야합니다. 일부 문서가 서버에서 업데이트되었는지 확인하고 메모리 스틱의 파일 동기화를 진행하는 소프트웨어를 개발하도록 요청 받았습니다.메모리 스틱에 자동 업데이트/동기화 기능을 구현하는 데 사용할 언어는 무엇입니까?

향후 소프트웨어를 개선하려는 경우 소프트웨어 자체에 자동 업데이트 기능이 있어야합니다.

어디에서 시작해야한다고 생각하십니까?

+1

"Hello World"프로그램을 구현하기 위해 사용하는 언어는 무엇입니까? – shoosh

+2

제 첫 번째 (리눅스) 버전은 'rsync'를 사용하는 쉘 스크립트입니다. –

+0

어떤 종류의 서버입니까? 파일 서버? 웹 서버? 공유 지점? 일부 사용자 정의 서버? – SLaks

답변

1

Windows 용이라고 가정합니다. C#은 사용자가 .Net이 이미 설치되어 있는지 확신 할 수없는 경우를 제외하고는 탁월한 선택입니다. 그렇지 않으면 Delphi를 사용하여 네이티브 실행 파일을 쉽게 만들 수 있습니다. 실행중인 EXE 파일 자체를 바꿀 수 없다는 가정하에 자동 업데이트 기능은 사용하는 언어에 상관없이 문제가됩니다. 대부분의 프로그램 기능을 즉석에서 업데이트 할 수있는 별도의 DLL로 구현할 수 있지만 코어 EXE 자체를 업데이트해야하는 경우에는 여전히 SOL입니다.

1

나는 파이썬을 제안 할 것이다 ... 당신은 실행 파일을 만들거나 USB 자체에 설치할 수있다. 큰 장점은 재 컴파일이 필요 없으므로 즉시 개선 할 수 있다는 것입니다. 파이썬은 이러한 작은 작업에 적합합니다.

큰 장점은 플랫폼의 독립성입니다.

1

분명히 배포하는 환경과 개인적으로 협력 한 환경에 따라 다릅니다. 배트맨을 벗어나서 C#으로 기울어 질 것입니다. 많은 문서가 있기 때문에 GUI로 Windows 애플리케이션을 신속하게 배포 할 수 있습니다. 그러나 이것이 유닉스 환경이라면 이것은 단순한 쉘 스크립트에서 할 수있을 것이라고 확신합니다.

1

서버와 쉽게 통신 할 수있는 언어를 사용하면 가장 편안하고 숙련 된 언어가 무엇이든간에. (서버가 웹 서버 인 경우 문제가 아님)

0

Windows라고 가정하면 USB 장치의 배치 파일부터 시작합니다. xcopy/diyc. $ ServerPath

아마도 충분하니? 플래그에

설명 :

/D Copies only those files whose source time is newer than the destination time. 
/I If destination does not exist and copying more than one file, assumes that destination must be a directory. 
/C Continues copying even if errors occur. 
/Y Suppresses prompting to confirm you want to overwrite an existing destination file. 
1

내가 Microsoft Sync Framework로 보일 것이다. "파일 동기화 소개"섹션을 참조하십시오. "... Sync Framework를 사용하여 데스크톱과 장치간에 파일을 효율적으로 이동할 수 있습니다."

로컬 SQL Express 데이터베이스와 기본 SQL Server 데이터베이스를 동기화하는 프로젝트에 "Sync Services for ADO.Net"(프레임 워크의 일부)을 사용하여 시간이 많이 절약되었습니다.

1

Cygwin에서 Rsync가 존재합니다. 서버가 ssh를 지원할 경우 공개 키 인프라와 함께 ssh도 지원합니다. 이것은 데이터를 동기화하는 데 매우 안전하고 쉬운 방법 일 수 있습니다.

0

배치 파일로 충분할 수 있습니다. 나는 단순한 것과 비슷한 것을 해결했다. 또 다른 옵션은 거의 의존성이없는 작은 "컴파일 된"프로그램을 만들 수있는 기본적인 언어 인 AutoIt의 스크립트입니다. 실행 파일을 USB 장치에 복사 한 다음 실행하십시오.

관련 문제