전체 글 114

공유 서버에서 Akamai 403 우회, 다섯 번의 방향 전환

※ 이 글은 제가 일본어로 쓴 글(jacepark.com)을 한국어로 옮긴 것입니다.ahha에는 추첨 결과 데이터가 필요합니다. 공식 사이트에서 정기적으로 가져와야 합니다.간단한 일이라고 생각했습니다. 요청을 보내고, 파싱하고, CSV로 저장하고, cron에 올리면 끝.403이 돌아왔습니다.상대는 Akamai Bot Manager몇 가지 방법을 시도했지만 전부 403이었습니다.curl https://# → 403php -r 'echo file_get_contents("https://");'# → 403User-Agent를 브라우저 것으로 바꿔도, 헤더를 전부 흉내 내도 같았습니다. 브라우저로 열면 평범하게 열립니다.Akamai Bot Manager가 TLS 핸드셰이크 단계에서 걸러내고 있었습니다.HTTP..

pod install 성공, 그런데 링크 단계에서 실패

※ 이 글은 제가 일본어로 쓴 글(jacepark.com)을 한국어로 옮긴 것입니다.ahha에 네이티브 모듈을 하나 추가했습니다. expo-tracking-transparency입니다.순서는 교과서 그대로였습니다.npx expo install expo-tracking-transparencycd ios && pod installpod install은 성공했습니다.Pod install took 27 [s] to runIntegrating client projectPod installation complete! There are 117 dependencies from the Podfileand 143 total pods installed.Podfile.lock에도 제대로 들어가 있습니다. TypeScript ..

앱을 두 번 고쳐도 안 되면, 원인은 앱 밖

※ 이 글은 제가 일본어로 쓴 글(jacepark.com)을 한국어로 옮긴 것입니다.구독을 넣은 ahha를 개발하던 중에 이런 증상을 만났습니다.Google Play에서 구독을 해지했다. 그런데 앱은 여전히 「프리미엄」이라고 표시합니다.앱 안의 「상태 새로고침」 버튼을 눌러도 바뀌지 않는다앱을 완전히 종료하고 다시 실행해도 바뀌지 않는다하루를 두어도 바뀌지 않는다두 번의 헛손질저는 이것을 앱의 버그라고 생각하고, 두 번에 걸쳐 고쳤습니다.첫 번째 — Entitlement ID 확인RevenueCat의 Entitlement 식별자가 대시보드 설정과 코드에서 일치하는지 확인했습니다. 일치했습니다. 증상은 그대로.두 번째 — SDK 캐시 회피캐시가 오래된 건가 싶어 invalidateCustomerInfoCa..

구독 앱 첫 심사, 준비물 체크리스트

※ 이 글은 제가 일본어로 쓴 글(jacepark.com)을 한국어로 옮긴 것입니다.자동 갱신 구독을 넣은 ahha를 처음으로 심사에 냈습니다. 두 번 리젝을 거쳐 통과했습니다.리젝 사유는 구독과 무관했습니다(ATT 미구현·연령 등급). 다만 준비하는 과정에서 정리한 항목이 있어 남겨둡니다. 두 스토어를 나란히 놓고 보면, 요구하는 것이 비슷하면서도 미묘하게 다릅니다.먼저 주의사항을「이 항목이 없으면 반드시 리젝된다」는 인과는 검증할 수 없습니다. 실제로 떨어진 것은 2건뿐이고, 나머지는 「넣어뒀더니 통과했다」 수준의 정보입니다.그래도 쓰는 이유는, 첫 제출에서는 무엇을 준비해야 하는지 전체 그림이 안 보이는 것 자체가 시간을 잡아먹기 때문입니다. 떨어지고 나서 채우는 것보다, 먼저 늘어놓는 쪽이 빠릅니..

app.json 수정 무효, Bare Workflow의 함정

※ 이 글은 제가 일본어로 쓴 글(jacepark.com)을 한국어로 옮긴 것입니다.직접 만든 앱 ahha의 스플래시 화면에서 로고가 작아 보여서 크게 키우려고 했습니다.app.json을 열어서 값을 고칩니다.{ "expo": { "plugins": [ ["expo-splash-screen", { "imageWidth": 76 }] ] }}76 → 130으로 바꾸고 다시 빌드. 변화 없음180으로 바꾸고 다시 빌드. 변화 없음캐시를 의심해서 클린 빌드. 변화 없음시뮬레이터를 지우고 다시 만들기. 변화 없음네 시간을 이렇게 썼습니다.먼저 결론부터답은 Expo 공식 문서에 적혀 있었습니다.android·ios 디렉터리를 Expo Prebuild로 생성하지 않은 앱에서는, app con..

구독이 끝났는데, 앱은 「이용 중」이라고 합니다

