반응형
응답 모델이 상속받은 data 클래스일 때, multiple JSON fields 이슈
Dev Memo 2024. 1. 24. 15:31

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..

타입스크립트를 씹고 뜯고 맛보고 (타입스크립트 교과서)
Study 2023. 11. 29. 21:46

길벗의 개발자 리뷰어 활동을 위해서 책을 제공받아 작성된 서평입니다...만 진심이 담겨있습니다. 허위 사실 유포는 😎일절 없음. 타입스크립트도 결국은 자바스크립트이다. 천천히 A부터 Z까지 하나씩 학습하면 큰 허들은 아니다. 변수와 배열, 인터페이스 등. 자바스크립트를 처음 배울 때처럼 하나씩 배우고 여기에 타입이라는 개념을 더 배우면 된다. 그런데 모두가 이렇지 않을 것이다. 누군가는 자바나 코틀린으로 개발하는 백엔드 개발자가 가끔씩 타입스크립트로 만들어진 UI 프레임워크를 수정하게 되면 아무리 간단한 미션이라도 상당히 어려움을 겪는다. 자바스크립트도 제대로 공부한적이 없다면 그야말로 재난이다. 눈치챘나? (그게 나야) 실무에서 이미 타입스크립트를 사용하고 있고, 처음부터 차근차근 학습하기 힘들면 필요..

비밀번호를 유출하게 만드는 게임, Gandalf
Dev Note 2023. 10. 30. 17:44

몇개월 전에 GeekNews에서 흥미로운 게임을 찾았다. 따로 설치를 해야하는 게임은 아니고 웹에서 진행되는 게임이다. 바로 인공지능에게 비밀번호를 유출하게 만드는 게임이다. 보호하는게 아니라 유출하는게 목적이다. Gandalf라는 게임이다. Gandalf | Lakera – Test your prompting skills to make Gandalf reveal secret information. Trick Gandalf into revealing information and experience the limitations of large language models firsthand. gandalf.lakera.ai 유저는 간달프에게 비밀번호를 유출할 수 있게 질문을 한다. 레벨1부터 7까지 존재하며..

파일목록조회? ls? ll? eza로 편안하게
Tool 2023. 10. 26. 17:26

우리는 터미널에서 파일 목록을 조회할 때 리눅스 명령어를 사용한다. ll, ls 등의 명령어가 그런 것. 이것으로도 익숙한 분들이 있지만 사람은 실수를 줄이고 싶고 도구를 더 편하게 사용하고 싶은 법이다. 그런 니즈를 가진 사람들을 구원해 줄 eza가 있다. 이전에 exa라는 것이 있었고 나름 인기도 있었지만 워낙 오랫동안 업데이트가 되지 않아 새로운 도구가 등장하게 되었다. GitHub - eza-community/eza: A modern, maintained replacement for ls A modern, maintained replacement for ls. Contribute to eza-community/eza development by creating an account on GitHub...

잘못된 분석은 무엇으로부터 시작될까
Spring 2023. 10. 24. 18:13

이슈가 생겼을 때, 보통은 잘못된 분석이 원인인 경우가 많다. 그렇다면 이 잘못된 분석은 어떤 원인으로 발생할까? 이 의문을 조금이나마 풀어준 경험을 공유해볼까 한다. 최초 발견 내가 겪은 이슈는 아래와 같다. 로컬 환경에서 테스트 중 특정 화면의 조회 기능 문제를 발견 승인여부에 Y를 입력하여 조회시 결과가 조회되지 않음 (아래 이미지 참고) 전체 혹은 N을 입력했을 때에는 정상 조회가 됨 개발서버에서 테스트 시 문제가 없음 // 에러 메세지 Caused by: java.lang.IllegalArgumentException: org.hibernate.query.SemanticException: Could not interpret path expression 'user.businessVerifiedAt'..

코딩 컨벤션과 소프트웨어 개발 원칙
Dev Note 2023. 10. 24. 16:30

코딩 컨벤션 코딩 컨벤션(Coding conventions). 그대로 해석하면 코딩 규약이다. NHN 클라우드의 기술 블로그에서는 코딩 컨벤션을 아래와 같이 정의하고 있다. 읽고, 관리하기 쉬운 코드를 작성하기 위한 일종의 코딩 스타일 규약 협업으로 개발을 할 때, 각자의 개발 스타일이 다르다보니 서로의 코드를 Merge할 경우에 혼선이 있을 수 있다. 이런 혼선을 막기 위해서 사전에 코딩 컨벤션을 정한다. 코딩 컨벤션을 강제하기 위해서 IDE의 기능을 사용하거나 Lint를 사용하기도 한다. 코딩 컨벤션은 코드 스타일을 정하는 것이기에 코딩 컨벤션을 이야기할 때 스타일이라는 단어가 키워드가 되기도 한다. IntelliJ에서 코딩 컨벤션을 설정할 때 아래와 같은 모습을 볼 수 있다. 이것은 코틀린 코딩 컨..

