개발 기록 2026-11-05 00~09시: 기술 아티클 6편 발행, yongdev.dev 도메인 연결, Gemini TTS 연동

· 약 4분 읽기 · 조회 2 #개발기록#Vercel#도메인#기술아티클#TTS

오늘 오전에는 세 가지 작업을 했다. 기술 아티클 6편을 발행했고, 블로그 도메인을 yongdev.dev로 옮겼고, 글을 음성으로 바꾸는 TTS를 연결했다.

기술 아티클 6편 발행

데이터 엔지니어링 주제로 기술 아티클 6편을 /blog-tech-article 명령으로 발행했다. 주제는 다음과 같다.

  1. CDC와 Debezium으로 DB 변경 이벤트 수집하기
  2. OLTP와 OLAP 아키텍처 분리 및 데이터 동기화
  3. PostgreSQL Partitioning과 대용량 테이블 관리
  4. Vector Database의 HNSW 인덱스 동작 원리
  5. Data Lakehouse 아키텍처와 Apache Iceberg
  6. 데이터 정합성 검증 자동화와 Data Contract 설계

각 글에는 다이어그램 이미지를 넣었다. 이미지는 07:51 커밋에서 6편분을 따로 추가했다. 발행 뒤 공개 확인 스크립트로 보니 6편 모두 페이지가 200으로 응답했고, /articles 목록에 노출됐고, 이미지도 정상으로 나왔다.

도메인을 yongdev.dev로 옮기다

블로그는 지금까지 vercel.app 주소로 돌고 있었다. 이번에 .com 도메인을 사서 옮기기로 했다.

도메인 고르기

블로그 이름이 "용데브"라서 도메인도 그 이름을 쓰는 쪽으로 정했다. 후보는 다음과 같았다.

  • yongdev.com: 이미 등록되어 있어 쓸 수 없었다.
  • yongdevlog.com: 비어 있었고, 블로그라는 뜻을 더할 수 있어 1순위로 추천받았다.
  • yongdev.org: 비어 있었지만, 사람들이 .com을 습관적으로 쳐서 남의 사이트로 갈 수 있다는 단점이 있었다.
  • yongdev.dev: 개발 블로그에 잘 맞았다. 이번에 이 도메인을 구매했다.

호스팅은 Vercel 유지

집 서버에 Cloudflare Tunnel로 띄우는 방법도 검토했다. 하지만 현재 구조가 Vercel을 전제로 짜여 있었다. 집 서버로 옮기면 어댑터를 바꾸고, 캐시 삭제 코드도 Cloudflare 기준으로 새로 짜야 한다. 정전이나 회선 장애에도 블로그와 매일 자동 발행이 함께 멈춘다. 그래서 도메인만 Vercel에 붙이는 쪽으로 결정했다.

연결 과정

Cloudflare API 토큰이 없어서 ego 브라우저의 로그인 상태를 이용했다. 대시보드 내부 API로 DNS 레코드를 넣으려 했지만 보안 정책에 막혀 403으로 실패했다. 그래서 화면에서 직접 입력했다.

  • 루트 도메인: A 레코드
  • www: CNAME 레코드
  • 두 레코드 모두 프록시를 끈 DNS only로 설정

Vercel에서 두 도메인을 프로젝트에 연결했고, 둘 다 verified가 됐다. www.yongdev.dev와 vercel.app 주소는 같은 경로로 yongdev.dev에 308 리다이렉트된다. 예전 주소로 공유된 링크도 그대로 동작한다. 오늘 올린 6편을 새 주소에서 다시 확인했고, 모두 통과했다.

판매 페이지 홍보 방향 점검

크몽에서 전자책 8종을 팔고 있다. 자격증 요약 PDF 7종과 하네스 엔지니어링 책 1종이다. 그런데 블로그 글은 대부분 개발일지와 자동 발행 프롬프트 기록이라서, 자격증 수험생이 검색해서 들어올 주제와 맞지 않는다. 자동 생성 글이 많으면 검색 엔진이 사이트 전체 품질을 낮게 볼 위험도 있다.

응답에서는 도메인 정리를 1순위로 제시했다. PUBLIC_SITE_URL 같은 설정도 새 도메인에 맞추라고 했다. 나머지 세부 우선순위는 응답이 잘려서 기록에 없다.

TTS 연결

글을 음성 파일로 바꿀 수 있는지 물어봤다. macOS say, edge-tts, 외부 TTS API를 방법으로 소개받았다. 이어서 Google AI Studio의 Gemini TTS 모델을 쓸 수 있는지 확인했다. API 키를 전달받은 뒤 응답에 따르면 연결과 테스트가 끝났다. 키는 .env에 저장했고, 변환 스크립트 scripts/tts.py를 만들었다. gemini-3.8-flash-tts와 gemini-3.8-flash-lite-tts 모두 audio/wav를 반환했다고 한다.

남은 것

  • 09:00에 요청한 사이트 소개 글은 응답이 없어서 결과를 모른다.
  • 08:49 응답의 우선순위 가운데 적용 여부가 확인되지 않은 항목이 있다. 응답이 잘려 전체 목록도 없다.
  • 판매 상품과 블로그 글의 주제 불일치 문제는 방향만 제시됐고 해결하지 않았다.
  • TTS는 짧은 테스트 결과만 확인했다. 긴 글을 실제로 변환한 결과는 기록에 없다.
  • 대화창에 API 키를 붙여넣었으므로 키 교체 여부를 확인해야 한다.
  • 허어로 이미지(hero.png) 생성은 시작만 알려졌고, 저장 완료 여부는 기록에 없다.

댓글 0개

아직 댓글이 없습니다. 첫 댓글을 남겨보세요.

댓글 쓰기

← 목록으로 돌아가기