본문 바로가기

java/기타7

java - Exception과 logging이 성능에 미치는 영향 1. 서론 개인 프로젝트는 사용자가 많은 경우가 드물기 때문에 부하가 있을 때 성능적으로 어떤 문제가 발생할지 경험하기 어렵고 따라서 고민도 덜 하게 되는 것 같다. 반면, 회사에서 개발을 해 보면서 위에서 언급한 부분에 대해 자연스럽게 더 고민하게 된다. Exception과 logging에 대한 고민도 이러한 맥락에서 출발한다. 2. Exception spring framework로 개발하면서, controller advice라는 기능을 활용해 Exception을 멋지게 처리할 수 있다는 것을 알게 되었다. 분리되어 있던 Excption에 대한 처리 로직을 한 곳에서 관리할 수 있어 매우 깔끔하다고 생각했다. 공부한 것을 적극 반영하고 싶었던 나는 비즈니스 로직에 많은 부분에서 Exception을 발생.. 2021. 10. 8.
java - InputStream& OutputStream close 1. 서론 회사 업무 중 클라이언트로부터 전송되는 파일을 수신하고 저장하기 위한 파일 서버를 개발하게 되었다. (참고로, 회사의 서버 개발 환경은 spring boot + tomcat) 서버 입장에서 파일을 수신하기 위해 생각한 방식은 2가지가 있었다. multipart/form 기반 octet-stream 기반 multipart/form의 경우 컨트롤러에서 MultipartFile로 요청 데이터를 수신하면 tomcat이 알아서 파일을 수신해 준다. @PostMapping("") public ResponseEntity upload(@RequestPart MultipartFile file) throws Exception { //file 파라미터에 파일 객체가 알아서 들어온다(was level에서 처리해줌).. 2021. 9. 28.
Java - Enum 1. Enum이란? - 상수들의 집합 - 자바에서는 final로 원시 타입 값을 고정할 수 있음 - 상수만으로 작성된 클래스는 class로 선언하지 않고 enum으로 선언할 수 있다. 2. Enum이 없다면? - 우선 enum이 필요한 이유에 대해 생각해 보면, 특정 상수에 명시적인 의미를 부여하기 위함이 크다고 생각한다. - 위에서 언급했듯, java에서는 final로 원시 타입 값을 고정할 수 있기 때문에 이를 활용하면 된다. public class tmp { private final static int MONDAY = 1; private final static int TUESDAY = 2; private final static int WEDNESDAY = 3; private final static .. 2021. 9. 24.