BACK END 26

No String-argument constructor/factory method to deserialize from String value

개요문제 상황해결 방법설정 방법문제 상황Kafka에서 Json 형식의 데이터를 송수신하는 과정에서 데이터를 보낼 수 없다는 에러가 발생해결 방법Kafka를 사용하여 json의 데이터를 보내는 경우에는 직렬화 형식을 json으로 수정하여야 합니다. ❗중요한 점은 consume과정에서 ErrorHandlingDeserializer를 해주어야 합니다.ErrorHandlingDeserializer을 사용하는 이유consume과정에서 사용자가 정의한 ErrorHandler는 작동하지 않습니다.데이터의 형식이 잘못 들어오면 Kafka가 consume을 무한히 반복합니다.consume과정에서 사용자가 정의한 ErrorHandler는 작동하지 않는 이유kafka의 consume 과정은 아래 4단계를 따릅니다.브로커로부..

BACK END 2024.11.29

Spring Boot에서 @Transactional의 RollBack

개요문제 상황Transactional Annotation예외의 종류해결 방법문제 상황@Transactional를 사용하여 데이터를 저장하는 과정에서 예외가 발생하여 저장 과정 전체가 RollBack이 되길 원했지만, 예상과는 달리 RollBack이 발생하지 않았습니다.Transactional Annotation찾아보니 @Transactional 과 rollback에 관한 글은 많이 있었습니다.대표적으로 우아한 기술 블로그 에 올라온 글이 있습니다. 감사합니다 구인본 선생님…! 🙇‍♂️결론부터 말하면 기본적으로 예상된 에러는 RollBack을 실행하지 않습니다.이 내용에 대해 설명하기 위해서는 예외의 종류에 대해 알아야 합니다.예외의 종류Error는 개발 외적인 부분에서 발생하는 것으로 대체가 불가능 하..

Redis 설정 및 사용법

Redis개념Redis는 빠른 오픈 소스 인 메모리 키 값 데이터 구조 스토어입니다. Redis는 다양한 인 메모리 데이터 구조 집합을 제공하므로 다양한 사용자 정의 애플리케이션을 손쉽게 생성할 수 있습니다. 주요 Redis 사용 사례로는 캐싱, 세션 관리, pub/sub 및 순위표를 들 수 있습니다. Redis는 현재 가장 인기 있는 키 값 스토어로서, BSD 라이선스가 있고, 최적화된 C 코드로 작성되었으며, 다양한 개발 언어를 지원합니다. Redis는 REmote DIctionary Server의 약어입니다. - AWS Redis 설명 문서구조Redis는 메모리 기본 기본적으로 싱글스레드 기반으로 요청을 Queue데이터를 저장하는 방식을 위 3개가 있다ReplicationSentinelCluster..

BACK END 2024.10.29

KAFKA 설정 및 사용법

KA개요개념이점사용사례구조사용개념Apache Kafka는 실시간으로 스트리밍 데이터를 수집하고 처리하는 데 최적화된 분산 데이터 스토어입니다. 스트리밍 데이터는 수천 개의 데이터 원본에서 연속적으로 생성되는 데이터로, 보통 데이터 레코드를 동시에 전송합니다. 스트리밍 플랫폼은 이러한 지속적인 데이터 유입을 처리하고 데이터를 순차적이고 점진적으로 처리해야 합니다.Kafka는 사용자에게 세 가지 주요 기능을 제공합니다.레코드 스트림 게시 및 구독레코드가 생성된 순서대로 레코드 스트림을 효과적으로 저장레코드 스트림을 실시간 처리Kafka는 데이터 스트림에 적응하는 실시간 스트리밍 데이터 파이프라인과 애플리케이션을 구축하는 데 주로 사용됩니다. 메시징, 스토리지, 스트림 처리를 결합해 과거 및 실시간 데이터 모..

BACK END 2024.10.29

next.js 13으로 chat GPT API 사용

chat GPT API는 python, node 등에서 사용할 수 있지만 저는 python 대신 node를 사용하였습니다. 그 이유는 node가 python 보다 웹에서 최적화 되어있기 때문입니다. 기본적으로 openai에서 제공하는 예시 코드를 약간 수정하는 방향으로 진행하였습니다. 제가 짠 코드의 문제는 api의 응답속도가 매우 느리다는 점, css, jsx가 안 맞다는 점입니다. 아래 github내용을 참조하세요. .env 파일도 생성해 주시고 아래 내용에 api key를 넣어주세요 OPENAI_API_KEY=[openai key] https://github.com/whiteout367/AIGuide GitHub - whiteout367/AIGuide Contribute to whiteout367/..

BACK END/chatGPT 2023.05.26

next.js에 bootstrap 설치

chatGPT api를 활용한 간단한 next.js 앱을 만들려고 하는데 백엔드는 했지만 프론트 엔드의 디자인에서 문제를 만났습니다. 이를 해결하기 위해 bootstrap을 사용할 것입니다. 공식문서에 설치법이 나와있습니다. https://react-bootstrap.github.io/getting-started/introduction/ React-Bootstrap The most popular front-end framework, rebuilt for React. react-bootstrap.github.io npm install react-bootstrap bootstrap app.js에 import해줍니다.(저는 index.js 에 했습니다.) import 'bootstrap/dist/css/boo..

BACK END/next.js 2023.05.25

next.js로 간단한 list 만들기

이 내용은 아래 강의를 참조하여 만들었습니다. 이 강의에서 제공하는 github내용에 추가하여 만든 내용입니다. https://www.youtube.com/watch?v=KjY94sAKLlw import Head from 'next/head'; import Link from 'next/link'; import Image from 'next/image'; export default function TestList({posts}) { return ( {posts.map((ev) => ( {ev.title} {ev.url} ))} ); } export async function getServerSideProps() { const res = await fetch('https://jsonplaceholder.ty..

BACK END/next.js 2023.05.01

1. next.js 란 무엇인가?(SSR/SSG)

next.js 는 react.js의 프레임워크 입니다. 따라서 react.js를 아셔야 합니다. 2023.04.18 - [FRONT END/react] - 1. react.js 란 무엇인가? 1. react.js 란 무엇인가? react가 무엇인가를 알아 보기위한 가장 좋은 방법은 공식홈페이지 입니다. https://ko.reactjs.org/ React – 사용자 인터페이스를 만들기 위한 JavaScript 라이브러리 A JavaScript library for building user interfaces jacorinne.tistory.com react의 CSR 보완점을 SSR로 보완하여 더 좋은 사용자 경험을 선사합니다.(검색엔진 최적화, 초기 로딩속도 단축 등) https://nextjs.org/..

BACK END/next.js 2023.04.25

FCM을 이용한 push notification backend

회사에서 개발중인 앱의 psuh 알람을 개발하는 부분이 있어 개발하기 위해 자료를 찾았습니다. 일단 firebase와 안드로이드 클라이언트 부분은 완성되어 있다는 가정하에 node 서버를 적겠습니다. 혹시 그 전 단계를 안 하셨으면 아래 내용을 참조해주세요 2022.10.14 - [APP/안드로이드] - android firebase를 사용한 FCM push notification android firebase를 사용한 FCM push notification 처음은 firsbase 에 접속하여 fcm 서비스를 신청하는 것입니다. https://console.firebase.google.com 로그인 - Google 계정 이메일 또는 휴대전화 accounts.google.com 시작하기 -> 프로젝트 만들..

BACK END/node.js 2022.10.14