<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>psyren park</title>
    <link>https://blog.psyrenpark.com</link>
    <description>웹과 앱의 서버를 만들고 AWS를 운영해 왔습니다. 개발 경력은 약 11년이며, 현재 3명 개발팀에서 서버 개발·운영을 총괄합니다. 고객이 요청한 기능을 만들고, 운영자에게 사용법을 설명하고, 다음 개발자에게 넘기는 일을 해왔습니다. 최근에는 기기 안에서 글을 요약하는 기능과 현업의 AI 도구 활용을 다루고 있습니다.</description>
    <language>ko</language>
    <atom:link href="https://blog.psyrenpark.com/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>입찰공고 AI 요약의 한계: 새 근거 0건과 원문 해석 오류</title>
      <link>https://blog.psyrenpark.com/notes/ai-summary-added-no-evidence/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/ai-summary-added-no-evidence/</guid>
      <description>OpenRouter로 호출한 DeepSeek의 근거 선택을 코드가 보존한 원문과 대조했다. 78개 참조는 모두 기존 근거였고, 원문에 있는 문서 우선순위도 불명확하다고 답했다.</description>
      <category>기술 글 · 제품 개발</category>
      <pubDate>Tue, 03 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Ubuntu 디스크 정리 전 실행 중인 서버 확인</title>
      <link>https://blog.psyrenpark.com/notes/checking-running-work-before-disk-cleanup/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/checking-running-work-before-disk-cleanup/</guid>
      <description>큰 폴더부터 지우지 않고 실행 중인 프로세스와 복구용 파일을 확인했다. 일부는 정리했고, 서버가 남아 있던 QA 폴더는 보류했다.</description>
      <category>노트 · 개발 환경</category>
      <pubDate>Tue, 03 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Mac·Ubuntu 원격 개발: 소스 전송과 실행본 대조</title>
      <link>https://blog.psyrenpark.com/notes/checking-the-code-behind-a-remote-screen/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/checking-the-code-behind-a-remote-screen/</guid>
      <description>Next.js 실행본을 Docker Compose와 Traefik 작업 주소로 나눴다. tar로 보낸 소스의 SHA-256·파일 권한을 대조하고, 전송 검증과 실제 서버·화면 검증은 따로 남겼다.</description>
      <category>기술 글 · 개발 환경</category>
      <pubDate>Tue, 03 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>AI 글쓰기의 출처 검증과 사실 확인</title>
      <link>https://blog.psyrenpark.com/notes/citation-validity-and-claim-truth/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/citation-validity-and-claim-truth/</guid>
      <description>Python CLI에서 SHA-256·행 범위·인용문을 검사하며 초안 네 개를 만들었다. 입력 분량은 줄었지만 정확한 인용이 붙은 허위 성과는 검사만으로 막지 못했다.</description>
      <category>기술 글 · 개발 방식</category>
      <pubDate>Tue, 03 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Ego Lite·Jina·Exa의 웹 수집 최신성 비교</title>
      <link>https://blog.psyrenpark.com/notes/collector-success-and-freshness/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/collector-success-and-freshness/</guid>
      <description>Ego Lite와 Agent Reach의 Jina·Exa backend로 같은 URL의 변경을 읽었다. 본문 숫자와 SHA-256을 대조하니 호출 성공과 현재 내용 확보는 다른 결과였다.</description>
      <category>기술 글 · 데이터</category>
      <pubDate>Tue, 03 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Hugging Face 모델 공개 후 CPU 실행 검증</title>
      <link>https://blog.psyrenpark.com/notes/downloading-the-model-after-publication/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/downloading-the-model-after-publication/</guid>
      <description>PatchTSMixer와 회귀 출력층을 PyTorch CPU 패키지로 옮겼다. 4시점×290특성 입력과 65개 출력을 고정하고, 공개 파일을 다시 받아 해시와 출력을 대조했다.</description>
      <category>기술 글 · 협업과 인계</category>
      <pubDate>Tue, 03 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Tailwind·shadcn 공통 UI 수정과 사용 화면 추적</title>
      <link>https://blog.psyrenpark.com/notes/following-shared-ui-to-its-consumers/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/following-shared-ui-to-its-consumers/</guid>
      <description>CVA·Radix Slot을 쓰는 공통 Button과 Tailwind 토큰의 소비 경로를 따라갔다. color-mix로 대비를 고친 뒤 CSS 생성, 서비스 화면, Button fixture 결과를 나눠 확인했다.</description>
      <category>기술 글 · 개발 방식</category>
      <pubDate>Tue, 03 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>HWP→Markdown 변환: 도구 비교와 누락 조항 복구</title>
      <link>https://blog.psyrenpark.com/notes/hwp-evidence-before-another-ai-call/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/hwp-evidence-before-another-ai-call/</guid>
      <description>HWP 변환 도구 네 개를 비교하고, 실제 복구에는 rhwp 0.8.6 경로를 보완했다. BodyText·ViewText를 대조해 본문과 표를 확보하되 변경 추적 경고는 남겼다.</description>
      <category>기술 글 · 데이터</category>
      <pubDate>Tue, 03 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>HostAuto 작업자 초대: 링크 공유와 연결 완료의 차이</title>
      <link>https://blog.psyrenpark.com/notes/inviting-a-worker-in-fewer-steps/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/inviting-a-worker-in-fewer-steps/</guid>
      <description>React Native Share.share()와 기존 Expo Router로 작업자 사전등록·초대 링크 전달을 연결했다. 운영 반영과 두 실기기의 진입은 확인했지만, 새 수신자의 연결 완료까지는 검증이 남았다.</description>
      <category>노트 · 제품 개발</category>
      <pubDate>Tue, 03 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>서비스별 회원 탈퇴와 공통 계정의 삭제 범위</title>
      <link>https://blog.psyrenpark.com/notes/leaving-one-service-with-a-shared-account/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/leaving-one-service-with-a-shared-account/</guid>
      <description>TypeScript 요청 처리기와 PostgreSQL 트랜잭션으로 게임별 탈퇴 범위를 나눴다. HMAC 요청과 처리 영수증으로 대상을 고정하고, 합성 데이터에서 재시도·되돌리기·삭제 후 쓰기 차단을 확인했다.</description>
      <category>기술 글 · 접근 권한</category>
      <pubDate>Tue, 03 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Trip 여행 안내 50곳 확대: 추천 로직과 콘텐츠 분리</title>
      <link>https://blog.psyrenpark.com/notes/more-travel-guides-same-recommendation-rules/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/more-travel-guides-same-recommendation-rules/</guid>
      <description>기존 20곳에 30곳의 다섯 언어 안내를 더했다. 장소 연결과 원천 자료를 확인하고 운영에 반영했으며, 안내 확대와 추천 품질은 별개로 남겼다.</description>
      <category>노트 · 제품 개발</category>
      <pubDate>Tue, 03 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Node2Shell 대응기: Node.js 패치와 AWS Lambda 리전별 차이</title>
      <link>https://blog.psyrenpark.com/notes/node2shell-runtime-verification/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/node2shell-runtime-verification/</guid>
      <description>Node2Shell에 대응하며 설치한 Node와 서비스가 실행하는 Node를 따로 확인했다. Lambda는 같은 Node 22라도 리전별 검증 결과가 달랐다. 확인한 실행본과 임시 조치, 남은 검증을 정리했다.</description>
      <category>기술 글 · 클라우드 운영</category>
      <pubDate>Tue, 03 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Memo 파일럿: 아이폰 메모를 Mac과 Codex에서 읽기까지</title>
      <link>https://blog.psyrenpark.com/notes/reading-phone-memos-from-a-mac/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/reading-phone-memos-from-a-mac/</guid>
      <description>Electron 앱과 Capture Bridge로 아이폰 메모를 가져오고 MCP STDIO로 검색·본문 조회를 연결했다. 로컬 검증과 별도 승인 운영 왕복, 뒤의 글자 확대 수정·인계 후보를 나눠 남겼다.</description>
      <category>노트 · 제품 개발</category>
      <pubDate>Tue, 03 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>헬스체크 HTTP 200과 DB·Redis 정상 판정의 차이</title>
      <link>https://blog.psyrenpark.com/notes/what-a-health-check-actually-checked/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/what-a-health-check-actually-checked/</guid>
      <description>Next.js health에서 Postgres.js의 SELECT 1과 Upstash Redis의 임시 키 쓰기·읽기를 검사했다. 2초 제한과 선택 의존성의 HTTP 200 계약을 두고, 예약 호출과 장기 예방 효과를 구분했다.</description>
      <category>기술 글 · 클라우드 운영</category>
      <pubDate>Tue, 03 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>n8n·Windmill 비교와 공통 프롬프트 개선</title>
      <link>https://blog.psyrenpark.com/notes/workflow-comparison-started-with-prompt/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/workflow-comparison-started-with-prompt/</guid>
      <description>n8n과 Windmill에 같은 DeepSeek 모델과 문서를 연결했다. 인용문은 모델이 고르고 원문 위치는 코드가 계산하도록 바꾸자 재시험 결과가 달라졌다.</description>
      <category>실험 기록 · 개발 방식</category>
      <pubDate>Tue, 03 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>공고 알림 메일 0건의 원인: 후보 조건과 예약 경로</title>
      <link>https://blog.psyrenpark.com/notes/zero-notices-email-diagnosis/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/zero-notices-email-diagnosis/</guid>
      <description>메일 8통과 수집·분석·예약 기록을 대조했다. 공고는 저장되고 있었지만 메일 후보 조건이 좁았고, 예약은 이전 코드를 호출하고 있었다.</description>
      <category>기술 글 · 제품 개발</category>
      <pubDate>Tue, 03 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>axe 위반 0건 뒤에도 incomplete를 확인하는 이유</title>
      <link>https://blog.psyrenpark.com/notes/zero-violations-and-unchecked-accessibility/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/zero-violations-and-unchecked-accessibility/</guid>
      <description>블로그의 테마·언어·좁은 화면을 확인하다가 다섯 가지 문제를 고쳤다. 자동 검사에서 violations가 0으로 나온 뒤에도 incomplete 항목에는 끊어진 제목 연결이 남아 있었다.</description>
      <category>기술 글 · 개발 방식</category>
      <pubDate>Tue, 03 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>AI 진단을 위한 근거 준비와 출처 검증</title>
      <link>https://blog.psyrenpark.com/notes/diagnosis-and-evidence-preparation/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/diagnosis-and-evidence-preparation/</guid>
      <description>읽기 전용 진단 도구에 실제 모델을 연결하고 인용·출력 검사를 통과했다. 평소 수집 상태를 확인하는 일에 쓰려면, 답변 전에 기록을 모으는 과정부터 연결해야 했다.</description>
      <category>기술 글 · 운영 자동화</category>
      <pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>공고를 읽은 뒤, 다음 작업으로 넘기기까지</title>
      <link>https://blog.psyrenpark.com/notes/from-notice-review-to-next-task/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/from-notice-review-to-next-task/</guid>
      <description>공고를 분류하고 분석문을 받는 데서 끝나지 않도록 지원 준비와 자료 전달을 연결했다. 저장된 원문을 묶어 내려받되, 읽지 못한 문서와 아직 확인하지 않은 조건도 함께 남겼다.</description>
      <category>기술 글 · 제품 개발</category>
      <pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>예약 수집 자료와 호스트 작업 화면 연동</title>
      <link>https://blog.psyrenpark.com/notes/from-reservation-email-to-work-screen/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/from-reservation-email-to-work-screen/</guid>
      <description>기존 PC 수집기가 확인한 퇴실과 다음 예약을 서버에 받아 호스트 화면에 표시했다. 메일 발송·서버 접수·화면 표시를 각각 확인했고, 자동 전송이 생략된 회차는 저장 자료로 보완했다.</description>
      <category>기술 글 · 운영 자동화</category>
      <pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>작은 자료함에서 벡터 검색을 먼저 넣지 않은 이유</title>
      <link>https://blog.psyrenpark.com/notes/selecting-evidence-before-vector-search/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/selecting-evidence-before-vector-search/</guid>
      <description>경력 근거로 글을 쓰는 작은 자료함을 만들며 검색과 인용을 살폈다. 자료를 더 잘 찾는 일에 앞서, 필요한 원문을 고르고 같은 내용을 반복 전달하지 않는 방법부터 검토했다.</description>
      <category>기술 글 · 개발 방식</category>
      <pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>공고 선별 90점의 의미와 판단 한계</title>
      <link>https://blog.psyrenpark.com/notes/what-a-screening-score-means/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/what-a-screening-score-means/</guid>
      <description>공고 선별 화면의 높은 점수를 보고 실제 요청과 응답을 확인했다. 모델의 분류를 코드가 점수로 바꾸고 있었고, 제목 선별에 본문 검토까지 요구하고 있었다.</description>
      <category>기술 글 · 제품 개발</category>
      <pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>AI 세계관 생성과 기대한 이야기의 차이</title>
      <link>https://blog.psyrenpark.com/episodes/a-generated-world-was-not-enough/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/episodes/a-generated-world-was-not-enough/</guid>
      <description>소설과 게임의 배경을 만드는 작은 AI 도구를 시험했다. 생성과 저장은 동작했지만 배경 품질과 플레이가 기대에 미치지 못해, 더 진행할 가치가 있는지 다시 고민했다.</description>
      <category>에피소드</category>
      <pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>업무를 나누기 전 전달할 정보부터 정하는 이유</title>
      <link>https://blog.psyrenpark.com/episodes/before-splitting-the-work/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/episodes/before-splitting-the-work/</guid>
      <description>숙소 운영자의 말을 작업으로 바꾸는 기능을 시험했다. 업무를 나누는 과정이 번거로워, 이미 수집한 예약에서 무엇을 골라 작업자에게 전달해야 하는지 다시 정리했다.</description>
      <category>에피소드</category>
      <pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>화면 검수의 합격 판정을 철회한 이유</title>
      <link>https://blog.psyrenpark.com/episodes/reopening-a-screen-that-passed/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/episodes/reopening-a-screen-that-passed/</guid>
      <description>개인 메모 앱의 소개 화면을 배포한 뒤 가독성과 겹침 문제를 발견해 합격 판정을 철회했다. 선택한 청사진과 실제 화면을 다시 비교하며 확인 방법을 고쳤다.</description>
      <category>에피소드</category>
      <pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>음성 인식 결과를 다시 확인해야 하는 이유</title>
      <link>https://blog.psyrenpark.com/episodes/speech-recognition-and-checking-results/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/episodes/speech-recognition-and-checking-results/</guid>
      <description>손을 쓰기 어려운 사람을 위해 음성 명령 앱을 만들었지만, 진료 현장에 도입하지 못했다. 이후의 상담 기록 활용을 함께 돌아보며, 오류를 확인할 위치를 생각한다.</description>
      <category>에피소드</category>
      <pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>React Native 영상통화와 네이티브 브리지 연결</title>
      <link>https://blog.psyrenpark.com/episodes/rebuilding-the-video-call-app/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/episodes/rebuilding-the-video-call-app/</guid>
      <description>영상통화 앱을 세 방식으로 시도했지만 출시하지 못했다. 동료와 네이티브 코드를 연결하던 과정과, 기술을 고쳐도 남았던 비용·서비스의 질문을 돌아본다.</description>
      <category>에피소드</category>
      <pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>작은 게임을 스토어에 올리기까지</title>
      <link>https://blog.psyrenpark.com/episodes/first-full-loop/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/episodes/first-full-loop/</guid>
      <description>개발을 전담하고 디자이너와 함께 작은 게임을 출시했다. 로그인과 결제의 원리를 공부하고, 사과 이미지의 크기를 맞추던 과정을 돌아본다.</description>
      <category>에피소드</category>
      <pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>로봇의 모터·제어 전원을 분리한 이유</title>
      <link>https://blog.psyrenpark.com/episodes/separate-power-for-cheap-motors/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/episodes/separate-power-for-cheap-motors/</guid>
      <description>연결이 끊기던 교육용 로봇의 전원을 나누고, 모터마다 다른 움직임도 보완했다. 전력을 공급하는 일과 움직임을 맞추는 일이 어떻게 달랐는지 돌아본다.</description>
      <category>에피소드</category>
      <pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>음성 명령으로 전원을 켜던 프로토타입</title>
      <link>https://blog.psyrenpark.com/episodes/voice-commands-to-power-switches/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/episodes/voice-commands-to-power-switches/</guid>
      <description>말로 전원을 켜던 프로토타입에서 지금 집의 Home Assistant까지. 명령마다 조건문을 늘렸던 한계를 돌아보고, 여러 표현을 알아듣는 방법을 생각한다.</description>
      <category>에피소드</category>
      <pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>환경변수 누락과 배포 전 설정 확인</title>
      <link>https://blog.psyrenpark.com/episodes/one-missing-setting/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/episodes/one-missing-setting/</guid>
      <description>환경변수 누락 뒤 설정 복구와 배치 재실행을 따로 해야 했다. PHP·EC2 배포 경험에서 출발해 Docker 이미지와 환경변수, JSON Schema로 확인할 범위를 돌아본다.</description>
      <category>에피소드</category>
      <pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>수집 완료를 포인트 지급 조건으로 삼은 이유</title>
      <link>https://blog.psyrenpark.com/episodes/payout-after-collection-completes/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/episodes/payout-after-collection-completes/</guid>
      <description>시장 데이터 수집이 끝나야 포인트를 분배했다. 지연을 겪으며 완료 확인과 재요청·보조 경로·알림을 함께 다룬 일이다.</description>
      <category>에피소드</category>
      <pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>푸시·재시도 부하와 OIDC 인증 설계</title>
      <link>https://blog.psyrenpark.com/episodes/push-surge-and-own-auth/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/episodes/push-surge-and-own-auth/</guid>
      <description>알림 뒤 몰린 접속은 발송과 재시도를 나눠 대응했다. 이후 인증을 직접 만든 데에는 서비스마다 다른 회원 요구도 있었다.</description>
      <category>에피소드</category>
      <pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>수집이 깨졌을 때 사람이 고칠 길</title>
      <link>https://blog.psyrenpark.com/episodes/manual-path-for-broken-collection/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/episodes/manual-path-for-broken-collection/</guid>
      <description>외부 결과를 가져오지 못해 계산이 멈췄다. 수집을 복구하고 운영자가 값을 넣을 길을 만든 경험에서, 다시 진행하기 전에 확인할 것을 생각한다.</description>
      <category>에피소드</category>
      <pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>공통 패키지와 SemVer: 함께 쓰는 코드를 바꾸는 기준</title>
      <link>https://blog.psyrenpark.com/episodes/unifying-the-stack/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/episodes/unifying-the-stack/</guid>
      <description>프로젝트마다 반복하던 기능을 공통 패키지로 묶고 문서와 교육으로 전했다. 함께 쓰는 코드가 늘면서 호환성과 바꾸는 조건도 고민하게 됐다.</description>
      <category>에피소드</category>
      <pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>앱 재시도 폭주와 서버·DB 부하 대응</title>
      <link>https://blog.psyrenpark.com/episodes/retry-loop-hammered-the-server/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/episodes/retry-loop-hammered-the-server/</guid>
      <description>앱의 로그인 재시도 버그를 서버와 앱 양쪽에서 고쳤다. 같은 데이터베이스를 쓰던 다른 서비스도 느려진 일을 돌아본다.</description>
      <category>에피소드</category>
      <pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>모노레포로 서비스와 공통 코드를 모은 이유</title>
      <link>https://blog.psyrenpark.com/episodes/shared-code-in-one-repo/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/episodes/shared-code-in-one-repo/</guid>
      <description>버전과 API 규약을 함께 맞추려고 서비스와 공통 코드를 한 저장소에 모았다. 함께 바꾸기 편해진 만큼, 따로 움직일 때의 비용도 생겼다.</description>
      <category>에피소드</category>
      <pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Aurora PostgreSQL 메이저 업그레이드와 메모리 확인</title>
      <link>https://blog.psyrenpark.com/episodes/major-upgrade-memory/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/episodes/major-upgrade-memory/</guid>
      <description>개발 환경에서 반복 실패한 데이터베이스 업그레이드. 시도와 메모리 관측을 정리해 지원의 판단을 받고, 사양을 바꿔 운영 전환까지 진행했다.</description>
      <category>에피소드</category>
      <pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>USB 동시 연결 문제와 무선 ADB 전환</title>
      <link>https://blog.psyrenpark.com/episodes/parallel-devices-wireless/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/episodes/parallel-devices-wireless/</guid>
      <description>여러 실기기의 USB 전송이 끊겨 별도 전원과 안드로이드 무선 ADB로 바꿨다. 연결을 복구하면서, 실패한 기기를 다른 기기로 대체하지 않는 규칙도 정했다.</description>
      <category>에피소드</category>
      <pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>2026년, AI를 쓰며 일하는 방식을 고친 기록</title>
      <link>https://blog.psyrenpark.com/notes/ai-work-timeline/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/ai-work-timeline/</guid>
      <description>기존 코드를 읽는 데서 시작해 기기 내 요약, 화면 검수, 운영 점검에 AI 도구를 사용했다. 도구가 늘며 바뀐 확인 방법을 달별로 적었다.</description>
      <category>노트 · 개발 방식</category>
      <pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>써보려다 안 쓴 AI 도구들</title>
      <link>https://blog.psyrenpark.com/notes/tools-not-adopted/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/tools-not-adopted/</guid>
      <description>코드 관계를 읽는 도구, 작업 관리·에이전트 도구, 가상 웹캠을 서로 다른 이유로 검토했다. 당시 시험·보류한 범위를 적었다.</description>
      <category>노트 · 개발 방식</category>
      <pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>화면 90장 검수에서 누락이 생긴 이유</title>
      <link>https://blog.psyrenpark.com/notes/ai-screen-review/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/ai-screen-review/</guid>
      <description>캡처 90장을 한 번에 넘기자 일부 화면이 빠졌다. 캡처와 보고서는 스크립트가, 화면 평가는 AI가 맡게 나눴다.</description>
      <category>기술 글 · 개발 방식</category>
      <pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>자동화 브라우저의 구글 로그인 제한과 QA 로그인</title>
      <link>https://blog.psyrenpark.com/notes/qa-login-for-automation/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/qa-login-for-automation/</guid>
      <description>2월에 막혀서 미뤄둔 문제를 5월에 테스트 계정 전용 로그인으로 풀었다.</description>
      <category>기술 글 · 개발 방식</category>
      <pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>1월, AI에게 코드부터 읽힌 이유</title>
      <link>https://blog.psyrenpark.com/notes/reading-code-with-ai/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/reading-code-with-ai/</guid>
      <description>코드를 짜게 하기 전에 기존 코드를 설명하게 했다. 설명이 맞는지는 파일을 열어 직접 확인했다.</description>
      <category>노트 · 개발 방식</category>
      <pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Hermes를 쓰며 점검과 판단을 나눈 과정</title>
      <link>https://blog.psyrenpark.com/notes/hermes-and-recurring-work/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/hermes-and-recurring-work/</guid>
      <description>예약 실행과 결과 보고를 사용하다 보니 읽지 않는 보고가 쌓였다. 절차가 정해진 점검은 스크립트로 옮기고 알림과 판단을 따로 봤다.</description>
      <category>노트 · 개발 방식</category>
      <pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>개발은 Mac에서, 계속 도는 일은 Ubuntu에서</title>
      <link>https://blog.psyrenpark.com/notes/mac-and-ubuntu-workspace/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/mac-and-ubuntu-workspace/</guid>
      <description>미니 PC에 Ubuntu를 깔고, Mac을 켜두지 않아도 되는 일을 옮겼다.</description>
      <category>노트 · 개발 환경</category>
      <pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>HTTP 202 응답과 실제 수집 완료의 차이</title>
      <link>https://blog.psyrenpark.com/notes/data-delivery-verification/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/data-delivery-verification/</guid>
      <description>&quot;접수됨&quot; 응답만 믿지 않고, 화면에 최신 회차가 뜰 때까지 단계별로 확인하게 됐다.</description>
      <category>기술 글 · 데이터</category>
      <pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>AI가 작성한 코드의 검토 기준</title>
      <link>https://blog.psyrenpark.com/notes/ai-assisted-engineering/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/ai-assisted-engineering/</guid>
      <description>중복 거래와 Arrow 전환의 수정안을 검토하며 DB 상태, 기존 사용처, 실행 결과를 어떻게 확인했는지 적었다.</description>
      <category>노트 · 개발 방식</category>
      <pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>중복 요청을 처리할 때, 무엇을 보존할 것인가</title>
      <link>https://blog.psyrenpark.com/notes/transaction-boundary/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/transaction-boundary/</guid>
      <description>PostgreSQL의 UNIQUE 충돌과 트랜잭션 상태를 나눠 봤다. ON CONFLICT로 중복 INSERT를 건너뛰는 것과, 기존 요청을 이어 처리할 수 있는지 판단하는 일은 달랐다.</description>
      <category>기술 글 · 서버 운영</category>
      <pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>문제없을 때는 조용한 모니터</title>
      <link>https://blog.psyrenpark.com/notes/quiet-operations-monitoring/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/quiet-operations-monitoring/</guid>
      <description>정상이라는 보고가 매번 오니 정작 봐야 할 게 묻혔다. 상태가 바뀔 때만 알리게 바꿨다.</description>
      <category>노트 · 운영 자동화</category>
      <pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>AWS 비용 비교에서 사용량과 약정 할인을 나누는 이유</title>
      <link>https://blog.psyrenpark.com/notes/aws-cost-analysis/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/aws-cost-analysis/</guid>
      <description>AWS 청구 내역을 계정·서비스·항목 단위로 비교했다. 자원 정리와 사용량·백업·약정 할인 변화를 나누고, 관측한 비용 변화와 원인별 기여도를 구분한 방법을 적었다.</description>
      <category>기술 글 · 클라우드 운영</category>
      <pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>이력서 대신 글이 쌓이는 사이트를 만든 이유</title>
      <link>https://blog.psyrenpark.com/notes/portfolio-as-maintained-product/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/portfolio-as-maintained-product/</guid>
      <description>처음엔 이력을 보여주는 화면을 만들었다가, Markdown 파일 하나로 작업 기록을 더하는 구조로 바꿨다.</description>
      <category>기술 글 · 제품 개발</category>
      <pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>로그인 이후, 서비스 이용 권한은 따로 확인</title>
      <link>https://blog.psyrenpark.com/notes/service-access-boundaries/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/service-access-boundaries/</guid>
      <description>로그인은 같이 쓰지만 서비스 이용 권한은 따로다. 되는 요청과 막히는 요청을 짝으로 확인했다.</description>
      <category>기술 글 · 접근 권한</category>
      <pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Arrow로 바꾸되 운영 원본은 남겨둔 이유</title>
      <link>https://blog.psyrenpark.com/notes/arrow-handover/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/arrow-handover/</guid>
      <description>JSONL 원본과 학습용 중간 파일의 사용처를 구분했다. 학습 데이터를 직접 생성한 뒤 유효값·배열 형태·DataLoader를 검사했다.</description>
      <category>노트 · 데이터</category>
      <pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>납품의 끝을 다른 사람의 실행으로 정하기</title>
      <link>https://blog.psyrenpark.com/notes/research-handover/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/research-handover/</guid>
      <description>Windows에서 작은 CPU 실행을 시작하고 정상 출력을 확인할 절차를 넘겼다. 연구자가 직접 실행해 사용한다는 피드백과, 내가 확인하지 못한 범위를 함께 적었다.</description>
      <category>기술 글 · 협업과 인계</category>
      <pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>로그 정리에서 시작해 배포 추적 기준까지</title>
      <link>https://blog.psyrenpark.com/notes/serverless-operating-baseline/</link>
      <guid isPermaLink="true">https://blog.psyrenpark.com/notes/serverless-operating-baseline/</guid>
      <description>Lambda 로그를 오류·요청 ID 중심으로 줄이고, 운영 중인 함수가 어느 커밋에서 왔는지 답할 수 있게 배포 기준을 세웠다.</description>
      <category>노트 · 클라우드 운영</category>
      <pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>