전체 글 230

Could not run phased build action using connection to Gradle distribution 오류 해결하기

회사일에 치여 한동안 개인 공부를 못했는데.. 오랜만에 개인 공부하러 VSCode를 켜서 예전 코드 끄적이다가 아래의 오류를 발견했네요.. 오류 내용 더보기 오류 내용 Could not run phased build action using connection to Gradle distribution 'https://services.gradle.org/distributions/gradle-7.6.1-bin.zip'. The specified initialization script '/var/folders/ky/7ynmh8dx3rs1hrt98ybpm3tc0000gn/T/d146c9752a26f79b52047fb6dc6ed385d064e120494f96f08ca63a317c41f94c.gradle' does ..

Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError; java/xml/bind/JAXBException 오류 해결하기

maven 프로젝트를 gradle로 변환하면서 프로젝트 셋팅 중 아래와 같은 오류를 접하게 되었습니다. Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError; 문제 원인 분석 해당 오류는 jaxb-api를 호출하지 못하여 발생한 오류였고 생각보다 쉽게 해결이 가능했습니다. 문제 해결 build.gradle 파일에 아래와 같은 의존성을 추가해주면 해결됩니다. dependencies { implementation 'javax.xml.bind:jaxb-api:2.2.11' } 기타 jaxb-api에 대해 간단히 알아보도록 하겠습니다. jaxb-api? Java Architecture for XML Binding ..

Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream 오류 해결하기

메이븐 프로젝트에서 pom.xml 파일 변경 시 위와 같은 오류가 발생했다. Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream 내가 시도 및 해결한 방법은 아래와 같다. 1. target/surefire-reports 폴더 제거 ( 해결 x ) - 스택오버플로우를 찾아본 결과에 따라 target/surefire 폴더를 지우면 해결된다는 말이 있어서 시도해봤다. - maven을 package 시도 시 빌드 오류가 발생했을 경우 target에는 패키지가 준비되어있다고 인지되고 있는 상태임으로 계속 package하게 될 경우 동일한 오류가 반복되기 때문에 힙 할당으로 생성된 targe..

exception is org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type 오류 해결하기.

안녕하세요 세기무민입니다. 이번 포스팅은 실무에서 역직렬화 관련하여 발생한 오류 해결과 관련하여 포스팅 해보려고 합니다. 실제 현업에서 사용하는 코드는 사용하지 못하기 때문에 예시 코드와 예시 내용으로 작성되는 포스팅입니다. 1. 문제 상황 설명 및 원인 파악 현재 제가 개발하고 있는 A라는 서비스에서 B라는 서비스를 호출하여 특정 맴버 값을 받아와야 하는 API라고 가정합시다. // A가 B에게 전달하려는 API Reqeust { memberSeq : Int, memberName : String, memberType : String } // A가 B에게 전달받은 API Response 값 { // Int memberSeq : 100112, // String memberName : "sg-moomin" ..

Spring + GraphQL Type/Input Type 활용 및 정리

안녕하세요. 세기무민입니다. 이번 포스팅에서는 Input Type에 대해 간략하게 정리해보려고 합니다. 실제 업무 중 사용한 내용을 기반하여 소스 코드는 예시, 실행 결과는 텍스트로 대체하겠습니다. GraphQL Type Type은 필드로 구성되며 각각의 필드는 특정 종류의 데이터를 반환하는 용도로 사용된다. 문자열, 커스텀 객체, 리스트 형태의 값을 반환 가능 GraphQL Input Type GraphQl의 Input Type은 말 그대로 입력 값을 의미한다. RestFul API로 비유하자면 파라미터 값 혹은 Body에 들어가는 값에 대해 미리 정의하는 것 Input Type은 단일, 객체 형태로 입력 가능하다. Input Type은 인자 관리를 조금 더 체계적으로 관리 가능하다. Inpyt Typ..

Programing/GraphQL 2023.04.10

ChatGPT을 보며 AI 보안에 대한 나의 생각 정리

1. 기사 내용 정리 최근에 가장 핫한 키워드가 무엇일까요? 바로 ChatGPT입니다. ChatGPT를 통해 업무적인 효율성이나 내가 해야할 것들을 대신 해주는 점을 고려했을 때 혁신적이라고 생각됩니다. 다만 AI의 경우 기술력은 최고지만 보안적인 측면은 항상 고려를 해야합니다. 최근 들어 ChatGPT를 해킹하여 공개되지 않은 플러그인을 발견하는 케이스가 있었고 매번 AI 보안에 대해 중요하다는 기사는 나오고 있고 악용 멀웨어를 개발한 사례를 보면 현재는 ChatGPT 활용도가 적더라도 추후 보안 취약점을 악용하는 사례가 나올 수 있다고 생각됩니다. 2. 나의 주관적인 생각과 느낀점 AI의 경우 뿐만 아니라 다른 분야도 마찬가지라고 생각되는데 항상 보안이라는 분야는 눈에 보이지 않고 사건이 발생되었을 ..

Excepted a 'String' or 'java.time.temporal.TemporalAccessor' but was 'Date' 오류 해결 (spring-graphql)

안녕하세요. 세기무민입니다. 이번 포스팅은 아래 포스팅에서 발생 되었던 오류를 해결한 내용을 정리 차원에서 하는 포스팅입니다. 세무민의 코딩일기 : Spring Boot + GraphQL ScalarType 사용하기 안녕하세요. 세기무민입니다. 이번 포스팅의 프로젝트 기반은 아래의 포스팅의 연장선이라고 보시면 될 것 같습니다. 세무민의 코딩일기 : Spring Boot + GraphQL 연결하기 안녕하세요 세기무민입니 sg-moomin.tistory.com 아래의 내용과 같이 문제를 해결하였습니다. 오류 내용 오류 내용은 보이시는 것과 같습니다. 영어를 해석해보자면 String 형과 TimePoral을 제외하였으나 Date 형식이 다르다는 의미입니다. 즉 GraphQL에서 Scalar Type을 인식할 ..

세무민의 코딩일기 : Spring Boot + GraphQL ScalarType 사용하기

안녕하세요. 세기무민입니다. 이번 포스팅의 프로젝트 기반은 아래의 포스팅의 연장선이라고 보시면 될 것 같습니다. 세무민의 코딩일기 : Spring Boot + GraphQL 연결하기 안녕하세요 세기무민입니다. 이번 포스팅에서는 Spring Boot와 GraphQL을 사용해보도록 하겠습니다. GraphQL? GraphQL은 페이스북에서 만든 쿼리 언어입니다. GrahpQl은 웹 클라이언트가 데이터를 서버로부 sg-moomin.tistory.com 포스팅의 주제는 ScalarType과 graphql-scalar를 spring boot에서 사용하는 방법에 대해 정리하였습니다. (생각했던 것보다 잘 안풀려서 나름 삽질 엄청했네요...ㅠㅠ) 1. Scalar Type? GraphQL은 공식적으로 지원하는 자료형은..

Programing/GraphQL 2023.03.28

[Spring] Scheduling LockProvider 사용 목적과 사용 시 고려할 사항 정리

최근에 업무를 하다가 Scheduling 변경 사항이 존재하여 LockProivder에 대해 알아봤는데 내가 알아본 내용과 업무 시 고려해야 할 사항에 대해 간략하게 정리를 해보려고 한다. 1. LockProvider 사용 목적 및 의미 LockProvider를 사용하는 목적은 아래와 같다. - 스케줄러의 중복 실행 방지 - 실무에서 하나의 어플리케이션을 이중화 및 N중화를 한 경우가 대부분이다. 서버가 많으면 많을 수록 스케줄러의 Lock은 중요한 사항이 되며 이를 하지 않는 경우 어떤 서버가 배치를 처리해야 할 지 모르기 때문에 중복 실행이 될 수 있고 이는 큰 문제가 될 수 있다.(예를 들어 결제 시스템 새벽 배치인 경우 결제가 여러번 될 수 있다는 의미) - 따라서 순서와 관계 없이 1개의 서버가..

maven resources compiler : Maven Project Configuration for Module isn't~ 오류 해결하기

업무를 하다가 오랜만에 킨 프로젝트를 실행했더니 Maven 컴파일 오류가 떠서 오류 해결한 방법을 기록하려고 합니다. (요즘 포스팅을 못해서 쓸겸....그리고 나중에 내가 확인해야 할 사항이 될수 있기 때문...) 우선 프로젝트가 현재 메이븐 파일을 컴파일 못한다면 2가지 사항을 검토해봐야 한다. 1. 메이븐 설정이 정상적으로 되었는지 -> 나는 메이븐 설정과 conf 파일까지 매우 완벽하게 잘 설정되어 있었음으로 해당 문제는 X 2. 현재 프로젝트의 JDK/JRE 설정이 정상적으로 작동하는지? -> 내 생각에는 JDK 문제로 보였던게 메이븐에 알맞는 JDK로 빌드를 해야하는 케이스가 있는데 메이븐에서 요구하는 JDK 버전과 달라서 컴파일이 발생한 것으로 생각했다. 따라서 나의 처리 방안은 아래와 같다...