혼자 쿠버네티스를 공부하려고보니 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으로 관리하고 있는데, 구글 서치 콘솔에서 확인해보면 아직 색인되지 않은 페이지가 너무 ..
스프링+자바에서는 종종 static 클래스나 매서드를 쓴다. static 매서드/클래스를 쓰게 되면, 빈보다 먼저 생성되기 때문에 굉장히 유용하게 쓸 수 있는데, 코틀린에서는 특이하게 static이라고 명명하지 않고 다른 이름으로 사용한다. companion object라는 이름으로 사용하는데 자바에서의 static과는 사용법이 조금 다르다. 공용 클래스에 static 매서드로 만들어진 UTC KST 시간 변환 매서드가 있다고 해보자. Java public class CommonUtils { public static LocalDateTime convertToUtc(LocalDateTime localDateTime) { if (localDateTime == null) { return null; } Zone..
AWS EC2에서 작업을 하다가 HTTPS 설정을 해야하는 필요한 이슈가 발생했다. HTTPS 설정을 하기 위해서는 SSL/TLS 인증서를 발급받아야 한다. SSL/TLS 인증서를 서버에 적용하기 위해서는 몇 가지 방법이 있다. 1. secure sign과 같은 정식 발급해주는 곳에서 발급 받고 가이드 대로 적용하기 https://www.sslcert.co.kr/guides/Spring-Boot-SSL-Certificate-Install 2. Let's encrypt를 사용하기(얘는 자동 갱신도 됨) https://jiwontip.tistory.com/83 3. ACM(AWS Certificate Manager) 사용하기 https://docs.aws.amazon.com/ko_kr/acm/latest/u..
상태 검사(health check)란? 상태 확인(상태 검사)은 특정 서버의 서비스에 작업을 성공적으로 수행할 수 있는지 여부를 물어보는 방식입니다. 로드 밸런서는 각 서버에 이 질문을 정기적으로 물어보며 트래픽을 라우팅하는 데 안전한 서버를 확인합니다. 대기열에서 메시지를 폴링하는 서비스는 대기열에서 더 많은 작업을 폴링하도록 결정하기 전에 정상 상태인지를 물어볼 수 있습니다. 외부 모니터링 플릿이나 각 서버에서 실행되는 모니터링 에이전트는 경보를 알리거나 장애가 발생한 서버를 자동으로 처리할 수 있도록 정상 상태인지 여부를 서버에 물어볼 수 있습니다. https://aws.amazon.com/ko/builders-library/implementing-health-checks/ 쿠버네티스를 사용하거나 ..
- Total
- Today
- Yesterday
- Log
- Kotlin
- Elastic cloud
- springboot
- CloudFront
- java
- Spring
- elasticsearch
- 람다
- ChatGPT
- cache
- MySQL
- AWS
- openAI API
- OpenFeign
- EKS
- JWT
- S3
- terraform
- 오블완
- OpenAI
- AOP
- 티스토리챌린지
- AWS EC2
- 스프링부트
- docker
- GIT
- lambda
- 후쿠오카
- serverless
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |