본문 바로가기

Framework5

[Spring-boot] JOOQ 도입 후 구동 속도가 느려지는 현상 발단  사이드 프로젝트로 스프링 부트에 JOOQ를 도입하면서 발생한 일이었다. 애플리케이션 구동 시간이 원래 10초 내외로 나왔으나, JOOQ를 도입하면서 구동 시간이 1분이 넘어가게 되었다. 자료를 조사해 보니 이는 JOOQ를 사용할 때 AOP에서 발생하는 문제였고, 해당 부분을 수정하여 해결하였다.    해결 기존 코드는 execution을 사용했었는데, 구동 시 적용되는 범위가 너무 넓어서 구동이 느려진다는 것이었다. // 기존 코드private static final String CONTROLLER = "execution(* com.myproject.app.controller..*.*(..))";private static final String SERVICE = "execution(* com.my.. 2024. 11. 9.
[Spring-boot] OpenJDK 64-Bit Server VM warning Spring boot에서 JDK를 17 버전으로 이용하면서 Gradle 빌드할 때, 아래와 같은 경고 문구가 발생했다. OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended   원인은 클래스 로딩 시 Class Data Sharing(CDS) 기능을 사용하면 발생하는 것으로 자료를 많이 볼 수 있었고, build.gradle에 간단한 옵션을 추가하여 해결할 수 있었다.  Troubleshoot 아래 사진과 같이 tasks.named('test) 내  옵션 한 줄을 추가해 주면 해결된다.   tasks.named('test') {.. 2024. 8. 22.
[FastAPI] FastAPI란 Python으로 Application Server를 구축할 때 사람들이 많이 이용하는 프레임워크에는 3가지가 있다. 무겁지만 오랜 기간 이용되어 큰 커뮤니티와 다양한 레퍼런스를 가지고 있어서 빠르게 개발이 가능한 Django, 간결하고 가벼운 구조를 가지고 있어서 마이크로 서비스 개발을 빠르게 할 수 있는 Flask, 비동기 처리와 데이터 검증에 최적화되어 타 프레임워크보다 높은 성능을 가진 FastAPI가 있는데, 그중에서 FastAPI에 대하여 알아볼 것이다. FastAPI 공식 홈페이지 : https://fastapi.tiangolo.com/ko/ FastAPI FastAPI framework, high performance, easy to learn, fast to code, ready for p.. 2023. 10. 6.
[Spring-Boot] Swagger(OpenAPI) - Failed to load remote configuration (Reverse-Proxy) 사내 프로젝트를 진행하면서, 쿠버네티스 환경에서 각각의 Micro-Service에 요청을 하기 위하여 Kong Ingress Controller를 이용하였는데, 그 과정에서 Swagger 접속 시 발생한 에러에 관한 내용이다. 위의 사진을 보면, URI의 End-Point를 기반으로 서비스를 분기하여 각 파드에 요청을 보내는 것을 볼 수 있다. 운영하는 환경에서는 각 Pod에서 Spring-boot 기반의 애플리케이션 서버를 운영하고 있었는데, Springdoc의 Swagger에 접속하면 다음의 화면을 볼 수 있었다. 이와 관련하여 빠르게 네트워크 상의 문제라고 인지하였고, Springdoc의 공식 문서에서 관련된 자료를 찾았다. https://springdoc.org/#how-can-i-deploy-s.. 2023. 9. 14.
[Django] Django란? 최근에 개발을 시작한 사람들 중 많은 사람들이 Python을 사용해 봤을 것이다. 또한, 대중적인 Python을 이용하여 웹 개발을 시작하는 사람들도 많이 생겨났다. [사진 : Stackoverflow의 프로그래밍 언어 질문 수의 동향 그래프] 최근에 인기를 끌고있는 Python에서는 가장 대중적인 웹 개발 프레임워크가 3개 존재하는데, Flask / Django / Fast-api가 있다. 해당 글에서는 이 중 Django에 대하여 알아볼 것이다. Django의 홈페이지에서 소개하는 글이다. Django는 소개에서 보는 것처럼 보다 적은 코드로 웹앱을 빠르게 개발하는 것을 지향하고 있다. 또한, 다른 프레임워크들과는 다르게 Django는 Front-End, Back-End를 모두 개발할 수 있는 Ful.. 2023. 2. 6.