본문 바로가기

전체 글34

패키지 정리 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.
암호화 테이블 / 복호화 view 세팅, 적용기 필요성 우리가 일반적으로 사용하는 모든 서비스, 플랫폼은 개인정보를 암호화를 하고있다. 개인정보 보호법 제 39조에 의하면 아래와 같은 내용을 확인 할 수 있다. 문서링크 그러므로 플랫폼을 개발하는 누구든 위의 내용을 준수해야한다. 계기 나는 불행인지 다행인지 관공서, 공공기관 관련 SI 개발ㆍ운영을 했었기 때문에 위의 대한 내용은 잘 알고있지만 직접적으로 내가 저런 부분까지의 DB 세팅을 할일이 없었다. 구인구직 플랫폼 운영을 할 때 DB 암/복호화 솔루션 'ㄴ' 의 신입사원이 플랫폼에 맞는 코드인지 확인조차 안하고 무지성 스크립트를 돌리고 커밋시켜 트리거, 함수가 다 깨진 대형사고를 한번 친 적이 있었다. 추궁을 하니 기존 담당자가 추노한다고 인수인계를 신입사원한테 대충 던지고 급하게 사라졌다해서.... 2024. 1. 10.
Kernel360 :: E2E를 마치며... 과정 중간 회고 10월 10일에 시작한 과정이 어느덧 정신을 차려보니 절반 가까이 다가와버렸다. 이틀 뒤면 새해이므로 올해가 가기전, 그동안의 나는 무엇을 했고 어떻게 변했는가? 결국 성장을 하고있는가? 생각하는 회고를 가져보고자 한다. front End to back End (E2E) 프로젝트를 진행했다. https://github.com/Kernel360/E2E1-TaskTracker GitHub - Kernel360/E2E1-TaskTracker: 공유 일정,목표 관리 서비스 공유 일정,목표 관리 서비스. Contribute to Kernel360/E2E1-TaskTracker development by creating an account on GitHub. github.com 한달간 프론트엔드부터 백엔드까지 풀코.. 2023. 12. 30.