스터디 노트
-
[Google Bard] 구글 바드 Spring Boot 연동하기! (feat. 제미나이 AI가 똑똑해졌다며?)스터디 노트 2023. 12. 28. 14:35
안녕하세요 오랜만에 스터디 노트로 인사드립니다. 최근에 혼자서 사부작사부작 Spring Boot에 Bard AI를 연동하는 작업을 하고 있었습니다. 일전에 올렸던 뉴스 파이프라인에 자동으로 붙이는 로직으로 개발을 하고 있었지요. 최근 제미나이의 버전이 업그레이드 되면서 성능이 대폭 향상되었다고 합니다. 과연 얼마나 향상되었을까요? 예전에 뉴스 본문을 던져주고 요약해달라고 하면 헛소리 삑삑 했었는데, 이제는 제대로 요약을 해줄까요? 한 번 해보도록 하겠습니다. 📌 들어가며 이번 연동은 Bard AI에서 제공해주는 google-bard 라이브러리를 통해 Spring Boot로 가벼운 웹 프로젝트를 구현했습니다. 그 전에 먼저 바드에게 '하루 최대 질문 한도가있니?'라고 물어보니 그런거 없다고 많이 질문해달라..
-
레디스(Redis)? 함 써봅시다. Spring Boot + Redis 연동하기!스터디 노트 2023. 12. 21. 15:38
Redis..많이 들어보셨을거라 생각합니다. 인메모리 DB 중 가장 많이 쓰이며, 흔히 캐시 메모리로 많이 사용되고 있지요. 근데 정작 써볼려고하니, 뭘 어떻게 써야하나..살짝 막막하기도 했습니다. 일단 뭐 애매한건 만들면서 깨버려야겠지요. 만들어 봅시다. Java 17에 Spring Boot 3.2.x, 그리고 Redis를 준비합니다. 우선 Redis는 도커로 띄워보죠. > docker pull redis ...다운로드 완료... > docker run --name redis -p 6379:6379 -d redis 도커에서 redis라는 이름의 컨테이너로 6379 포트에 매핑하여 서비스를 실행시킵니다. > docker exec -it redis redis-cli redis 컨테이너에 redis-cli로..
-
레디스란? 레디스의 백업 프로세스에 대하여스터디 노트 2023. 12. 20. 11:22
레디스( Redis)는 메모리 기반 데이터 저장소로 키-밸류 데이터 구조에 기반합니다. 레디스의 장점은 빠른 처리 속도이며, 내부 명령어 처리는 싱글 스레드 아키텍쳐로 구현되어있습니다. 레디스의 특징 은 '메모리'와 '싱글스레드' 입니다. 메모리는 데이터를 매우 빠르게 저장 및 조회할 수 있습니다. 하지만 휘발성이지요. 이를 보완하고자 레디스는 데이터 영속성을 제공하는데, 이는 데이터를 디스크에 백업하는 기능을 제공하며 RDB나 AOF방식으로 백업할 수 있습니다. 이 두 기능을 함께 설정하여 상호 보완 기능으로 사용해도 됩니다. RDB(RedisDataBase)는 메모리에 있는 데이터 전체를 스냅샷으로 작성해 이를 디스크에 저장합니다. 백업이나 복원이 매우 간단하지요. 단점은 스냅샷 이후 변경된 데이터는..
-
Ubuntu(우분투) 환경에서 Java 초간편 설치하기스터디 노트 2023. 12. 13. 16:56
우분투 설치 환경에서 Java 17 버전을 설치해보려 합니다. 우선 먼저 apt-get을 통해 설치할 것이기에 apt-get을 update와 upgrade 해줍니다. > sudo apt-get update > sudo apt-get upgrade 업데이트가 다 되었으면 Java 17 버전으로 다운로드 합니다. > sudo apt-get install openjdk-17-jdk 현 시점의 최신 버전인 openjdk version "17.0.9" 2023-10-17 버전이 설치됩니다. 설치가 완료되었습니다. 버전을 확인해보겠습니다. > java -version openjdk version "17.0.9" 2023-10-17 OpenJDK Runtime Environment (build 17.0.9+9-Ubu..
-
Ubuntu 환경에서 Logstash와 Opensearch 연동하기 : logstash-input-opensearch Plugin input/output 설정스터디 노트 2023. 12. 13. 16:27
안녕하세요. 이번에는 Ubuntu 환경에서 Logstash와 Opensearch를 연동하는 부분에 대해 실습을 한 내용이 있어 공유차 글을 작성하게 되었습니다. 📌 Logstash란? 먼저 Logstash는 무엇일까요? Logstash는 다양한 소스에서 로그 데이터를 수집하고 처리하고 저장한느데 사용되는 플러그인 기반의 오픈 소스 프로그램입니다. Logstash는 다양한 환경에서 사용이 될 수 있고 다양한 소스들로부터 데이터를 수집할 수 있습니다. 따라서 다양한 라이브러리를 통해 input과 output을 설정할 수 있는 것이 특징입니다. 또한 filter를 통해 중간 연산 과정을 집어넣을 수 있어 데이터 파이프라인을 구성하는데 핵심적으로 사용될 수 있는 요소 프로그램 중 하나이지요. 그래서 확장성이 매..
-
윈도우 10에서 Docker(도커)에 Ubuntu(우분투) 최신 버전 설치하기스터디 노트 2023. 12. 13. 15:49
안녕하세요. 오늘은 리눅스에 환경설정을 할 일이 있어서 잠시 잠깐 고민하다가 그냥 도커에 최신 우분투를 올리기로 했습니다. 실 장비가 있긴 하지만..제 로컬에서그냥 테스트 하고 싶네요..ㅎ 도커에 리눅스 설치 해본 것도 엄청 여러번인데..자꾸 까먹어서 기록을 좀 해놓으려고 합니다😵 우선 제 개발 PC는 윈도우 10이구요. 도커 버전은 Docker version 20.10.11, build dea9396 입니다. 먼저 PowerShell을 열어 docker pull ubuntu로 ubuntu 이미지를 도커 허브에서 다운받아줍니다. > docker pull ubuntu 다운로드가 진행 완료되면 docker images로 확인해보겠습니다. > docker images -a REPOSITORY TAG IMAGE..
-
Apache HttpClient 5 알아보기스터디 노트 2023. 12. 6. 13:25
HTTP(Hypertext Transfer Protocol)는 이제 인터넷에서 가장 중요한 프로토콜 중 하나입니다. 웹 서비스를 구성하는 대표적 아키텍쳐인 마이크로 서비스 등에서 사용하는 통신 규약 프로토콜로 HTTP가 지배적으로 사용되며, HTTP 프로토콜은 웹 브라우저에서 더 광범위한 시나리오로 사용되고 있지요. Java Enterprise 개발자라면 HTTP를 다루기 위해 여러가지 공부를 해야 합니다. 오늘은 그 중 Apache의 HttpClient 5에 대해 스터디를 해볼까 합니다. Apache HttpClient 5는 Java에서 HTTP 요청을 보내고 응답을 수신할 수 있도록 기능을 제공하는 라이브러리입니다. 이 라이브러리는 다양한 기능을 제공하여 HTTP 요청과 응답을 보다 쉽게 구현할 수 ..
-
Optional, 그렇게 쓸꺼야🤔?스터디 노트 2023. 12. 5. 15:15
질의를 받았습니다. 여기에 왜 Optional을 쓰셨어요? 음? null을 방지하기 위해서...? 답변하기가 애매했습니다. Optional은 왜 써야 할까요? 삼항연산자로 가볍게 처리하면 되는데 굳이 Optional을 써야만 하는걸까요? 📌 Optional이 뭡니까? Java의 Optional은 null 값을 감싸서(Wrapping) 보다 안전하게 다루기 위한 목적으로 도입된 클래스입니다. Optional의 기본 개념은 다음과 같습니다. Optional은 null 값을 감싸는 객체입니다. Optional은 값이 있는지 여부를 확인할 수 있습니다. Optional에 값이 있는 경우, 값을 가져올 수 있습니다. Optional에 값이 없는 경우, 지정된 값을 반환하거나, 지정된 함수를 호출하여 반환된 값을 ..