자바(JAVA)
-
인텔리제이 커뮤니티 버전에서 레거시 스프링외장 톰캣 실행하기자바(JAVA) 2024. 8. 23. 16:21
이클립스에서 외장 톰캣을 이용하여 작업하던 프로젝트들을 인텔리제이로 옮겨 사용하게 된 경우들이 있었다.이때 gradle과 스프링부트를 사용한 프로젝트라면 별도로 설정할 필요 없이 아래와 같이 잘 실행할 수 있다.인텔리제이 우측에 나타나는 gradle마크를 클릭하면 저런 버튼이 나온다. 이때 clean한 다음 build를 실행하면 war파일도 만들어지고 프로젝트를 위한 빌드도 끝이 난다. 하지만 레거시 스프링 Maven 또는 빌드 도구 자체가 없는 프로젝트라면..? 처음엔 굉장히 골치가 아팠다.검색 결과 다행히 방법은 있었지만 처음 찾은 것들은 대부분 인텔리제이 Ultimate 버전을 쓰는 경우였다.나의 경우 Community(무료 버전)만 사용 중이었기에 Ultimate버전에서 제공하는 Tomcat se..
-
Serialization, 직렬화자바(JAVA) 2023. 7. 26. 23:50
자바 코드를 다루던 도중 살면서 처음으로 Serialization이라는 개념을 보았다. 가볍게 지나칠 수도 있었지만 나를 자극한 호기심을 충족하고자 정리해보겠다. (여담이지만 조사하다보니 꽤나 깊이있고 중요한 내용인 것 같았다.) 직렬화(Serialization)란? 쉽게 말하자면, 객체 데이터를 파일 형식으로 저장, DB에 저장, 메모리에 저장 하는 것 처럼 외부에 저장하기 위해 바이트 스트림 형태로 바꾸는 작업을 말한다. 이렇게 파일, DB, 메모리에 저장된 바이트들을 다시 객체로 변환하는 것을 '역 직렬화(De-serialization)'라고 일컫는다. 자바에서의 직렬화는 보통 1) 자바 기본(primitive) 타입이거나 2) java.io.Serializable 인터페이스를 상속받은 객체일 경우..