[Java/Short] 직렬화/역 직렬화 방법 : jackson-binding
·
Java/Short 개발
해당 글에서는 Java에서 객체를 직렬화하여 JSON 문자열로 바꾸거나 JSON 문자열을 역직렬화하여 객체로 변환하는 방법에 대해 알아봅니다. 1) 라이브러리 설치💡 라이브러리 설치 - Jackson 라이브러리의 databind 모듈을 기반으로 직렬화, 역직렬화를 수행합니다.dependencies { implementation 'com.fasterxml.jackson.core:jackson-databind:2.16.1' } https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind 2) 직렬화 방법 : Object to JSON String 1. 객체package com.multiflex.multiflexchatgpt.dt..
[Java] @Transactional 어노테이션 상세 이해하기 : Checked, Unchecked Exception Rollback
·
Java/이론 및 문법
해당 글에서는 @Transactional 어노테이션에 대해 상세한 이해를 돕기 위해 작성한 글입니다. 💡 [참고] 다양한 Annotation에 대해 궁금하시면 아래의 글을 참고하시면 도움이 됩니다.구분링크Spring Web Annotation : 환경 구성https://adjh54.tistory.com/311Spring Web Annotation : 요청 및 응답https://adjh54.tistory.com/312Spring Web Annotation : 예외처리 및 주입https://adjh54.tistory.com/313 1) @Transactional💡 @Transactional - 스프링 프레임워크에서 특정 메서드 또는 클래스에서 수행되는 ‘트랜잭션’과 관련되어 관리를 위해서 사용되는 어노테이션..
[Java] Spring Boot 환경에서 Jackson 모듈 활용하기 : JSON 파싱, 직렬화, 역 직렬화, JSON 파일 읽어오기/생성
·
Java/Spring Boot
해당 글에서는 Spring Boot 환경에서 Jackson 라이브러리를 활용하는 방법에 대해서 알아봅니다. 1) Jackson 💡 Jackson - JSON 데이터 작업을 하기 위한 인기 있는 Java 라이브러리입니다. - JSON 파일을 읽거나 쓰는 기능을 제공합니다. - Java 객체를 JSON으로 직렬화 하거나 JSON을 Java 객체로 역 직렬화 하는 기능을 제공합니다. GitHub - FasterXML/jackson: Main Portal page for the Jackson project Main Portal page for the Jackson project. Contribute to FasterXML/jackson development by creating an account on GitH..
[Java] Spring Boot 환경에서 ChatGPT API 활용하기 -1 : 정의, 환경구성, 간단한 활용방법
·
Java/Spring Boot
해당 글에서는 Spring Boot ChatGPT API를 호출하여 ChatGPT를 사용하는 방법에 대해 알아봅니다. 💡 [참고] 2024년 1월 기준으로 변경됨에 따라 아래의 글을 읽으시는 것을 권장드립니다. [Java] Spring Boot 환경에서 ChatGPT API 활용하기 -2 : 생태계, 레거시, 새로운 모델해당 글에서는 Spring Boot 환경에서 ChatGPT API를 사용할 때에 2023년 AI 검색도구의 추세를 확인해 보고 API를 사용하는데 필수 개념과 레거시 모델이나 신규 모델을 호출하여 사용하는 방법에 대해adjh54.tistory.com    1) ChatGPT💡 ChatGPT- OpenAI에서 개발한 인공지능 모델로 자연어 처리와 대화 기능을 갖춘 모델입니다.- 다양한 ..
[Java/오류노트] Solved - No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.2.1 was found.
·
Java/오류노트
해당 글에서는 Spring Boot 프로젝트를 새로 구성하고 빌드하는 과정에서 발생하는 오류에 대해서 확인하고 해결하는 방법에 대해 알아봅니다. 1) 문제점 💡 문제점 - 해당 문제가 발생하는 환경은 Spring Boot 3.2.1 버전을 최초 생성하여 서버를 빌드하는 과정에서 Gradle에서 발생하는 문제로 아래와 같은 문제점이 발생하였습니다. - 해당 문제점을 확인해보면 프로젝트의 구성이 java 8로 구성이 되어 있어서 java 17로 변경을 하는것을 권장한다는 문제였습니다. > Could not resolve all files for configuration ':classpath'. > Could not resolve org.springframework.boot:spring-boot-gradle-..
[Github] JIRA - Github 연동 및 Github 소스트래킹 방법
·
Github/환경설정
해당 글에서는 JIRA 내에 최초 Github를 연결하는 방법과 Github 내에 커밋을 하였을 때 JIRA에서 확인하는 방법에 대해 알아봅니다. 💡 [참고] 이전에 작성한 글에 최신버전으로 아래와 같은 글을 작성하였습니다. JIRA - Github 연동 환경설정 방법 해당 글의 목적은 JIRA 내에서 GitHub의 특정 Repository에서 발생한 Commit, Pull Request와 같은 이력에 대해 이슈별로 직관적으로 확인을 할 수 있고 관리를 하기 위함이며, 해당 작성글은 최초 연결을 위 adjh54.tistory.com 1) JIRA에서 Github App 추가 1. JIRA에서 앱 - ‘더 많은 앱 살펴보기’ 탭을 선택합니다. 2. 앱에서 ‘github’를 검색하여 ‘Github for J..
[Java] 예외처리(Exception Handling) 이해하기 -1 : try - catch / throws
·
Java/이론 및 문법
해당 글에서는 예외 처리(Exception Handling)에 대해서 상세히 알아봅니다. 1) 예외처리(Exception Handling) 💡 예외처리(Exception Handling) - 프로그램의 실행 도중에 발생할 수 있는 오류나 예기치 않은 상황에 대한 대비를 위해 코드를 작성하는 것을 의미합니다. - 이를 통해 실행 중인 프로그램의 갑작스러운 비정상 종료를 방지하고 정상적인 실행 상태를 유지할 수 있도록 하는 목적이 있습니다. 1. 에러의 종류 에러의 종류 설명 컴파일 에러(Compile Error) 컴파일 시에 발생하는 에러를 의미합니다 런타임 에러(Runtime Error) 실행 시에 발생하는 에러를 의미합니다. 논리적 에러(Logical Error) 실행은 되지만 의도와 다르게 동작을 하..
[Java] Spring Boot 2.x.x 버전 프로젝트 생성: 지원 종료 및 다운그레이드
·
Java/Spring Boot
해당 글에서는 Spring Boot 2 버전에 대한 프로젝트를 생성하고자 하여 Spring Boot 3 버전을 다운그레이드하여 사용하는 방법에 대해 알아봅니다. 1) Spring Boot 2.x.x 지원 종료💡 확인 계기 - IntelliJ IDEA툴을 이용하여 Spring Boot Initializr를 통해 프로젝트를 생성하고자 하는데 2.x.x 버전이 존재하지 않는 것이 확인이 되었습니다. 💡 그렇기에 Spring Boot 공식 사이트를 접속하여 보니 사용중 이였던 2.7.5 버전은 End of Support가 2023-11-24일까지였습니다. Spring Bootspring.io [ 더 알아보기 ] 💡 End Commercial Support - 상업적 지원을 받는 부분을 구매하였고 이에 대한 소프..
[Java] 접근 제한자/제어자(Access Modifier) 이해하기 : public, private, protected, default
·
Java/이론 및 문법
해당 글에서는 Java의 접근 제한자/제어자에 대해 이해를 돕기 위해 작성한 글입니다. 1) 접근 제어자(Access Modifier)💡 접근 제어자(Access Modifier) - 클래스, 메서드, 변수의 '접근 범위'를 지정할 수 있는 제어자를 의미합니다. - 이러한 접근 제어자를 사용하여 적절한 접근 범위를 설정함으로써 클래스와 멤버의 캡슐화를 유지하고 응집도를 높이며 코드의 재사용성과 유지보수성을 향상할 수 있습니다. [ 더 알아보기 ] 💡 클래스의 멤버 - 클래스 내에서 정의된 변수와 메서드를 의미합니다. - '클래스의 멤버'는 클래스의 객체 또는 인스턴스를 생성할 때 사용됩니다. - '클래스의 멤버 변수'는 클래스의 속성이나 상태를 나타내는 데 사용됩니다. - '클래스의 멤버 메서드'는 클래..
[Java/오류노트] SonarLint: integer number too large
·
Java/오류노트
해당 글에서는 integer number too large 오류에 대해 해결방법에 대해 알아봅니다. 1) 문제점: Integer number too large 1. Integer number too large 💡 Integer number too large - Java에서 정수 값이 표현 가능한 범위를 초과했을 때 발생하는 오류입니다. - int와 long은 정해진 비트 수로 값을 표현할 수 있습니다. 만약 이 비트 수를 초과하는 값을 사용하면 이 오류가 발생합니다. 💡 [참고] int(=Integer)와 long(=Long)의 최소/최대 범위입니다. 타입 최소 범위 최대 범위 int(=Integer) -2,147,483,648 +2,147,483,647 long(=Long) -9,223,372,036,..