Database Lock 이란?
2024. 6. 18. 21:33
DB
제가 일하고 있는 분야에서 RDBMS 에 보단 NoSql(Elasticsearch) 를 주로 쓰다 보니 공부하는 겸 공유를 하게 되었습니다.예전부터 궁금했던것들중에 하나가 선착순으로 지급해주는 이벤트성은 DB에서 어떻게 처리할까? 였습니다. DB lock에서 어느정도 궁금증을 해소하게 되었습니다. 혹시나 저처럼 이러한 생각을 한 분들은 이미 DB lock에 대해서 공부를 하셨다고 생각이 들지만 그럼에도 글을 공유하게 되었습니다.DataBase는 데이터를 영속적으로 저장하는 시스템입니다. 즉 같은 자원에 대해서 동시에 접근하는 경우가 생길 수밖에 없습니다. Lock 이란 트랜잭션 처리의 순차성을 보장하는 방법이라고 했습니다. 트랜잭션이란 DB의 나누어지지 않는 최소한의 처리 단위입니다. 2가지의 lock ..
컬렉션 API 개선 - modern java in action
2024. 6. 18. 19:52
Language/Java
큰틀에서 챕터 8은 아래와 같은 내용을 공유한다.컬렉션 팩토리 사용하기리스트 및 집합과 사용할 새로운 관용 패턴 배우기맵과 사용할 새로운 관용 패턴 배우기앞서, Modern Java in Action 에서는 챕터 8~10 까지는 Part 3으로 ‘스트림과 람다를 이용한 효과적 프로그래밍’ 으로 분류를 합니다.책의 저자는 ‘컬랙션 API 가 없었다면 자바 개발자의 삶은 많이 외로웠을 것’이라고 표현합니다.책에서 표현 하듯이, 거의 모든 자바 애플리케이션에서 컬렉션을 사용하고, 지금까지 컬렉션과 스트림 API를 이용해 데이터 처리 쿼리를 어떻게 효율적으로 처리할 수 있을지 살펴보려고 합니다.컬렉션 API 에는 성가시고, 에러를 유발하는 여러 단점이 존재합니다.챕터 8에서는 자바 8,9 에서 추가되어 우리의 ..

N+1 문제 해결: Java 백엔드 개발자를 위한 데이터베이스 쿼리 최적화
2024. 6. 5. 17:57
DB
오늘은 JPA N+1의 문제 해결에 대해서 글을 공유해드리려고 합니다. * Java 백엔드 개발자를 위한 데이터베이스 쿼리 최적화에 적합한 내용입니다.개발자가 직면하는 가장 일반적인 성능 병목 현상 중 하나가 N+1입니다. 애플리케이션이 단 한 번의 쿼리로 동일한 결과를 얻을 수 있는데도 N+1번의 데이터베이스 쿼리를 수행할 때 발생합니다. 과도한 데이터베이스 Hit는 느린 응답 시간, 높은 서버 부하, 열약한 사용자 경험으로 이어질 수 있습니다. 원인을 함께 파악해 보고 개발자가 이러한 문제를 어떻게 완화할지에 대해서 다양한 전략과 기법에 대해서 적어보겠습니다.앞서, N+1 문제가 무엇인지 알아보도록 하겠습니다.N+1 문제란 무엇인가?애플리케이션이 개체목록(예시: 제품, 사용자 또는 게시물 목록)을 가..

Prompt Leaking(프롬프트 공격)
2024. 5. 28. 10:22
LangChain
개요방대한 인공 지능의 세계에서는 우리의 주의와 보호가 필요한 도전과 위협이 발생합니다.LLM 모델을 기반으로 서비스를 개발할때 프롬프트 자체를 잘 작성 해야된다는것을 깨닫게 될것입니다. 많은 노하우가 필요하고 수많은 시도를 통해서 잘 짜여진 프롬프트를 만들게 됩니다. 코드만 지적 재산권이 아닌 프롬프트 자체가 하나의 지적 재산권입니다. 프롬프트 공격 방법중에서 프롬프트 전체를 출력하게 하는 공격 방법을 Prompt Leaking 이라고 합니다. 공격으로부터 방어해야 하는 모델에 필수적인 비밀 정보에는 다음이 포함된다는 점을 기억하세요: 민감하고 독점적인 프롬프트: 기업이 인공지능 모델에서 원하는 결과를 얻기 위해 사용하는 특정 프롬프트입니다. 이러한 프롬프트에는 회사의 경쟁력을 유지하기 위해 보호해야..
Langchain 과 SerpApi 로 챗봇의 웹 기능 강화
2024. 5. 16. 11:04
LangChain
LangChain이 AI 프로젝트를 위한 원활한 웹 검색 기능을 통합하여서 chatGPT의 기능을 향상 시키는 방법을 알아보자. 개요.요즘 들어 chatGPT-4 그리고 곧 나올 5버전까지 사용자에게 예전보다 더 정확하고 편리한 정보 및 답변 지원을 제공하면서 더더욱 인기가 많아지고 있습니다. 챗봇은 더욱 더 지능적이고 뛰어난 기능을 갖추고 있습니다. 여기서는 SerpAPI와 LangChain을 사용하여서 웹 검색 기능으로 ChatGPT를 향상 시키는 방법을 살펴보겠습니다. 필요한 종속성을 설치 하는 방법, LangChain과 SerpAPI의 기본 사항을 이해하는 방법, 그리고 이러한 도구를 사용하여 챗봇의 역량을 강화하는 방법을 알아보도록 하겠습니다. 먼저 랭체인과 openai dependecies를 ..