<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>shiranai</title><description>웹앱 네 개를 만들면서 밟은 함정과 써본 도구를 기록한다. Astro, Cloudflare Workers, Notion API, GitHub Actions.</description><link>https://ttakochan.com/</link><language>ko-kr</language><item><title>노션을 블로그 CMS로 쓰는 양방향 파이프라인</title><link>https://ttakochan.com/blog/notion-as-cms-two-way/</link><guid isPermaLink="true">https://ttakochan.com/blog/notion-as-cms-two-way/</guid><description>노션에서 쓰고 정적 사이트로 굽는다. 반대 방향도 필요했다. 조용히 사라지는 자리 셋을 막는 게 핵심이다.</description><pubDate>Tue, 25 Aug 2026 12:00:00 GMT</pubDate><category>가이드</category><category>데이터</category></item><item><title>코드 블록 언어 이름 하나 때문에 글 전체가 400으로 튕겼다</title><link>https://ttakochan.com/blog/api-enum-whitelist-breaks-batch/</link><guid isPermaLink="true">https://ttakochan.com/blog/api-enum-whitelist-breaks-batch/</guid><description>외부 API는 대개 값 화이트리스트가 있다. 목록에 없는 값 하나가 요청 전체를 무효로 만든다.</description><pubDate>Tue, 25 Aug 2026 00:00:00 GMT</pubDate><category>함정</category><category>데이터</category></item><item><title>CSP 쓰는 사이트에 구글 태그 붙이기</title><link>https://ttakochan.com/blog/csp-for-third-party-tags/</link><guid isPermaLink="true">https://ttakochan.com/blog/csp-for-third-party-tags/</guid><description>지시어 네 개를 한 번에 열어야 한다. 하나씩 열면 다음 게 막힌다. 나는 세 번 배포했다.</description><pubDate>Mon, 24 Aug 2026 12:00:00 GMT</pubDate><category>가이드</category><category>배포</category></item><item><title>노션 통합에 DB를 연결했는데 쓰기가 403으로 막힌다</title><link>https://ttakochan.com/blog/notion-permission-vs-connection/</link><guid isPermaLink="true">https://ttakochan.com/blog/notion-permission-vs-connection/</guid><description>읽기는 되는데 페이지 생성만 안 됐다. 연결과 권한이 다른 설정이라서다. 체크박스 하나가 빠져 있었다.</description><pubDate>Mon, 24 Aug 2026 00:00:00 GMT</pubDate><category>함정</category><category>데이터</category></item><item><title>스택이 다른 사이트 셋에 같은 추적 코드 심기</title><link>https://ttakochan.com/blog/gtm-on-three-stacks/</link><guid isPermaLink="true">https://ttakochan.com/blog/gtm-on-three-stacks/</guid><description>Astro 정적, Next.js App Router, Vite SPA. 붙이는 자리와 실패 증상이 전부 다르다. 실제로 심으면서 겪은 것들.</description><pubDate>Sun, 23 Aug 2026 12:00:00 GMT</pubDate><category>가이드</category><category>배포</category></item><item><title>grep -c 는 일치 횟수가 아니라 줄 수를 센다</title><link>https://ttakochan.com/blog/grep-c-counts-lines/</link><guid isPermaLink="true">https://ttakochan.com/blog/grep-c-counts-lines/</guid><description>같은 스니펫이 사이트마다 1회, 2회로 다르게 세어졌다. 코드가 다른 게 아니라 세는 방법이 틀렸다.</description><pubDate>Sun, 23 Aug 2026 00:00:00 GMT</pubDate><category>함정</category><category>디버깅</category></item><item><title>앞단 리다이렉트 목록이 새로 만든 페이지를 잡아먹는다</title><link>https://ttakochan.com/blog/redirect-list-eats-new-pages/</link><guid isPermaLink="true">https://ttakochan.com/blog/redirect-list-eats-new-pages/</guid><description>새 페이지 세 개가 전부 301로 튕겼다. 옛 주소를 넘겨주려고 만든 목록에 같은 이름이 들어 있었다.</description><pubDate>Wed, 19 Aug 2026 12:00:00 GMT</pubDate><category>함정</category><category>배포</category></item><item><title>정적 사이트에 예약 발행 붙이기</title><link>https://ttakochan.com/blog/scheduled-publish-with-actions/</link><guid isPermaLink="true">https://ttakochan.com/blog/scheduled-publish-with-actions/</guid><description>서버 없이 예약 발행을 만드는 방법. 빌드 시각으로 미래 글을 거르고, 그 시각에 빌드를 돌린다. 지금 이 블로그가 쓰는 구성이다.</description><pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate><category>가이드</category><category>배포</category></item><item><title>PowerShell에서 VAR=값 명령이 &quot;용어가 인식되지 않습니다&quot;로 죽는 이유</title><link>https://ttakochan.com/blog/powershell-env-var-prefix/</link><guid isPermaLink="true">https://ttakochan.com/blog/powershell-env-var-prefix/</guid><description>리눅스 예제를 그대로 붙여넣으면 나는 오류다. PowerShell에는 명령 앞에 환경변수를 붙이는 문법이 없다.</description><pubDate>Tue, 18 Aug 2026 12:00:00 GMT</pubDate><category>함정</category><category>배포</category></item><item><title>GitHub Actions 시크릿은 이름이 틀려도 오류를 안 낸다</title><link>https://ttakochan.com/blog/github-actions-secret-name-silent/</link><guid isPermaLink="true">https://ttakochan.com/blog/github-actions-secret-name-silent/</guid><description>없는 시크릿을 참조하면 워크플로가 멈추지 않고 빈 문자열을 넣는다. 로그에 별표가 아니라 공백이 찍히는 게 유일한 단서다.</description><pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate><category>함정</category><category>배포</category></item><item><title>목록을 버리고 오브젝트를 띄웠다</title><link>https://ttakochan.com/blog/list-to-objects/</link><guid isPermaLink="true">https://ttakochan.com/blog/list-to-objects/</guid><description>카드 목록이던 메인을 오브젝트가 떠 있는 화면으로 바꿨다. 훑어보기는 확실히 나빠졌다.</description><pubDate>Mon, 17 Aug 2026 08:00:00 GMT</pubDate><category>고찰</category><category>디자인</category></item><item><title>앱마다 서브도메인을 쪼갠 게 맞았나</title><link>https://ttakochan.com/blog/subdomain-per-app/</link><guid isPermaLink="true">https://ttakochan.com/blog/subdomain-per-app/</guid><description>앱 네 개를 각자 서브도메인에 뒀다. 관리 비용은 늘었고, 대신 하나가 죽어도 나머지가 산다.</description><pubDate>Mon, 17 Aug 2026 04:00:00 GMT</pubDate><category>고찰</category><category>배포</category></item><item><title>배포 직후 같은 주소가 200과 301을 번갈아 답했다</title><link>https://ttakochan.com/blog/edge-propagation-200-301/</link><guid isPermaLink="true">https://ttakochan.com/blog/edge-propagation-200-301/</guid><description>새로 만든 페이지가 열렸다 안 열렸다 했다. 엣지가 순차적으로 갱신되는 동안 구버전과 신버전이 섞여 응답하고 있었다.</description><pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate><category>연구</category><category>배포</category></item><item><title>새벽에 굴절 띠를 1.4%까지 줄이고 있었다</title><link>https://ttakochan.com/blog/thinning-the-refraction-band/</link><guid isPermaLink="true">https://ttakochan.com/blog/thinning-the-refraction-band/</guid><description>얇게 해달라는 말을 세 번 듣고 16%에서 1.4%까지 갔다. 그동안 그 띠는 화면에 안 나오고 있었다.</description><pubDate>Sun, 16 Aug 2026 12:00:00 GMT</pubDate><category>잡담</category><category>디자인</category></item><item><title>픽셀 폰트에 아랍어가 없다는 걸 15개 언어를 그려보고 알았다</title><link>https://ttakochan.com/blog/pixel-font-glyph-coverage/</link><guid isPermaLink="true">https://ttakochan.com/blog/pixel-font-glyph-coverage/</guid><description>API 는 폰트가 있다고 답했다. 패밀리가 로드됐는지만 보고 글자가 있는지는 안 보기 때문이다.</description><pubDate>Sun, 16 Aug 2026 08:00:00 GMT</pubDate><category>잡담</category><category>연구</category></item><item><title>문어 다리 잘린 면을 화면 밖으로 미는 데 반나절</title><link>https://ttakochan.com/blog/hiding-the-cut-edge/</link><guid isPermaLink="true">https://ttakochan.com/blog/hiding-the-cut-edge/</guid><description>사진 한 장의 잘린 단면을 안 보이게 하려고 알파 픽셀까지 셌다. 그리고 그 뒤로도 계속 다시 쟀다.</description><pubDate>Sun, 16 Aug 2026 04:00:00 GMT</pubDate><category>잡담</category><category>디자인</category></item><item><title>가운데 정렬했는데 안 맞아 보여서 무게중심을 계산했다</title><link>https://ttakochan.com/blog/visual-balance-centroid/</link><guid isPermaLink="true">https://ttakochan.com/blog/visual-balance-centroid/</guid><description>글자는 정확히 화면 중앙이었다. 문제는 주변 오브젝트의 질량이 아래로 쏠려 있던 거였다.</description><pubDate>Sun, 16 Aug 2026 00:00:00 GMT</pubDate><category>회고</category><category>디자인</category></item><item><title>이미지 17.7MB를 830KB로 줄인 방법</title><link>https://ttakochan.com/blog/17mb-to-830kb/</link><guid isPermaLink="true">https://ttakochan.com/blog/17mb-to-830kb/</guid><description>폴더를 옮긴 것만으로 첫 로딩이 17.7MB에서 수백 KB가 됐다. public 과 src 는 빌드가 손대는지 여부가 다르다.</description><pubDate>Sat, 15 Aug 2026 12:00:00 GMT</pubDate><category>연구</category><category>성능</category></item><item><title>투명 PNG를 오브젝트로 쓰면 안 보이는 사각형이 뒤를 가린다</title><link>https://ttakochan.com/blog/transparent-png-hitbox/</link><guid isPermaLink="true">https://ttakochan.com/blog/transparent-png-hitbox/</guid><description>눈에 분명히 보이는 오브젝트가 눌리지 않았다. 앞쪽 이미지의 투명한 여백이 히트 영역을 그대로 먹고 있었다.</description><pubDate>Sat, 15 Aug 2026 08:00:00 GMT</pubDate><category>회고</category><category>디버깅</category></item><item><title>마우스를 따라 기우는 화면에서 호버가 스스로 풀렸다</title><link>https://ttakochan.com/blog/hover-target-feedback-loop/</link><guid isPermaLink="true">https://ttakochan.com/blog/hover-target-feedback-loop/</guid><description>글자에 마우스를 올려도 효과가 걸렸다 말았다 했다. 커서가 떠난 게 아니라 대상이 커서 밑에서 빠져나가고 있었다.</description><pubDate>Sat, 15 Aug 2026 04:00:00 GMT</pubDate><category>회고</category><category>디버깅</category></item><item><title>backdrop-filter에 SVG 필터를 섞으면 선언 전체가 죽는다</title><link>https://ttakochan.com/blog/backdrop-filter-url-drops-declaration/</link><guid isPermaLink="true">https://ttakochan.com/blog/backdrop-filter-url-drops-declaration/</guid><description>유리 효과가 크롬에서만 안 보였다. 원인은 지원 여부가 아니라 CSS가 값 하나를 못 읽으면 선언을 통째로 버린다는 규칙이었다.</description><pubDate>Sat, 15 Aug 2026 00:00:00 GMT</pubDate><category>회고</category><category>디버깅</category></item></channel></rss>