전체 글85 [도서]객체지향의 사실과 오해 객체지향적으로 코드를 작성하는 건 어려운 일이다. 하지만 확장성 높고 유지보수성 좋은 코드를 작성하려면 알아야 하는 요건이라 생각한다. 하지만 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. [JAVA] 상수의 여러 관리법 조건을 걸거나 반복문을 제어할 때 등 특정 문자, 숫자 등을 직접 입력(하드코딩)해서 사용하게 되는데 해당 값이 어떤 이유로 정해진건지 처음 접하는 사람은 알 수 없고, 여러 코드에서 사용할 경우 유지보수성도 떨어집니다. 만약 이를 의미있는 이름의 변수에 할당하고 변경하지 못하는 상수화 하여 사용하면 코드를 이해하는데 더욱 도움이 되고, 유지보수성이 증가될것입니다. 그리하여! 상수를 관리하는 여러 방법들을 찾아본 결과를 작성해보려 합니다. 상수란? 상수란 변하지 않는 수를 말합니다. 자바에서는 변하지 않는 고정된 값을 담는 변수를 의미하고 상수를 선언할 때 final 예약어를 붙여서 명시합니다. public class Constant { public final int CAR_GOING_MIN_NUMBER.. 2022. 12. 11. [인텔리제이] unmappable character for encoding x-windows-949 Build Tool : Gradle 발생 상황 : import 받은 프로젝트에서 서버 기동 시 컴파일 에러와 함께 unmappable character for encoding x-windows-949의 메세지가 발생하였다. 원인 : 기존의 컴파일된 자바 버전과 인텔리제이의 자바버전이 달라 컴파일중에 문제 발생 해결 : 1. settings > Build, Execution, Deployment > Compiler > Java Compiler 에서 자바 버전을 맞춰주면 정상적으로 컴파일된다. 2. settings > Build, Execution, Deployment > Build Tools > Gradle Build and run using 을 Gradle -> IntelliJ IDEA로 변경 3. Gr.. 2022. 12. 1. [Gradle] package lombok.extern.slf4j does not exist Project Metadata Project: Gradle Project Language: Java 11 Framework : Spring Boot: 2.5.x QueryDSL관련 의존성 추가 후 Gradle build를 했지만 "lombok.extern.slf4j does not exist"라는 메시지와 함께 빌드에 실패하였다. 해결방법 검색 결과 테스트코드 어노테이션이 처리될 때에 명시적으로 lombok사용을 명시해줘야 된다고 한다. build.gradle 파일에 옵션을 추가하여 해결한다. dependencies { // dependency 추가 testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:l.. 2022. 10. 4. 이전 1 2 3 4 5 6 ··· 15 다음