개요Common 모듈을 구현하면서 FileProcess에 대한 정의와 어떻게 I/O처리 과정에서 Sync/Async와 Blocking/NonBlocking이 등장하게 되었는지 배경을 소개한다.기존 프로젝트에서 파일 업로드 및 파싱을 하여 변환하는 프로세스가 존재했다. 처음 구현한 방식은 MultiPartFile을 받고, LocalStorage에 파일을 쓰고, 쓴 파일을 다시 읽어 파싱한 후 파싱 결과를 DB에 저장하도록 되어있었다.동기화 문제기존 방식은 MultiPartFile → Local Save → Local Load → Parsing순서로 하나의 thread에서 요청이 들어온 순서대로 처리를 진행하였다.만약 여러 사람이 동시에 요청을 보낸다면?즉 thread 여러 개가 동시에 요청을 보낼 때 공유..