분류 전체보기86 [JAVA] emptyMap 사용 시 UnsupportedOperationException Collections.emptyMap()을 사용하면 정적 인스턴스의 Map을 리턴 받을 수 있는데 리턴 받은 Map의 데이터를 가공하려 하면 UnsupportedOperationException이 발생한다. 자바 문서를 보면 친절하게 내용이 나와있는데 Returns the empty map (immutable). This map is serializable. 변경이 불가능한 empty map을 리턴한다고 되어있다. 생각해보면 static Map을 리턴하는데 변경이 가능하다면 문제가 발생할 수밖에 없겠다고 생각된다. Null이 리턴되어 NullPointerException의 발생을 방지하고자 데이터 없는 Map을 리턴해야 할 때 혹은 로직 상 빈 Map이 리턴돼야 할 때 데이터의 가공이 필요 없을 경우 메.. 2023. 3. 22. [도서]객체지향의 사실과 오해 객체지향적으로 코드를 작성하는 건 어려운 일이다. 하지만 확장성 높고 유지보수성 좋은 코드를 작성하려면 알아야 하는 요건이라 생각한다. 하지만 SOILD원리 같은규칙을 외워서 할 수 있는 일이 아니었다. 그래서 찾다가 발견한 책이 "객체지향의 사실과 오해"였다. 이 책은 많이 알려진 책이었고 평이 상당히 좋았다. 책의 내용을 전부 습득하진 못했지만 책에서 사용한 예시는 객체지향이 어떤 개념인지 쉽게 이해할 수 있도록 했고 포인트를 잡을 수 있도록 해주었다. 책을 읽으면서 중요하다고 생각되는 내용과 개인적 의견을 글로 정리하며 복습합니다. 객체의 자율성이란 다른 객체로 부터 나의 상태가 변경되는 게 아닌 상태는 감추고 행동이 발생하길 요청받아 그것을 수행하는 자율성이다. 데이터의 내부 표현 방식과 무관하게.. 2023. 2. 21. [SPRING] Spring Boot 3.0 + Springdoc(Swagger3) 404에러 기존 Spring Boot 2.5.7에서 따끈따끈한 3.0버전으로 마이그레이션 하는 중 openapi에서 발생한 에러사항에 대해 정리합니다. Swagger-ui 403, 404 발생! Spring Boot 3.0으로 마이그레이션을 끝내고 테스트를 하는중 Swagger-ui 페이지가 404, 403 에러코드를 뱉으며 접속되지 않는 현상이 발생했습니다. 처음엔 403에러가 발생했었고 3.0으로 마이그레이션하면서 Spring Security 설정방법도 많이 변경됐기 때문에 Security설정을 잘못하여 발생한 것으로 생각하였지만 테스트 결과 Security의 문제가 아니였습니다. 결론은 허무하게도 Spring Boot 3.0과 사용중인 open-api(Swagger) 버전이 호환이 안되어 발생한 것으로 확인했.. 2023. 1. 3. [SPRING] 환경별 application.properties 관리 현재 재직중인 회사의 프로젝트는 dev, stg, default등 여러 속성의 application-properties파일을 관리중입니다. 물론 회사마다 다르겠지만 이전 직장에서는 이런 방식으로 관리하고 있지 않기때문에 환경별로 설정이 상이할때 어떻게 관리를 해야할까 궁금했습니다. 이렇게 환경별로 설정파일을 나누어놓고 환경에 맞게 설정정보를 읽어온다면 편리하게 관리 가능한 방법이라고 생각했습니다~ 그냥 은근슬쩍 알고 넘어가기에는 궁금증을 참을 수 없어 환경별로 설정파일을 관리하는 방법에 대해 알아보았고 그 결과를 글로 정리합니다! Project Metadata Project : Gradle Project Language : Java 11 Framework : Spring Boot: 2.5.x applic.. 2022. 12. 24. 이전 1 2 3 4 5 6 7 ··· 22 다음