본문 바로가기
728x90
반응형

기타 CS35

프로젝트에 멀티 모듈을 사용하는 이유? for 헥사고날 아키텍처? 도메인 비즈니스 로직이 외부 요소에 의존하지 않게함. 대신 프레젠테이션 계층(controller)과 데이터 소스 계층(persistence) 같은 외부 요소들이 도메인 계층에 의존하도록 함. 즉, 외부와의 접촉을 인터페이스로 추상화하여 비즈니스 로직 안에 외부 코드나 로직의 주입을 막는 것이 핵심 장점 의존관계 역전을 통해 도메인에서 밖으로 나가는 부분이 없으므로 외부 요소 신경쓸 필요 없음 모듈 일부를 배포하는 것이 용이 기능 확장이 용이 쉬운 테스트 구성 요구 사항에 빠르게 대처 가능 관심사 분리 단점 코드가 많아진다. 불필요한 오버헤드 왜 멀티모듈? 동일한 도메인을 가진 서비스(?)가 여러개 늘어날 가능성이 있을 때 유용. (도메인을 한 번만 구성해도 됨) 공통으로 사용하.. 2024. 2. 15.
맥 사용 중인 port kill 하기 백엔드 프로젝트를 로컬에서 돌렸더니 이미 포트를 사용중이란다. 안쓰고 있는데... ㅡㅡ 이럴 때는 터미널로 해당 포트를 사용 중인 PID 정보를 찾아내서 강제로 죽여줘야? 한다. 1) 해당 포트를 사용 중인 PID 정보 찾기 lsof -i :포트번호 ex) lsof -i :80 2) kill 하기 kill -9 PID ex) kill -9 42646 다음에 또 까먹고 검색하면 내가 쓴 글이 뜨길 바라며 ㅋㅋㅋ 구럼 20000 2024. 1. 30.
springboot 프로젝트(모듈)에 외부 라이브러리를 추가하는 방법 gradle에 없는 외부 라이브러리(예: fasoo DRM 등)를 스프링 부트 프로젝트/모듈에 jar로 추가하기 위해서는 build.gradle 파일 수정 후 빌드를 해줘야 한다. 특정 디렉토리 하위의 라이브러리를 모두 의존성 주입하기 dependencies { // fasoo drm implementation fileTree(dir: 'libs/fassojar', include: '*') } 특정 라이브러리를 각각 의존성 주입하기 dependencies { implementation 'org.springdoc:springdoc-openapi-ui:1.6.11' } 이렇게 추가하고 gradle build ㄱ ㄱ 2023. 10. 24.
리눅스 유닉스 파일 권한 설정 (예: chmod 755 *) chmod 755 * chmod = change mode의 약어. 시스템의 모드(권한)를 바꾸는 명령어 숫자 각 자리수: 첫번째=user 권한, 두번째=group권한, 세번째=other권한 숫자의 의미: 4=read, 2=write, 1=execute 7 = 4+2+1 = read + write + excecute = 모든 권한 다 줌 즉, chmod 755 = user는 읽기/쓰기/실행 가능, group 과 other는 읽기/실행만 가능 rwxr-xr-x chmod 755 로 권한 부여를 했다면 퍼미션(권한) 정보는 rwxr-xr-x로 표기된다. r = read, w = write, x = execute 이며, 9비트를 3비트(user), 3비트(group), 3비트(other)로 나눠 표기한다. 모든.. 2023. 5. 21.
Redis -> MongoDB 전환 이유 (몽고DB 특징, 장점 etc) 요즘 이런 저런 개발 회고록을 눈팅하다보면 Redis -> MongoDB 전환기가 많이 보인다. 예컨대 올리브영, LINE 등. NoSQL은 Redis 밖에 못써봤고... 정해진대로 써야하는(?) 그런 조직에 있는 나에게는 '전환기 회고록' 등을 작성하는게 먼나라 이웃나라 이야기이지만 언젠가 참고할 일이 있길 바라며 + 우물안 개구리가 될 수는 없기에... Redis -> MongoDB 전환은 왜 하는 것인지.. 그럼 뭐가 더 좋아지는지 등등 정리해본다. 참고한 회고록(1) https://engineering.linecorp.com/ko/blog/LINE-integrated-notification-center-from-redis-to-mongodb LINE 알림 센터의 메인 스토리지를 Redis에서 Mo.. 2023. 4. 13.
728x90
반응형