자바(3)
-
99클럽 8일차 TIL: SpringBoot - Profile
#1. 오늘의 학습 키워드자바스프링부트에서 같은 소스 코드로 여러 다른 환경에서 실행시키려 할 때, 각 환경에 맞게 환경변수를 주입하고 싶으면 어떻게 해야할까? - ProfileLoki 서버로 API 호출하는 Util 클래스를 만들고 배포하였을 때, Profile 과 연관 된 오류가 있었다.Bean 등록과 @Profile 어노테이션 관련된 오류였다.컴파일 타임 및 기본 환경에서는 검출이 안 된 오류.해당 오류와 해결 과정은 따로 상세히 다뤄보겠다.과정에서 Profile 과 관련된 오류인 것을 깨닫고 다시 Profile에 대한 공부를 하였고, 다른 Profile로 로컬에서 실행을 해보았다.#2. 공부한 내용Profile환경에 따라 개발자가 의도한 설정파일을 소스코드가 바라보도록 도와주는 것이 Profile..
2024.04.11 -
99클럽 7일차 TIL: Collectors.toList() vs. toList()
#1. 오늘의 학습 키워드 자바스프링에서의 Stream 을 사용해 filter, map 등을 쓴 뒤 stream을 다시 리스트로 만들어서 리턴하고 싶을 때, 사용 가능한 두 가지 메서드 중 어떤 거를 선택해야 될까? 자바 스프링으로 개발을 하다보면, 리스트에 대해서 map, filter 등 stream 메서드를 적용해야되는 경우가 많다. 그런데 그 직후 intellij 에서 제공해주는 메서드가 두가지가 있는데, 이를 혼용해도 상관이 없을까 하였는데, 그게 아니었다. 일반적으로 intellij 는 toList()를 쓰도록 권장을 한다. 그러나 바꾸고 나서 오류가 뜨는 상황이 오히려 생길 때도 있다. collect(Collectors.toList()) 자바 stream의 collect 메서드를 사용하여 요소..
2024.04.10 -
Node 에서 Java spring 로의 리팩토링 기록 ( NoSql 에서 Sql로)
HTML 삽입 미리보기할 수 없는 소스 #1. 리팩토링 전 1. SW구조적 문제점 💡 Monorepo / 모듈 단위 개발 초기엔 특정 프론트엔드 개발자와 백엔드 개발자가 같이 협업하여 단일 모듈을 맡아 개발하였다. monorepo 구조가 이런 특징에 있어서 빠른 속도로 개발하기에 적합하였지만, 신규 인원이 많아지고, 코드의 양이 많아지며, 고도화가 필요한 시점에서 더 이상 monorepo 구조가 적합한 구조가 아니게 되었다. 단일 repository 에 api, db, 백엔드, 프론트엔드 코드가 전부 포함되어있고, 또한 각자 자신만의 모듈을 맡아 개발을 하다보니, 코드의 방대함, 코드의 통일성 부재 등으로 인한 가독성 저하 문제가 유발되었다. 또한 인과관계가 반대로지만, 백엔드 개발에 있어서 node.j..
2024.03.14