Spring11 [Spring] 스웨거 안되는 버전이 너무 많아요! 스웨거 버전이 다양해서 찾기가 어려웠다. // build.gradle.ktsimplementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0") 2023년 12월 31일 기준 가장 최신 버전은 위와 같다. 추가적인 `SwaggerConfig`나 `@EnableSwagger2` 등의 설정 없이 바로 `~/swagger-ui/index.html`로 사용 가능하다. 최신 버전은 아래에서 확인해주세요!https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-starter-webmvc-ui 이후 스웨거 UI가 마음에 안들어서 `ReDoc`으로 UI를 커스터마이징 했다. 2023. 12. 31. [Kotlin] 정적 팩토리 메소드 enum class IssueType { BUG, TASK; companion object { fun of (type: String) = valueOf(type.uppercase()) }}자바 느낌의 정적 팩토리 메소드 enum class IssueType { BUG, TASK; companion object { operator fun invoke(type: String) = valueOf(type.uppercase()) }}fun test() { IssueType("BUG")}코틀린에서 자체 지원하는 정적 팩토리 메소드 `.invoke`를 생략해도 위처럼 enum을 사용할 수 있다.// invoke 생략 가능IssueType.invoke.. 2023. 12. 26. [Spring] JPA 사용 시 프록시 객체 사용 주의점 프록시 객체는 처음 사용할 때 한 번만 초기화 프록시 객체를 초기화 할 때, 프록시 객체가 실제 엔티티로 바뀌는 것은 아님. 초기화되면 프록시 객체를 통해서 실제 엔티티에 접근 가능 프록시 객체는 원본 엔티티를 상속받음. 따라서 타입 체크 시 주의해야함 (==으로 비교시 실패. 대신 instance of 사용해서 비교) 영속성 컨텍스트에 찾는 엔티티가 이미 있으면 em.getReference()를 호출해도 실제 엔티티 반환 2023. 12. 5. [Spring] Contrainerless 스프링부트는 Contrainerless다. Contrainerless라는 말을 이해하기에 앞서서 Serverless라는 말을 한 번 들여다볼 필요가 있다. 트렌디한 단어인 Serverless는 개발자라면 누구나 한 번쯤 들어봤을 것이다. 이제는 백엔드를 넘어서 프론트엔드에도 Serverless 바람이 불고 있는 추세다. 일부는 Serverless라는 말이 '서버가 없다'라는 말로 직역하곤 한다. 정확히는 틀린 말이다. Serverless여도 실제로 서버는 존재한다. 애초에 서버가 없이 코드가 돌아갈 수 있을리가 만무하다. 다만, 사용자의 입장에서는 마치 서버가 없는 것처럼 동작하기에 Serverless인 것 뿐이다. 따라서 "관리할 필요가 없다"라고 해석하는 것이 더 옳다. 예를 들어, AWS Lambd.. 2023. 10. 25. [Spring] 어플리케이션 실행 시 메모리 할당 java -Xms2g -Xmx4g -jar sample.jar Xms와 Xmx는 자바 어플리케이션이 시작될 때 JVM에서 사용할 수 있는 최소, 최대 힙 할당량이다. 즉, 위의 예시에서는 -Xms2g -Xmx4g이므로 최소 2GB ~ 최대 4GB의 메모리를 사용할 수 있음을 나타낸다. 예를 하나 더 들면, -Xms256m -Xmx512m이라면 최소 256MB ~ 최대 512MB의 메모리를 할당하겠다는 것이다. 아래는 도커파일 예시이다. FROM openjdk:11 WORKDIR /app COPY sample.jar . ENTRYPOINT ["java", "-Xms2g", "-Xmx4g", "-jar", "sample.jar"] 2023. 5. 15. 이전 1 2 3 다음 728x90