Spring Boot(14)
-
사용자 정의 어노테이션을 활용한 Profile 별 호출 가능 API 설정 - @LocalDevOnly
HTML 삽입 미리보기할 수 없는 소스 #1. 개요 각 API 에 대해 prod / dev / local 어디에서 호출할 수 있는 지에 대한 설정 추가를 위해 어노테이션 생성 기존 어노테이션으로는 각 API 가 아닌 Bean 단위로 Controller 속 API 전체에 대해 어느 서버에서 호출 할 수 있는 지 나타낼 수 있음 @Profile({"local"}) string[] 값 속에 어느 서버에서 해당 controller 속 API 들을 허용할 지 정하면 됨 @ConditionalOnExpression("'${spring.profiles.active}'.equals('dev')") 위 같은 방법도 가능 그러나 이 방법으로는 controller 내부 특정 API에 대해서 접근 제어를 할 수 없음. 그래서..
2024.03.14 -
Node 에서 Java spring 로의 리팩토링 기록 ( NoSql 에서 Sql로)
HTML 삽입 미리보기할 수 없는 소스 #1. 리팩토링 전 1. SW구조적 문제점 💡 Monorepo / 모듈 단위 개발 초기엔 특정 프론트엔드 개발자와 백엔드 개발자가 같이 협업하여 단일 모듈을 맡아 개발하였다. monorepo 구조가 이런 특징에 있어서 빠른 속도로 개발하기에 적합하였지만, 신규 인원이 많아지고, 코드의 양이 많아지며, 고도화가 필요한 시점에서 더 이상 monorepo 구조가 적합한 구조가 아니게 되었다. 단일 repository 에 api, db, 백엔드, 프론트엔드 코드가 전부 포함되어있고, 또한 각자 자신만의 모듈을 맡아 개발을 하다보니, 코드의 방대함, 코드의 통일성 부재 등으로 인한 가독성 저하 문제가 유발되었다. 또한 인과관계가 반대로지만, 백엔드 개발에 있어서 node.j..
2024.03.14