JAVA에서 비동기 HTTP 요청시 멀티파트 파일 전송 (ContentTooLongException: Content length is unknown)

문제 Multipart 요청을 비동기로 다른 API 서버에 보내려고 하는데 에러가 발생했습니다. 사용자가 업로드 한 파일에 문제가 있는지 (금지 단어 포함 등) 를 확인 하기 위해 어플리케이션 내부에서 해당 파일을 또 다른 어플리케이션(파일 검사API)으로 보내는 로직을 수행하도록 구현을 하고 있었습니다. 사용자에게서 받은 Multipart file을 그대로 다시 API 서버로 전송을 하는데, Single Thread로 수행 했을 때는 문제가 없었습니다. 하지만 Single Thread로 수행 시, 요청한 사용자 입장에서는 파일 업로드에 걸리는 시간이 사용자 -> 어플리케이션서버 -> 검증API서버 이렇게 이렇게 두배로 늘어나게 됩니다. 그래서 어플리케이션 내부에서 검증 서버로의 전송은 비동기 요청으로 ..

Programming/Java 2021.11.05
Rebase 활용해 Commit 합치기

Rebase Rebase는 한 branch에 있는 내용을 다른 branch에 병합하는 두가지 Git 유틸리티 중 하나 입니다. 다른 하나는 이미 모두가 사용하고 있는 git merge 입니다. merge는 항상 이후로 향하는 변경인 반면에, rebase는 git의 history를 다시 작성 하는 강력한 기능을 가지고 있습니다. Rebase는 manual과 interactive 이렇게 두 가지 메인 모드를 가지고 있습니다. 여러가지 역할이 가능 한 rebase 지만 이번 posting에서는 이미 커밋한 몇개의 커밋을 하나로 합치고 새로운 커밋 메시지를 남기는 용도로 사용 해 보겠습니다. 문제 커밋을 했는데 깜빡한게 있는 경우가 생겼습니다. 19 분 전에 커밋을 하자 마자 코드가 너무 지저분 하다는 생각이 ..

Development/Git 2021.11.03