본문 바로가기

728x90
반응형
SMALL

전체 글

(109)
springboot 멀티모듈 구성하기 이런 구조를 보신적이 있으신가요? 이런 구조를 멀티모듈 구조라고 합니다. 지금부터 왜 이 멀티모듈 구조가 필요한지 알아보도록 합시다. 저는 멀티모듈구조를 갖기전 1. 관리자 프로젝트 2. 크롤링 프로젝트 3. 앱서버 프로젝트 이렇게 3가지의 프로젝트를 분리해서 개발을 해왔습니다. 이렇게 프로젝트를 분리해서 개발을 하니, 관리자 프로젝트가 가지는 Entity에서 하나가 추가되면 크롤링 프로젝트에서도 Entity를 같이 추가를 해줘야하고, 앱서버 프로젝트에서도 Entity를 같이 추가를 해줘야하고, 이러한 번거로움이 있었습니다. 복사를 하면 되지 뭐가 번거롭냐?? 생각하시는 분들도 있겠지만, 지금부터 제가 알려드리는 멀티모듈을 이용한다면 훨씬 더 편하다고 느끼실 겁니다. 위의 그림처럼 Entity를 재사용하..
cannot deserialize from object value Redis를 이용하다가, cannot deserialize from object value 에러를 마주하였다. 결론은 . API 요청 시 Request Body의 JSON 데이터를 DTO(Java Object)로 변환을 해주는 이때 DTO의 기본 생성자를 찾을 수 없어서 나는 에러이다. 해결은 . api 요청시 반환해주는 DTO의 기본 생성자를 추가해주면 끝이다.
jenkins 포트 변경하기 (Ubuntu 20.04 기준) sudo vim /etc/default/jenkins 다들 해당 파일에서 HTTP_PORT= 로 수정하면 된다고 착각한다. 수정하여 프로세스를 띄워도, 결국 jenkins 프로세스는 기본 jenkins 포트이다. jenkins.service 파일을 수정해야한다. sudo chmod 777 /usr/lib/systemd/system/jenkins.service sudo vim /usr/lib/systemd/system/jenkins.service jenkins.service는 애초에 read only 이기때문에 파일의 권한을 777로 바꿔준다. 그리고 Environment="JENKINS_PORT=8080" 부분의 포트를 원하는 포트로 수정해주자. sudo chmod 444 /usr/lib/systemd/..
Springboot Cloud Outbound Mailer 연동하기 Cloud outBound Mailer API 연동하는 것에 대한 자료가 많이 없는 것같아서 이 기회에 기록을 남겨보려고 한다. 네이버 클라우드의 Cloud Outbound Mailer 서비스를 신청하여 이용가능한 사람만 보길 권장한다. 먼저 연동하기 위해 늘 그러듯 Key가 필요하다. 필요한 키. 1. accessKey 2. secretKey 신규 API 인증키 생성을 해준다. 그리고 Access Key Id 와 Secret Key 를 기억하자. 이제 API 요청을 위해 헤더에 기본값들을 넣어주자. @Component public class WebClientConfig { public WebClient webClientMail() throws UnsupportedEncodingException, NoS..
ERROR 1231 (42000): Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER' 회사에서 MariaDB 10.6 을 Mysql8 로 마이그레이션 해야해서, 데이터 덤프로 옮기고 있었다가 에러를 마주했다. ERROR 1231 (42000): Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER' 문법이 달라져서 NO_AUTO_CREATE_USER 라는 아이가 없어서 그렇다. 그 부분을 제거 한후 set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,N..
java 와치서비스 java의 WatchService 기능이 존재하는지 모르는 사람이 아마 많지 않을까 싶다. 왜냐면 필자도 모르고 지내다가 업무때문에 이제야 알았다... 그래서 블로그에 남겨 공유하고 기록하려고 한다. WatchService 란 자바에서 본인이 직접 지정한 디렉토리 내 파일의 변화를 감지해주는 기능이다. 생성, 삭제, 수정 정도의 변화가 있겠다. 사용법 @Service public class WatchController { @PostConstruct public void init() throws IOException, InterruptedException { String dir = "파일 감지할 디렉토리 경로"; //watchService 객체 생성 WatchService service = FileSyst..
RabbitMQ 큐,바인딩,exchange 생성 자동화 https://yjkim-dev.tistory.com/88 Springboot + RabbitMQ 연동해서 간단하게 사용해보기 먼저 RabbitMQ 를 깔아볼게요. 내 Mac에 설치해도 되지만, 저는 그게 싫어서 docker로 RabbitMQ를 관리해볼게요. 1.Mac에서 설치할 경우 brew update brew install rabbitmq Homebrew를 이용하여 간단하게 설치가 가능 yjkim-dev.tistory.com 전 시간에 Springboot + RabbitMQ 를 연동하여 간단하게 RabbitMQ의 사용하는 법에 대해 배웠다. RabbitMQ 에서 제공하는 WebUI 에서 우리는 직접 큐를 생성하고, Exchange를 만들고 그랬다. (UI안에서) 이제는 WebUI에서 직접 클릭해서 ..
Nest.js + TypeORM 으로 연동후 CRUD 만들기 (쉬움) 요새 많은 스타트업들이 Nest.js 를 다루는 개발자를 많이 뽑는 것 같았다. 프론트개발자들이 서버를 개발할 때 새로운 언어를 공부해야 할 부담감도 적고, 성능도 좋다고 해서 어떤지 나도 한번 맛보기로 했다. NestJS CLI 설치하기 NestJS 좋은점이 개발자가 좀 더 환경구축을 편리하게 할수 있도록 CLI를 제공 한다. npm i -g @nestjs/cli NestJS 프로젝트 구성하기 nest new nestjsProject nest new 명령어는 새로운 프로젝트를 자동으로 구성하게 해준다. 따라서 nest new 프로젝트명 입력을 해준다. NestJS 프로젝트 실행하기 cd nestjsProject npm run start 방금 만들었던 프로젝트폴더에 들어가서 실행을 시켜준다. curl h..

728x90
반응형
LIST