NHN 클라우드 서비스 중 SMS 발송내역을 조회하는 API를 이용하려고 했다. 서버 내 클라이언트를 만들고 호출하는 과정에서 아래와 같은 에러가 발생하면서 원하는 형태로 모델 파싱이 되지 않았다. java.lang.IllegalArgumentException: class notification.MmsResponse declares multiple JSON fields named header 환경 스프링부트3 + JPA + 코틀린 http3, Gson NHN 클라우드 서비스 이용 fun getMmsList(recipientNo: String): MmsResponse { val client = OkHttpClient().newBuilder().build() // 일부 생략 val request = Requ..
Fig는 맥 터미널 명령어를 자동완성 해주는 도구이다. 필자는 설치만 해두고 별다른 세팅없이 기본 상태로 사용하고 있지만 충분히 만족하고 사용하고 있다. GeekNews에서 소개된 글을 보고 사용하기 시작했는데 사용성이 좋아서 추천하는 개발자 도구이다. 최근에 AWS에서 Fig를 인수했다는 뉴스를 접했다. 이 기회에 Fig에 대한 정보와 감상을 간단하게 남겨보겠다. 제일 중요한거, 개인이 쓰는건 무료!!! VSCode 스타일의 자동완성 기능을 터미널에 추가 macOS Terminal, iTerm, Hyper, VSCode 내 터미널에서도 동작 자동완성 지원 목록 기본 스펙 : git, docker, docker-compose, firebase, conda, jest, mysql, node, npm, ps..
⚠️ 경고 ⚠️ 본 카테고리, Dev Memo는 필자가 깊게 다루기는 귀찮지만 궁금한 것들을 체험해보고 간단하게 기록을 남기는 공간입니다. 디버깅 노트, 써드파티 라이브러리 사용기, 버전 업데이트, 어이없는 실수, 오탈자 발견 등. 각종 시덥지 않은 내용이 들어 갈 수 있다는 점 참고바랍니다. (우헤헿) 상황 설명 이벤트를 수신(Consume)한 뒤 원하는 로직을 처리하던 중에 에러가 발생할 수 있다. 이후에 다시 메시지를 처리할 수 있도록 재시도를 한다. 필자의 경우 10회동안 반복해서 시도를 했는데 한번 안되는 이상 10번을 해도 같은 상황이었다. 메세지 처리를 반복을 하지 않거나 한번만 반복하도록 하고 싶다. 개발 환경은 스프링 + 코틀린이다. ListenerContainerCustomizer 단일..
⚠️ 경고 ⚠️ 본 카테고리, Dev Memo는 필자가 깊게 다루기는 귀찮지만 궁금한 것들을 체험해보고 간단하게 기록을 남기는 공간입니다. 디버깅 노트, 써드파티 라이브러리 사용기, 버전 업데이트, 어이없는 실수, 오탈자 발견 등. 각종 시덥지 않은 내용이 들어 갈 수 있다는 점 참고바랍니다. (우헤헿) 일단 다음과 같은 환경을 갖춘 상태이다. 스프링부트 + JPA + Kotlin User와 Club 테이블은 양방향 조인 ID는 Auto Increment 다음은 요구사항이다. 클럽에 가입 신청 혹은 신청 승인된 User를 찾는다 특정 기간 내 가입 신청한 User들을 찾는다 해당 유저들은 클럽별로 묶는다 클럽별 가장 최근에 가입 신청한 User를 모아서 Return해준다 고민해보았다. 과연 Spring..
🧩 생략할 내용들 구글 IO가 무엇인지, 구글은 언제부터 이런 퍼즐을 만들어 배포했는지, 왜 퍼즐을 만들었는지 등은 자세히 다루지 않는다. 절대로 귀찮아서가 아니다. 어디까지나 퍼즐의 정답으로 가는 과정 자체가 목적이기에 거기에 포커싱을 맞춰 내용을 작성해보겠다. 어떻게 퍼즐에 진입할 수 있을까? 두가지 방법이 있다. 하나는 구글 IO 홈페이지에서 진입하는 방법. 구글에서 구글 IO를 검색해서 홈페이지로 진입이 가능하다. 물론 URL로 진입해도 된다. 가운데 "I/O 준비"라고 적혀있는 큰 글자 밑에 링크가 있다. 그것을 클릭하면 퍼즐을 확인할 수 있다. 다른 방법은 더 간단하다. 걍 URL(https://io.google/2022/svd/)로 진입하는 것이다. 아래를 클릭하면 된다. Google I/O..
⚠️ 경고 ⚠️ 본 카테고리, Dev Memo는 필자가 깊게 다루기는 귀찮지만 궁금한 것들을 체험해보고 간단하게 기록을 남기는 공간입니다. 디버깅 노트, 써드파티 라이브러리 사용기, 버전 업데이트, 어이없는 실수, 오탈자 발견 등. 각종 시덥지 않은 내용이 들어 갈 수 있다는 점 참고바랍니다. (우헤헿) 문제 발견 Sequence 인터페이스를 학습하고 있었다. 공부하던 예시에서 구현한 라이브러리를 보려고 추적을 했는데 아래와 같이 2개의 파일을 발견했다. 아래 이미지에서 가장 왼쪽은 Sequence 인터페이스, 그리고 중간이 Sequence.kt, 오른쪽이 _Sequence.kt 파일이다. 왜 동일한 package에 언더바를 제외하면 동일한 이름의 파일이 2개나 있을까? The Kotlin Standar..
⚠️ 경고 ⚠️ 본 카테고리, Dev Memo는 필자가 깊게 다루기는 귀찮지만 궁금한 것들을 체험해보고 간단하게 기록을 남기는 공간입니다. 디버깅 노트, 써드파티 라이브러리 사용기, 버전 업데이트, 어이없는 실수, 오탈자 발견 등. 각종 시덥지 않은 내용이 들어 갈 수 있다는 점 참고바랍니다. (우헤헿) API를 개발하는 업무였고 Local에서는 문제없이 잘 동작했다. 그러고는 개발 서버에 배포하면서 CI/CD에도 이슈없어서 "아~ 다했다."하고 안심했는데 프론트엔드 개발자가 "개발서버 동작안하는데요?"라고 하셨다. 엄훠나. 지금 진행하는 프로젝트는 스프링부트 Application을 Docker로 빌드를 한다. Docker로 빌드하기위해 스프링 내부에 Dockerfile 파일을 가진다. 이 Dockerf..
⚠️ 경고 ⚠️ 본 카테고리, Dev Memo는 필자가 깊게 다루기는 귀찮지만 궁금한 것들을 체험해보고 간단하게 기록을 남기는 공간입니다. 디버깅 노트, 써드파티 라이브러리 사용기, 버전 업데이트, 어이없는 실수, 오탈자 발견 등. 각종 시덥지 않은 내용이 들어 갈 수 있다는 점 참고바랍니다. (우헤헿) 연관관계로 엮여있는 엔티티를 조회했을 때, 분명히 FetchType.LAZY를 적용했음에도 연관관계의 모든 엔티티가 조회되는 상황을 볼 수 있다. 그럼 혹시 아래 경우인지 확인해보자. 코프링 (코틀린 + 스프링) JPA를 사용한다 연관관계에 지연로딩을 적용한다. (FetchType.LAZY) // 예) @Entity class Product @ManyToOne(fetch = FetchType.LAZY) ..
⚠️ 경고 ⚠️ 본 카테고리, Dev Memo는 필자가 깊게 다루기는 귀찮지만 궁금한 것들을 체험해보고 간단하게 기록을 남기는 공간입니다. 디버깅 노트, 써드파티 라이브러리 사용기, 버전 업데이트, 어이없는 실수, 오탈자 발견 등. 각종 시덥지 않은 내용이 들어 갈 수 있다는 점 참고바랍니다. (우헤헿) 스프링에서 여러 개발환경을 세팅하고 있을 수 있다. 예를 들면 아래처럼 기본 yml 파일이 있고 여건에 따라 다른 환경으로 테스트를 할 수 있도록. resources ㄴ application.yml ㄴ application-dev.yml ㄴ application-local.yml 기본적으로는 application.yml 상 환경으로 진행될텐데, dev나 local은 어떻게 하면 바라볼 수 있을까? 간단하..
⚠️ 경고 ⚠️ 본 카테고리, Dev Memo는 필자가 깊게 다루기는 귀찮지만 궁금한 것들을 체험해보고 간단하게 기록을 남기는 공간입니다. 디버깅 노트, 써드파티 라이브러리 사용기, 버전 업데이트, 어이없는 실수, 오탈자 발견 등. 각종 시덥지 않은 내용이 들어 갈 수 있다는 점 참고바랍니다. (우헤헿) 필자는 Ant design은 커녕 typescript도 모른다. 갑자기 이쪽을 공부할 일이 생겨서 급하게 환경세팅을 하다가 만난 이슈를 공유하고자 한다. Ant design으로 진행되고 있는 프로젝트에서 필자가 pull 받아서 개발하려는 과정에 나타난 이슈이다. $ npm list typescript npm WARN read-shrinkwrap This version of npm is compatible..
Comment