학부 수업인 컴퓨터 네트워크의 과제로 `유사 토렌트 프로그램`을 제작한 경험이 있습니다. 과제는 `파일 전송 프로그램` 제작이었지만, 과제는 프로그램의 기능 및 완성도를 기준으로 상대평가로 점수가 책정되었기에, 단순한 파일 전송 프로그램이 아닌 토렌트 프로그램을 개발하기로 하였습니다.
프로그램 개발을 위해서는 토렌트의 파일 분배 원리, 파일 처리에 대한 이해, 전송 프로토콜에 대한 이해, 스레드 등 많은 것을 새로 익혀야 했습니다.
좋은점 1가장 기본적으로 토렌트 프로그램이 사용하는 파일 전송 방식을 공부했습니다. 토렌트는 파일을 동일한 크기의 조각으로 나누고, 각 조각을 사용자 간 공유를 통해 수집한 후, 조각을 다시 하나의 파일로 병합하는 방식을 사용하였습니다.
이 방식을 이용하기 위해 파일을 동일한 크기의 조각으로 나누는 파일 처리 방법에 대해 학습하였습니다. 또한, 해당 프로그램은 2명의 사용자가 아닌 다수의 사용자 간의 파일 교환이 이루어지므로 동시에 다수의 사용자와 파일을 교환하기 위해 다중 스레드에 관한 지식을 습득했습니다.
이 외에도 자바를 이용한 파일 전송, 전송 프로토콜의 이해 등 프로그램 제작에 의한 여러 지식을 학습했습니다. 프로그램 제출 기한 내에 지식을 습득하고 프로그램을 개발하기에는 빠듯한 시간이었지만, 결국 성공적으로 유사 토렌트 프로그램을 개발하였고, 과제 평점 1위라는 좋은 성적을 거두었습니다.
좋은점 1 직무와 관련된 프로젝트 경험을 수행할 때 어려운 수준의 주제 선택을 함으로써 많은 분량의 직무 지식을 습득하는 과정을 통해 지원자의 직무 열정이 느껴집니다. 어떤 지식을 공부했는지 구체적으로 작성한 점 또한 좋습니다.