테스트를 하다보면 key로 사용하고 있는 Auto Increment 값이 아래와 같이 계속 증가하다 못해 차이가 나서 보기 싫은 경우가 있다. 이러다보면 FE 팀원에게 이게 맞는 상태냐고 연락을 자주 받게 된다. 어... 네 맞는상태긴한데, 내가 보기에도 이상하다. 이런 문제는 간단한 쿼리문 하나로 해결이 가능하긴하다. ALTER TABLE your_table_name AUTO_INCREMENT = 6; 매번 수동으로 해줘야해서 불편하긴 하지만 비정상적으로 큰 간격을 보지 싫으면 테스트 후에는 정리하는 겸 해서 한번 입력하는게 좋은 것 같다.
PDF 파일의 내부 데이터를 핸들링할 일이 생겼다. 처음에 든 생각은 PDF 파일을 XML 형태로 바꾸면 되지 않을까?라고 생각을 했는데, XML 형태든 JSON 형태든 파일 형식을 바꿔버리면, 표나 이미지 글자 크기 등이 제대로 반영이 되지 않을 것 같았다. 물론할 수는 있겠지만 아마 솔루션 개발급 공수가 들어가지 않을까? 란 견적이 서서 다른 방법이 없나 찾아봤다. 찾다보니 가장 그럴듯한게 HTML로 변환 하는 것이었다. PDF box와 css box를 이용하는 방법인데 라이브러리를 쓰면 되다보니 그렇게 어렵지 않다. 하나씩 해보자. 코드 gradle # commons-io를 낮은 버전을 쓰고 있으면 버전업해야함, 안쓰고 있으면 필요 x implementation 'commons-io:commons-..
지금 난 Backend 개발 리드 겸 AWS 인프라 관리 겸 DevOps 관리를 하고 있다. DevOps+AWS를 전담해주던 팀장이 그만두면서 그 업무가 고스란히 나한테 넘어왔기 때문이다.. 우리 서버는 EKS를 사용 중인데 인수인계 받은 그대로 운영은 할 수 있지만, 정확히 알고 사용한다고 하긴 어렵다. 그래도 담당자인데 제대로 알아야하지 싶어서 쿠버네티스를 로컬에서부터 차근차근 공부해보기 위해보려한다. (AWS 인프라는 그래도 어느정도 알게된 이유도 있다) 그래서 추천 받은게 KIND, Minikube 였는데 조금 더 가벼워보이고 접근성이 좋아보이는 KIND를 선택했다. KIND란? KIND는 Docker 컨테이너 "노드"를 사용하여 로컬 Kubernetes 클러스터를 실행하기 위한 도구입니다. KI..
혼자 쿠버네티스를 공부하려고보니 KIND(Kubernetes in Docker)를 쓰라는 말을 들엇다. KIND는 이름부터 도커가 들어가기 때문에, 당연히 도커가 필요하다. 하지만 Docker for Windows는 WSL2에서만 사용가능하다고하는데... 내 WSL은 버전이 1이었다. WSL1을 WSL2로 업데이트해보자. 들어가기전에 Windows 업데이트를 확인해야한다. WSL 2는 Windows 11 또는 Windows 10, 버전 1903, 빌드 18362 이상에서만 사용할 수 있습니다. Windows 로고 키 + R 을 선택하고 winver를 입력한 다음, 확인을 선택하여 Windows 버전을 확인합니다. (또는 Windows 명령 프롬프트에서 ver 명령을 입력합니다.) 최신 Windows 버전..
작년 입사 후 얼마 지나지 않아서 로그 파이프라인을 구성했었다. 2023.05.28 - [개발/SPRING] - 스프링부트 서비스에 LOG 남기기 (with. Logback) 당시에는 요청에 대한 로그가 없어서 급하게 구축하게 됐는데, 지금 생각해보면 입사한지 한달도 되지 않은 개발자가 로그 파이프라인을 구성한다는 자체가 말이 좀 안되는 일이긴했다. 그래서 로그 파이프라인에 구멍이 조금씩 있었는데, 최근에 가장 큰 구멍을 알게되서 개선이 필요했다. 바로 Multipart/form-data 형식에서 MultipartFile에 대한 처리가 없어서, 어떤 파일이 업로드가 되었는지 알 수 없었다. 그런데, 현재 담당하고 있는 서비스가 파일 업로드를 지원하기 때문에 로그의 개선을 필요로 했다. 로그를 몇 번 개선..
벌써 3달전이었다는게 놀라운데, open AI에서 GPT를 이용해 나만의 봇을 만들 수 있는 Builder를 오픈했었다. 그때 글을 하나 썼었는데, 이제는 이름을 My GPTs로 명명한 것 같다. GPTs를 쓰면서 나름 괜찮다고 생각했던 것 중 하나가 외부 API를 연동을 지원한다는 것이다. 작년 중순부터 Function Calling이란 기능으로 GPT가 텍스트로 작성한 API를 사용할 수 있는 기능을 제공하긴했는데, 개발자가 사용하기엔 좀 불편함이 있었다.(키워드 추출을 잘 못해준다던가, 원하는 매서드에 매핑이 정확히 안된다던가 등등) 이걸 GPT 서버에서 API가 필요하다고 판단되면 쓰게끔해준다니, 챗봇의 기능을 비약적으로 향상시킬 수 있다고 생각이 들었다. 그래서 써봤는데... 생각보다 더 좋은 ..
이전 글에서 SEO 노출도를 올리기 위한 indexing API 작업을 했다. 그런데 문제가 있는게 indexing API는 하루에 200회의 제한이 있다. https://developers.google.com/search/apis/indexing-api/v3/quota-pricing?hl=ko 제한 횟수를 늘려달라고 요청할 수 있는데, 구글 친구들은 늘 그렇듯이 언제 해줄 수 있다고 알려주지 않는다. 그렇다고 한 개씩 등록하면(요청하면) HTTP 연결풀을 순간적으로 많이 잡아먹으니까 한번에 보낼 수 있는 방법을 만들어 뒀다. 일괄 색인 생성 요청 보내기라는 섹션을 만들어 둘 정도로 써달라고 만들어뒀는데... 이게 일단 예시를 바로 가져다 쓸 수 있게 생기질 않았다. https://googleapis.g..
나는 구글 API에 대해 좋은 기억이 별로 없다. 예~전에 스프레드시트와 워드에 자동 저장하기 위해 사용했을 때도, 정말 힘들었던 기억이 있다. 왜냐하면 최신화를 안해놓기도 했고, 빠른 버전업의 영향인지 정리해 놓은 곳 마다 사용법이 다 다르기 때문이다. 인간적으로 공식 가이드 문서는 엔드투엔드로 잘 써줘야하지 않나 싶다. GPT도 영 시원찮아서, 블로그랑 스택오버플로우 이곳 저곳 뒤적이면서 어떻게 사용할 수 있게 만들어 두긴 했다. 일단 Google Indexing API를 사용하게 된 취지는 명확하다. 현재 개발하고 있는 서비스가 대부분 SEO로 active user를 충당하고 있다. 생성된 게시물을 sitemap으로 관리하고 있는데, 구글 서치 콘솔에서 확인해보면 아직 색인되지 않은 페이지가 너무 ..
- Total
- Today
- Yesterday
- OpenAI
- lambda
- 스프링부트
- Spring
- ChatGPT
- OpenFeign
- GIT
- AWS EC2
- JWT
- MySQL
- CloudFront
- java
- Kotlin
- 후쿠오카
- cache
- serverless
- 람다
- elasticsearch
- S3
- AOP
- Elastic cloud
- springboot
- 티스토리챌린지
- 오블완
- Log
- AWS
- EKS
- openAI API
- docker
- terraform
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |