본문 바로가기

전체 글36

#요즘 개발자 기회 주변인으로부터 서평활동을 모집한다는 소식을 접하게되어 난생 처음으로 서평을 지원하였는데 운이 좋게도 붙어버렸다. 한권은 다른 사람과도 나눠보기 좋은 책을 골랐고, 다른 한권은 기술적인 책을 골랐는데 딱 나눠보기 좋은 책이 당첨되었다. 그것이 바로 이 책이다. 글을 쓰는 작성자도 개발경력이 적잖이 있는편이지만, 경력대비 폭넓은 활동을 하지 못해 개발자보단 다른쪽으로 고민도 했었고 기존과 다른 분위기의 개발을 해보고싶어 준비중인데 마침 이렇게 고민할 때 보기 좋은책이 왔다. 첫인상 필자는 책을 읽을 땐 다른이의 베타리뷰나 서평보다는 이 머릿말을 중요하게 생각하고 제일 먼저 읽는데 이 머릿말엔 작가가 어떠한 의도로 최대한 작성하고자 하는 내용이 담겨있기 때문이다. 비록 그것이 읽는이로 하여금 책의 내용과.. 2024. 2. 26.
Kernel360 :: 기술세미나 준비, 발표 후기 주제 선정, 이유 현재 제가 수료하고 있는 kernel360 과정에서는 일정한 기간마다 약 10분간 진행하는 기술세미나를 준비하고, 발표하는 시간을 갖고 있습니다. 우테코 유튜브에 올라오는 그 기술 세미나들과 맥락이 같습니다. 기술적인 주제 하나에 대해 자유롭게 발표를 하는 것이지요. 개발자로 살아가면서 알아야 할 것은 무수히 많은데 아마 늙어 죽을때까지 알아가기 바쁜 직업이 아닐까 그 중 제가 선택한 주제는 관계형 데이터베이스에서 쓰이는 SELECT의 조회과정과 이에 따라붙는 쿼리실행계획입니다. 다른 크루 맴버분들이 워낙 자바, ORM 관련되서 발표를 잘 해주시기 때문에 굳이 더 미지의 영역을 파헤쳐보자 라는 느낌으로 겹치기보단 다른 영역으로 스펙트럼을 넓히는게 좋다고 생각이 들었기 때문입니다. 요즘 .. 2024. 2. 14.
패키지 정리 2차 api -> domain 필요성 지난회 https://gunsight.tistory.com/36 에서 패키지를 한번 정리하고 모듈을 추가했었는데 각 역할 영역침범을 방지해주는 안전장치 역할로써는 훌륭하지만, 굳이 모듈 인프라가 필요 없겠다고 결론을 내린적이 있습니다. 이에 따라 이 작업의 대한 의의, 고찰을 하게 되었습니다. 답변해주신 맨토님께서는 현재 머기업 'ㅇ'사에서 재직중이신 훌륭한 현역 개발자이십니다. https://hyeon9mak.github.io/woowahan-multi-module/ 우아한 멀티 모듈 세미나 정리 권용근님의 우아한 멀티 모듈 세미나를 보고 정리한 내용 hyeon9mak.github.io 위 링크의 글을 인용하자면 워시핏에서 구성한 패키지 구조는 모놀리식 멀티모듈 구조를 따르고 있습니다. 패키지와.. 2024. 2. 10.
프로메테우스 + 그라파나 + 스프링 액츄에이터 모니터링 시스템 (진행중) 보호되어 있는 글 입니다. 2024. 2. 5.
패키지 분리 1차 api - domain -> api - domain - infra 필요성 현재 저희가 개발중인 워시핏 플랫폼은 module-domain에서 entity와 repository를 같이 묶어놓고 쓰고 있습니다. repository는 interface로, jparepository를 상속받아 사용중입니다. 이 구조가 문제는 없지만 혹여나 ORM을 추가하거나 바꾼다는 시나리오가 발생한다면 모두 다 바꾸어야 하는 문제점이 발생합니다. 이를 해결하기 위해 첫 시도로는 모듈 분리는 수행하지 않고 api의 repository 호출하는 service를 interface로 변경, serviceImpl을 추가하여 구현체로 바꾸었고 이곳에선 repository에게 데이터 요청을 보낼 reader, store 인터페이스를 추가하여 실질적인 데이터 요청은 infra 단에서 구현체를 구현 후 이 두.. 2024. 2. 2.
JAVA enum <-> DB enum 바인딩 실패기 필요성 프로젝트 진행 중, 변할 일이 거의 없는 데이터들의 대해 DB insert를 어떻게 할 것이냐에 대한 회의가 있었다. 원랜 공통코드 들을 명세해서 테이블로 저장해두고, 프론트로 쏴서 foreach (value : list) 등의 방법으로 반복적으로 동적 그리기 용이하기 좋게 구상해서 만들었는데 성별, 연령대 같은 데이터는 왠만해선 범위 자체가 대격변이 발생하지 않는이상 불변에 가까운 데이터이기 때문에 이 데이터들은 있는 그대로 보관해도 좋지 않겠냐는 의견이 나왔다. 그렇다보니 DB 자체에 저장할때도 enum값으로 저장하면 좋겠다는 생각이 들었다. 즉, 클라이언트(프론트엔드)에서 gender : man 또는 woman 으로 보낸다면, enum을 활용하여 보여지는 텍스트는 man, woman이지만 실.. 2024. 1. 19.