Apache Commons net 한글 파일명 문제 해결

문제 다음과 같이 Apache Commons net을 이용해 FTP 접속을 하고 FTPClient ftpClient = new FTPClient(); FtpConfig ftpConfig = config.getFtp(); ftpClient.connect(ftpConfig.getHost(), ftpConfig.getPort()); ftpClient.login(ftpConfig.getUsername(), ftpConfig.getPassword()); ftpClient.enterLocalPassiveMode(); ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE); setFileType을 해주지 않으면 다운받아온 파일이 깨진다 재귀적으로 파일 목록을 담도록 코드를 작성했다...

Development/Daily Error 2024.01.10
[Nginx] 413 Request Entity Too Large 문제 해결

Intro 스프링부트 서버 + 앞단에 Nginx 가 있는 구조에서 Post 요청으로 파일을 업로드 하는데 413 에러가 발생했다. 파일 사이즈가 그닥 크지는 않았는데도, 1MB 만 넘으면 여지없이 413 에러가 발생했다. 로컬에서 테스트할땐 괜찮았는데, 개발서버에 배포하고 테스트 할 때 문제가 발생했다. 원인 개발서버에서는 앞단에 Nginx가 한개가 더 추가되어있는데, 그래서 웹서버의 설정 문제임을 짐작 할 수 있었다. nginx 문서 에서 client_max_body_size 항목을 찾아보면, 기본값이 1MB 라고 한다. If the size in a request exceeds the configured value, the 413 (Request Entity Too Large) error is ret..

Development/Daily Error 2023.12.19
[Java] Base64 디코딩 중 Illegal base64 character a 에러 해결

문제 Java에서 Base64 디코딩을 시도하는 과정에서 java.lang.IllegalArgumentException: Illegal base64 character a 오류가 발생했다. 이 오류는 Base64 문자열에 유효하지 않은 문자가 포함되어 있음을 나타내는 건데, charater a 라는 에러메시지때문에 괜히 헤맸기 때문에 이 글을 남긴다. Base64 인코딩은 일반적으로 A-Z, a-z, 0-9, +, / 문자와, 끝에 '=' 패딩 문자를 사용한다. 범위 밖의 문자가 포함되어 있으면 유효하지 않은 Base64 문자열이 되어 예외가 발생하는데, character a 라는 메시지때문에 원인을 찾기가 쉽지 않았다. 원인 일단 결론적으로 원인은 base64 문자열을 복사하는 과정에서 의도치 않은 줄바..

Development/Daily Error 2023.12.02
[Chrome] 인쇄할때 보이는 print css 브라우저별로 미리보기

Intro 웹 어플리케이션을 사용하면서 웹 브라우저에 보이는 화면을 그대로 프린트 하는 일은 사실 흔하지 않다. 연구데이터에 관련된 도메인으로 몇몇 프로젝트를 진행하다보니, 브라우저에서 보이는 화면 프린트 했을 때의 인쇄 결과물에 대한 요구사항이 종종 들어올 때가 있는데, 화면에 보여지는 것과 최대한 비슷하게 해달라는 고객도 있고 특정 포맷으로 보기좋게 인쇄되기를 원하는 클라이언트도 있었다. 사실 브라우저에서 인쇄물에 대해서도 css를 지원하기 때문에 어느정도의 css에 대한 이해가 있다면 어렵지 않게 해낼 수 있지만, 자주하는 일이 아니기 때문에 매번 할 때마다 다시 기억을 더듬어야 하고, 검색했을때 그렇게 쉽게 나오는 정보도 아니기 때문에 이번 기회에 한번 정리를 해두려고 한다. 특히 브라우저에서 바..

Development/HTML ⁄ CSS 2023.12.02
[Git] 과거 커밋 일괄 이메일 주소 변경

Intro 가끔씩 Git을 사용하다 보면 이메일 주소가 잘못 입력되어 커밋되는 경우가 생길 수 있다. 혹은 회사에서 개인 이메일로 잘못 커밋한 경우도 발생하는데 금방 알아차렸다면 수정하기 쉽지만 커밋을 꾸준히 잘못해왔다면 수정하기가 쉽지 않다. 이 글에서는 Git 저장소에서 특정 이메일 주소로 커밋된 목록을 확인하고, 해당 커밋들의 이메일 주소를 한번에 모두 변경하는 방법에 대해 알아볼 것이다. 단, 주의할 점이 많으니 명령어를 날리기 전에 항상 신중해야한다. 특정 이메일로 커밋한 목록 확인 먼저, 잘못 지정한 이메일 주소로 커밋한 내용이 얼마나 많은지 확인해보자. git log --author="{찾아볼_이메일_주소@example.com}" 지금 상황은 총 1건이 발견되었다. 해당 커밋의 해시값 6b5..

Development/DevOps 2023.08.08