글 작성자: HEROHJK

얼마전 회사 서버에 이상이 생겨서 데이터 송수신에 이상이 생겼었습니다.


회사에서 제공하는 프로그램이 매월 한번씩 텍스트파일 몇가지를 클라이언트로 전송하는데요,


그것에 이상이 생겨서


유효성검사, 전송기 프로그램을 만들었습니다.


방식은 간단합니다.


로컬(사용자PC)의 데이터 파일과 서버의 데이터 파일(데이터 파일이라 해봤자 텍스트 파일입니다)을 비교합니다.


이상이 없을때 업로드를 누르면 업로드를 하는 프로그램입니다.


참조 라이브러리


SSH.NET (SFTP 제어 라이브러리)


MetroFramework (윈폼 메트로 디자인 프로그램)




프로그램 처음 시작시 화면입니다.


로컬 텍스트파일 로딩 - 서버 파일 다운로드 - 서버 파일 로딩 - 서버파일 삭제 - 로컬,서버파일 비교


이런식으로 로딩이 됩니다.



로딩 후 화면입니다.


세가지의 텍스트박스가 있습니다.

(리스트뷰로 하려고 했으나, 데이터가 수십만건이라 로딩속도가 더 걸려서 텍스트박스로 옮겼습니다. 추후에 에디터기능을 넣을때 다시 고려해 봐야 할듯 합니다)


왼쪽은 로컬파일에만 있는것이고,

오른쪽은 서버파일에만 있는것입니다.

가운데는 양쪽 다 있는것입니다.

(업로드를 하면 서버 칸의 내용들이 지워지겠죠?)



업로드시 화면입니다.


업로드 후 다시 데이터 로딩을 하여, 로컬과 서버의 값을 비교합니다(정상적으로 업로드가 되었는지 확인하기 위한)



정상적으로 업로드 되었을때에는 로컬과 서버 고유의 값이 사라지며 공통에만 값들이 있습니다.


동기화 되었다는 뜻이죠.


텍스트 라인 하나하나 유효성검사를 하고,




서버파일 인코딩 체크하는 기능을 넣느라고 하루에 3~4시간씩 한 3일 잡아먹은 것 같습니다.


하지만 여기서 끝내면 조금 섭섭하죠.


이스터에그를 보여드리겠습니다.




프로그램 내부 어딘가의 쓸모없는부분을 광클하다보면 


도넛빌런이 나타납니다.


도넛빌런의 이빨이 보이시나요? 정말 무섭습니다..


어서 호노스에게 도움을 청해야 할 것 같습니다!!


어떻게 될까요??



자애로운 우리의 영웅 호노스가 도넛 빌런을 물리쳐줘서


컴퓨터를 구해줬습니다.





프로그램 소개는 여기까지 입니다.


감사합니다!

반응형