※ 이 글은 제가 일본어로 쓴 글(jacepark.com)을 한국어로 옮긴 것입니다.직접 만든 앱 ahha에 구독을 붙였을 때, 제일 마지막에 발견되고 제일 마지막에 고친 버그가 이거였습니다.샌드박스 구독이 2일 전에 만료돼 있습니다. 그런데도 앱을 열면 이렇게 나옵니다.프리미엄 플랜(이용 중)다음 갱신일: 2026/08/02이미 지나간 날짜를 「다음 갱신일」로 표시하고 있습니다. 앱을 껐다 다시 켜도 똑같습니다. 몇 번을 해도 똑같습니다.그런데 「플랜 상세 보기」를 누르면 그 순간 화면이 「무료」로 바뀝니다.먼저 결론부터유효기간 만료는 스토어의 알림 대상이 아닙니다.해지했다, 갱신됐다, 결제에 문제가 생겼다. 이건 전부 「벌어진 사건」이라서 스토어가 그 순간 푸시를 쏩니다.만료는 사건이 아닙니다. 아무..

AI가 쓴 코드는 돌아갑니다. 그런데도 앱스토어 심사는 떨어졌습니다

※ 이 글은 제가 일본어로 쓴 글(jacepark.com)을 한국어로 옮긴 것입니다.직접 개발한 ahha(로또6·로또7 번호 예상 앱)가 앱스토어 심사에서 리젝을 2건 받았습니다.코드는 빌드가 통과했습니다. 실기에서도 안 죽습니다. 그런데도 심사는 안 통과했습니다.이 2건은 AI한테 코드를 맡길 때 경계가 어디인지를 꽤 선명하게 보여줬습니다. 기록으로 남깁니다.먼저 결론부터떨어진 2건은 둘 다 「아무도 에러를 안 내는 자리」에 있었습니다.1건째 = 선언은 있는데 구현이 없다. 설정 파일에는 「이 기능 씁니다」라고 적혀 있고, 그걸 실행하는 코드가 어디에도 없었다2건째 = 애초에 코드 밖. 관리 화면 설문의 답이 심사 쪽 기준과 어긋나 있었다컴파일러는 아무 말도 안 합니다. 테스트도 통과합니다. AI한테 ..

AI에게 코드를 맡기면, 어디서 디버깅 시간이 날아가나 (수시 갱신)

※ 이 글은 제가 일본어로 쓴 글(jacepark.com)을 한국어로 옮긴 것입니다.「AI한테 코딩 시켜도 디버깅에 시간 엄청 뺏긴다는 게 진짜냐」는 질문을 자주 봅니다. 비슷한 걸로 「실무에서 코드 생성은 AI로 거의 끝낼 수 있냐」 「초보는 대단하다고 하고 프로는 별로라고 하던데, 이 차이는 뭐냐」 같은 것도 있고요.이 글은 그 답을 일반론이 아니라 실제로 저희 개발에서 일어난 일로 써보려고 합니다. 블로그 운영 자동화 도구를 AI랑 같이 만들고 있는데, 거기서 나온 실패를 그냥 그대로 늘어놓겠습니다.먼저 결론부터디버깅에 시간 뺏기는 건 맞습니다. 근데 시간이 날아가는 곳이 코드 안이 아니더라고요날아가는 건 「시킨 대로 나왔나」를 확인하는 작업입니다. 코드는 돌아갑니다. 돌아가는데 시킨 거랑 다릅니다..

온누리상품권 추석 할인 9월 16~20일, 120만 원 전액 10%가 아닙니다

추석 장보기를 앞두고 온누리상품권 할인 이야기가 많이 나옵니다.그런데 「120만 원을 10% 할인받는다」로 알고 계신 분이 많습니다. 그렇지 않습니다. 구간에 따라 할인율이 다릅니다.확인할 것내용기간9월 16일~20일 닷새할인 구조기본 100만 원은 7%, 추가 20만 원만 10%최대 할인액120만 원어치를 111만 원에 구매. 할인은 9만 원이 글은 정부가 9월 1일 발표한 추석 민생안정대책과 관련 안내를 정리한 것입니다. 표마다 확인처를 달아 두었으니 직접 대조해 보시기 바랍니다.1. 할인 구조부터 정확히디지털 온누리상품권은 평소 월 100만 원까지 7% 할인으로 살 수 있습니다.추석 특별기간인 9월 16일~20일에는 여기에 20만 원 한도가 추가되고, 이 추가분에만 10%가 적용됩니다.구간할인율실제..

AI 작곡 노래 저작권 등록, 8월 3일부터 새 기준

AI에게 노래를 만들게 해서 음원 수익을 내는 부업 이야기가 많습니다.그런데 한국음악저작권협회(음저협)의 기준이 2026년 8월 3일부터 바뀌었습니다. 그전까지는 AI를 쓴 곡의 등록을 보류해 왔는데, 이제 조건을 달아 받기 시작했습니다.확인할 것내용등록되는 곡AI를 썼어도 사람이 작사·작곡·편곡에 실질적으로 참여한 곡안 되는 곡지시어(프롬프트)만 넣고 AI가 통째로 만든 곡신청할 때AI를 어디에, 무엇으로, 어떻게 썼는지 직접 신고이 글은 관련 보도를 정리한 것입니다. 표마다 확인처를 달아 두었으니 직접 대조해 보시기 바랍니다.1. 지금까지는 「보류」였습니다음저협은 2025년 3월 24일부터 AI를 활용한 곡의 등록을 보류해 왔습니다. 법과 제도의 기준이 없는 상태에서 분쟁을 막겠다는 이유였습니다.이 ..