전체 글
-
[git] cherry-pick와 merge 및 rebase를 활용한 commit 내역 관리git 2024. 5. 26. 22:13
1. cherry pick 란?git docs를 찾아보면 cherry pick에 대해 Apply the changes introduced by some existing commits 라고 한다.docs description을 보면 무슨 말인지 더 헷갈리는 것 같다..업무에서 사용해보고 따로 공부해보면서 이해한 바로는 A브랜치로 B브랜치의 commit을 복사해주는 기능이다.예를 들어 feature/a나 feature/b의 commit 내역을 골라서 develop 브랜치에 적용해야하는 경우 사용한다. cf. 따로 테스트하면서 유용한 git 명령어 옵션들로는 --continue와 --abort가 있었다. 1-1. cherry pick 사용하기C:\DEV\git_test>git checkout develop 이..
-
[AI] RAG(Retrieval Augmented Generation, 검색 증강 생성)란?AI 2024. 3. 12. 09:44
RAG(Retrieval Augmented Generation, 검색 증강 생성) 등장배경RAG는 LLM의 한계(1. 최근 지식의 부재, 2. Hallucination이라는 2가지 문제가 존재)를 보완해주는 개념이다. LLM(Large Language Model)은 모델별로 특정시기까지 학습한 버전을 출시한다.OpenAI의 GPT-4를 살펴보면, gpt-4-turbo의 경우 2023년 12월까지의 데이터를 학습했음을 확인할 수 있다. 그렇다면 현재와 2023년 12월 사이의 공백 내 발생한 이슈 등 데이터에 대한 학습은 어떻게 될까?해당 기간 내 정보들이 업데이트 되지 않은 LLM은 관련 내용에 대한 그럴싸한 답변(Hallucination, 환각)을 내놓을 것이다. 이를 해결하기 위해 실시간으로 모델이..
-
[OKD + SpringBoot gradle 프로젝트] value.yaml에 ConfigMaps와 Secrets 선언 후 사용하기개발기록 2023. 8. 8. 15:43
개요 helm 배포 구조인 gradle 프로젝트에서 정적인 변수를 OKD(3버전대)에서 환경변수로 등록하고 사용하는 법을 기록한다. 이번에 정리할 내용은 앞서 정리했던 OKD(4버전대)에서 방법과는 다른 방법으로, value.yaml에서 Secrets 변수를 등록하고 배포할 때 적용되는 방법이다. (cf. OKD(4버전대)에서 ConfigMaps와 Secrets를 등록해서 사용하는 방법은 아래 링크를 참고하자. 2023.06.05 - [개발기록] - [OKD + SpringBoot gradle 프로젝트] ConfigMaps와 Secrets에 환경변수 선언 후 사용하기) Spring Boot application.properties 아래와 같이 properties에 db정보를 secrets에 등록해서 사용..
-
[컴퓨터 구조] 컴퓨터 핵심부품들(CPU, 메모리 등)의 역할과 작동원리CS 2023. 6. 13. 20:42
개요 JVM 동작원리 등을 더 수월하게 이해하고 컴퓨터의 근간에 대해 공부하며 문제 해결 능력을 키우기 등을 위해 컴퓨터 구조를 공부한다. 컴퓨터는 데이터와 명령어를 이해하고 처리해준다. 아래는 컴퓨터 구조 중 핵심부품들을 그림으로 나타낸 것이다. 부품별 설명 메인보드 부품들을 연결시켜준다. 시스템버스 핵심 부품들(CPU, 메모리, 입출력장치, 보조기억장치 등)이 서로 정보를 주고 받을 수 있게 해준다(통로역할). cf. 다양한 종류의 버스가 있으며, 시스템버스는 컴퓨터 핵심 부품을 연결하는 버스다. 메모리(RAM) 정보를 기억하는 역할로써 0과 1을 기억하는 장치다. ※ 보조기억장치 보다 비싸고 전원이 꺼지면 저장된 내용을 잃는다(휘발성 저장장치). ※ 초기 RAM은 작게 기억하지만 빠른 속도를 가졌다..
-
[gitlab, git] git mirror하기 (다른 repo 소스코드 gitlab에 옮기기)git 2023. 6. 12. 21:21
다른 repo 소스코드 옮기는(git mirror) 방법 당분간 gitlab 이관작업이 있을 것 같아 기록으로 남긴다. 참고했던 출처는 레퍼런스에 남겨둔다. 1. git clone --mirror 원본(복사되는) git url git clone --mirror 원본(복사되는) git url 2. git remote set-url --push origin 옮길(복사될) git url git remote set-url --push origin 옮길(복사될) git url 3. git push --mirror git push --mirror 레퍼런스 https://newtoynt.tistory.com/entry/gitlab%EC%97%90-migration-%ED%95%98%EA%B8%B0
-
[OKD + SpringBoot gradle 프로젝트] ConfigMaps와 Secrets에 환경변수 선언 후 사용하기개발기록 2023. 6. 5. 13:46
개요 정적인 변수를 OKD(4버전대)의 ConfigMap에 선언하고 Spring Boot에서 가져다쓰는 방법을 기록한다. OKD ConfigMaps 우선 OKD 좌측 탭에서 ConfigMaps에서 해당하는 모듈(Pod)의 configmap을 클릭한다. 해당 configmap의 YAML(이하 야믈)파일에서 data부분에 관리할 변수를 key, value형태로 선언한다. kind: ConfigMap apiVersion: v1 metadata: ...(생략)... name: test-name-env-configmap namespace: test-namespace data: google-credentials-path: https://test Secrets OKD 좌측 탭에서 Secrets를 클릭한다. 우측 상단..
-
[구글 번역 API] Google Cloud Translation API 사용하기개발기록 2023. 4. 13. 21:35
개요 Google Cloud Translation API를 사용해서 번역 API를 개발했다. 우선 API key를 발급 받았는데 해당 키를 이용해서 쓰는 방식의 레퍼런스나 ChatGPT가 알려준 코드는 deprecated가 되어 현재는 사용 못하는 방식이었다. 찾아보니 현재는 JSON 형태의 비공개 키를 발급 받는 방식으로 진행해야 되는 것 같았다. 아래는 잘 정리되어있는 블로그 주소다. https://www.dinolabs.ai/386 [오픈소스 리뷰기] 번역 API 이용하기(1) - Google 번역 오프소스 리뷰 : 슬기로운 오픈소스 사용법 리뷰해드립니다! #5 번역 API 이용하기(1) - Google 번역 안녕하세요. 디노랩스입니다! 최근 딥러닝 기술의 발달로 구글, 파파고 등 다양한 번역 서비..
-
[멀티모듈] Spring Boot gradle프로젝트 멀티모듈구조에서 모듈추가하기개발기록 2023. 4. 6. 21:34
Spring Boot gradle 프로젝트에 멀티모듈 구조에서 모듈을 추가해보자. 1. 루트 프로젝트 우클릭 - New - Module...에서 좌측에서 New Module을 클릭한다. 2. 모듈이 추가되었다면 루트 프로젝트의 build.gradle에 아래 코드를 추가한다. project(':multi-module-test') { dependencies { api project(':코어모듈명') } } 3. 루트 프로젝트의 settings.gradle에 아래 코드를 추가되어있는 지 확인한다. include 'multi-module-test' 4. 추가한 모듈의 build.gradle를 아래 코드로 수정한다. group = 'com.??.test.api' // 패키지명 version = '0.0.1-SNA..