Fig, 맥 터미널 명령어를 자동완성 해주는 도구
Dev Memo 2023. 9. 4. 16:50

Fig는 맥 터미널 명령어를 자동완성 해주는 도구이다. 필자는 설치만 해두고 별다른 세팅없이 기본 상태로 사용하고 있지만 충분히 만족하고 사용하고 있다. GeekNews에서 소개된 글을 보고 사용하기 시작했는데 사용성이 좋아서 추천하는 개발자 도구이다. 최근에 AWS에서 Fig를 인수했다는 뉴스를 접했다. 이 기회에 Fig에 대한 정보와 감상을 간단하게 남겨보겠다. 제일 중요한거, 개인이 쓰는건 무료!!! VSCode 스타일의 자동완성 기능을 터미널에 추가 macOS Terminal, iTerm, Hyper, VSCode 내 터미널에서도 동작 자동완성 지원 목록 기본 스펙 : git, docker, docker-compose, firebase, conda, jest, mysql, node, npm, ps..

application.yml에서 AWS 환경변수를 지워도 동작하는 이유
Spring 2023. 8. 24. 10:43

들어가기 앞서 개발 환경을 간단하게 나열해본다. Spring boot 3 + Kotlin Gradle 사용하는 AWS 서비스 정보는 아래 내용을 참고할 것 아래와 같은 질문을 받은 적이 있다. 이 정보가 있다가 사라졌는데... 없어도 잘 동작하는 이유(?)가 뭘까요? S3부터 SQS까지 여러 AWS 서비스를 사용하고 있음에도 위 정보가 없이 잘 동작했다. 불필요한 정보를 노출시키는 것보다 제거하는 것이 나을 것으로 판단해서 삭제를 했지만 삭제하면서도 어떻게 이게 동작하는지 궁금했다. 아래는 사용하고 있는 패키지 목록이다. Spring Cloud AWS를 사용하고 있는 것을 알 수 있다. // build.gradle.kts dependencyManagement { imports { mavenBom("io...

AWS API Gateway + Lambda를 이용한 우회용 API 만들기
Server 2023. 8. 16. 18:27

경고!! 어디까지나 우회용이기에 서비스에 따라서 위험할 수 있다. 일회성 혹은 단발성으로 필요하거나 보안을 무시해도 되는 상황에서 이 API 생성을 고려해보자. AWS API Gateway + Lambda를 이용한 우회용 API를 만들어 보았다. 어떻게 만들었냐를 설명하기 전, 왜 이런게 필요했는지 어떤 상황이 있었는지 간단히 설명해보면 아래와 같다. 서비스 런칭 전, 모든 데이터는 테스트용 데이터일 때 비개발자 직원이 회원의 휴대폰 번호를 수정하고 싶다. 자주. 별도의 어드민 페이지가 없었기 때문에 편하게 수정하는 방법을 고민했다 환경 및 계획 당시 개발하던 서비스는 아래와 같은 환경이 준비되어 있었다. SpringBoot 3 + Kotlin + JPA Gradle SQS 사용을 위한 세팅 (io.aw..

Flutter로 앱 개발하면서 만났던 이슈들
Android, iOS 2023. 8. 8. 16:04

웹뷰를 감싸는 Flutter 앱을 만들면서 여러가지 이슈를 겪었다. 기억에 남는 이슈를 여기에 (두서없이ㅎ) 남겨보겠다. 참고로 나의 상황은 아래와 같다. 크로스 플랫폼으로 앱을 개발해보는 것은 처음이었다. 안드로이드 개발만 했던 나에게는 다른 진영의 개발은 상당히 생소했다. 물론 Xcode도 처음 사용해보았다. 뿐만아니라 iOS 개발 및 배포와 관련된 경험이 모두 처음이었다. Flutter를 다루는 것도 처음이었다 Xcode 빌드 Fail이 될 때 Flutter로 개발하더라도 안드로이드와 iOS는 개별로 빌드를 해야한다. iOS는 Xcode로 빌드를 했는데... 처음부터 잘 될리가 없다. 안드로이드의 clean and build와 같은 방법이 있을 것으로 예상했고 예상대로 그런 방법이 있었다. 빌드 혹..

728x90
반응형