글

8월, 2026의 게시물 표시

애드몹 UMP 동의 게이트 적용하는 법 — 동의 없이 광고가 나가면 벌어지는 일

이미지
앱에 애드몹을 붙일 때 흔한 순서가 이렇습니다. SDK를 켜고, 광고를 요청하고, 잘 뜨는지 확인하고, 그다음에 "아 동의 창도 넣어야 하지"를 떠올립니다. 그 순서는 위험합니다. 관련 지역 사용자에게 필요한 동의 절차를 거치지 않은 채 광고 요청이 발생하면 정책 위반 위험이 있습니다. 정책 집행은 사안별로 다르지만 계정 단위로 영향을 받을 가능성도 있으므로, 앱 하나의 화면 문제가 아니라 운영 계정 전체의 안전장치로 다뤄야 합니다. 이 글은 제 앱에 들어 있는 동의 게이트 코드를 그대로 꺼내 정리한 겁니다. 핵심은 하나예요 — 기본값을 "광고 요청 불가"로 두는 것. 📌 3줄 결론 - 동의 상태를 못 읽었을 때 기본값이 "허용"이면 안 됩니다. 조회 실패도 거부와 똑같이 취급해야 합니다 - 동의 확인은 광고 요청 앞이 아니라 SDK 초기화 앞 에 와야 합니다 - 웹용 광고 코드와 앱을 한 저장소에서 쓴다면, 웹 광고가 앱 안에서 뜨지 않게 막는 장치가 따로 필요합니다 확인일 2026-08-14 · 대상: 제가 직접 운영하는 안드로이드·iOS 앱 저장소 작성·검증 방식 ARION 운영자 가 실제 저장소의 동의 게이트·광고 초기화 순서·웹 광고 차단 검사를 읽고 대조했습니다. AI는 구조와 표현 정리에만 보조로 사용했고, 코드 줄 수와 관찰값은 비밀값을 제거한 로컬 증거 파일 admob-ump-consent-2026-08-14.txt 와 Google 공식 문서로 다시 확인했습니다. 검증한 범위와 아직 남은 범위 범위 2026-08-14 확인 결과 판정 동의 변수 초기값 요청 불가·비맞춤으로 시작 코드 확인 완료 조회 실패 처리 catch 에서도 안전한 값으로 복귀 코드 확인 완료 초기화 순서 동의 확인이 SDK 초기화보다 앞 코드 확인 완료 웹 광고 차단 9개 판정층과 호스트 허용 목록 확인 정적 검사 완료 동의·거부·조회실...

무료 HTTPS 인증서 붙이는 법 — Caddy와 DuckDNS로 도메인 없이 시작하기

이미지
서버를 하나 띄웠는데 주소창에 "주의 요함"이 뜬다면, 도메인을 사거나 인증서를 결제할 필요는 없어요. DuckDNS로 무료 서브도메인을 받고 Caddy를 올리면 인증서가 알아서 발급되고 90일마다 알아서 갱신됩니다. 이 글은 실제로 그렇게 돌고 있는 서버에서 값을 뽑아 정리한 겁니다. 설정이 얼마나 짧은지, 그리고 짧아서 오히려 놓치는 함정 세 개 를 같이 적었어요. 📌 3줄 결론 - 설정 파일은 도메인 한 줄, 전달할 주소 한 줄. 인증서 관련 설정은 한 글자도 안 씁니다 - localhost 라고 쓰면 502가 납니다. IPv6로 붙기 때문이에요 - 인증서 자동 갱신은 도메인이 계속 내 서버를 가리킨다는 전제 위에 있습니다. 그 전제를 지키는 장치가 따로 필요합니다 확인일 2026-08-14 · 대상: 제가 직접 운영하는 리눅스 서버 1대 작성·검증 방식 ARION 운영자 가 실제 서버의 인증서·포트·서비스 설정을 확인했습니다. AI는 목차와 문장 정리에만 보조로 사용했고, 명령어 출력과 수치는 비밀값을 제거한 로컬 증거 파일 https-caddy-duckdns-2026-08-14.txt 와 공식 문서를 다시 대조했습니다. 검증 범위 한눈에 보기 확인 항목 직접 확인한 값 이 글에서 보장하지 않는 것 Caddy 상태 v2.11.4 · active · enabled 모든 배포판의 설치 명령이 같다는 뜻은 아님 인증서 Let's Encrypt · 2026-11-04 만료 이후 갱신이 반드시 성공한다는 보장은 아님 리스닝 포트 Caddy가 80·443 사용 공유기·클라우드 방화벽 설정은 환경별로 다름 DuckDNS 갱신 cron 0건 · systemd 타이머 0건 고정 IP 환경에도 갱신 장치가 항상 필요하다는 뜻은 아님 이 표는 성공 사례만 보여주기 위한 것이 아닙니다. 현재 정상인 부분과 아직 자동화되지 않은 부분을 함께 기록한 실측 결과 입니다...

GDELT 뉴스 API 사용법 — 5초 요청 제한에서 무한 재시도 피하기

이미지
무료 뉴스 API로 자동 수집기를 만들 때 가장 위험한 코드는 실패 즉시 다시 호출하는 재시도입니다. 상대 서버가 요청을 줄이라고 말하는데 프로그램이 더 빠르게 호출하면 일시적인 제한을 스스로 연장할 수 있습니다. 2026년 8월 21일 GDELT DOC 2.0 API에 기사 목록 요청을 한 번 보냈습니다. 기대한 JSON 대신 요청을 최소 5초에 한 번으로 제한하라는 안내문 이 돌아왔습니다. 고빈도 사용자는 Web NGrams 데이터셋을 이용하라는 대안도 함께 표시됐습니다. 3줄 결론 - 응답 확장자가 JSON이어도 본문이 항상 JSON이라는 보장은 없습니다 - 제한 안내를 받으면 즉시 재시도하지 말고 최소 간격과 상한을 둡니다 - 대량 분석은 검색 API 반복 호출보다 제공자가 권하는 데이터셋이 적합합니다 확인일 2026-08-21 · 대상: GDELT DOC 2.0 API 단일 요청 1회 가장 작은 요청부터 시작하기 GDELT DOC 2.0 API는 뉴스 기사를 검색하고 목록이나 타임라인 형태로 결과를 받을 수 있는 공개 인터페이스입니다. 수집기를 만들기 전에 브라우저나 curl로 작은 요청 하나를 보내 응답 형식을 확인하는 것이 좋습니다. 이번에 사용한 요청은 검색어 korea , 기사 목록 모드, 최대 3건, JSON 형식이었습니다. curl --max-time 25 \ "https://api.gdeltproject.org/api/v2/doc/doc?query=korea&mode=artlist&maxrecords=3&format=json" maxrecords=3 으로 시작한 이유는 처음부터 수백 건을 가져오는 코드를 작성하지 않기 위해서입니다. 연결, 제한, 응답 구조를 작은 비용으로 먼저 확인할 수 있습니다. JSON 대신 안내문이 돌아온 이유 실행 당시 기사 배열이 아니라 다음 취지의 평문이 반환됐습니다. Please limit requests to one every 5 se...

git push가 안 될 때 — 손상된 오브젝트 확인하고 안전하게 복구하는 법

이미지
git push 가 실패한다고 바로 원격 저장소나 인터넷 문제로 단정하면 안 됩니다. 제 저장소는 파일 수정과 일부 커밋 작업은 가능했지만, 오브젝트를 묶어 보내는 단계에서 inflate: data stream error 가 발생했습니다. 2026년 8월 21일 읽기 전용 무결성 검사를 실행하자 손상되거나 누락된 오브젝트 3개와 잘못된 HEAD reflog 항목이 나왔습니다. 이 글에서는 삭제부터 하지 않고 상태를 확인한 뒤, 복구 가능한 원본을 확보하는 순서 를 설명합니다. 3줄 결론 - 먼저 git fsck 로 저장소 내부 문제인지 확인합니다 - 손상 저장소에서 gc , prune , 강제 초기화를 먼저 실행하지 않습니다 - 원격의 정상 복제본과 현재 작업 파일을 따로 확보한 뒤 필요한 변경만 옮기는 방식이 안전합니다 확인일 2026-08-21 · 대상: 실제 작업 중 손상 오류가 발생한 로컬 Git 저장소 1개 push 오류와 저장소 손상을 구분하는 첫 검사 네트워크 오류, 인증 실패, 브랜치 보호 오류는 메시지가 서로 다릅니다. inflate , unable to unpack header , object corrupt or missing 이 보인다면 로컬 .git/objects 내부를 의심해야 합니다. 상태를 바꾸지 않는 첫 명령은 다음입니다. git fsck --no-progress --no-dangling Git 공식 문서에 따르면 git fsck 는 오브젝트 데이터베이스의 연결성과 유효성을 검사합니다. 제 저장소에서는 다음 종류의 결과가 나왔습니다. object corrupt or missing: 466a742c... object corrupt or missing: 6ab4e079... missing commit e5188f32... HEAD: invalid reflog entry e5188f32... 종료코드는 3이었습니다. 단순히 참조되지 않는 dangling 오브젝트가 있다는 수준이 아니라 실제 오브젝트를 읽지 ...

서버 상태 매일 자동 점검하는 법 — 이상이 있을 때만 알리는 운영 체크

이미지
서버 모니터링은 정상이라는 메시지를 매일 길게 보내는 것보다, 사람이 오늘 해야 할 일을 짧게 보여주는 것 이 중요합니다. 정상 알림이 계속 쌓이면 정말 위험한 한 줄도 같은 소음으로 보이기 때문입니다. 제가 운영하는 점검 스크립트를 2026년 8월 21일 실행했더니 조치 필요 4개와 정상 항목 5개가 분리되어 나왔습니다. HTTPS와 서비스는 정상이었지만 콘텐츠 작업, 실패 작업, 트렌드 갱신, 재무 장부에는 문제가 있었습니다. 3줄 결론 - 정상 상태보다 사람이 행동해야 할 항목을 먼저 출력합니다 - 문제가 있으면 종료코드 1, 모두 정상이면 0을 반환합니다 - 점검 스크립트 자체의 실패도 운영 문제로 기록해야 합니다 확인일 2026-08-21 · 대상: 로컬 운영 저장소와 원격 서버 상태 점검 1회 매일 확인할 항목을 작게 정한다 처음부터 CPU, 메모리, 로그, 네트워크, 데이터베이스의 모든 지표를 모으면 점검표가 금방 읽히지 않게 됩니다. 저는 하루 운영을 멈추게 만드는 질문부터 골랐습니다. 공개 HTTPS 주소가 응답하는가 핵심 서비스가 active인가 서버가 비정상적으로 자주 재부팅되지 않았는가 담당자 없이 남은 고아 작업이 있는가 외부 API 토큰 만료가 가까운가 콘텐츠와 트렌드 데이터가 정해진 기간 안에 갱신됐는가 실패 작업이 방치되어 있지 않은가 Google SRE 책은 모니터링 출력이 “무엇이 고장 났는가”뿐 아니라 긴급 대응이 필요한지 판단하는 데 유용해야 한다고 설명합니다. 모든 수치를 모으는 것보다 증상과 사용자 영향에 가까운 신호를 먼저 보는 이유입니다. 실제 실행 결과에서 무엇을 읽었나 점검 명령은 단순했습니다. node scripts/ops-check.cjs 그날 정상 항목은 다섯 개였습니다. 서버 HTTPS 응답 정상 ai-world 서비스 active 서버 가동 196시간 고아 잡 없음 토큰 D-51 하지만 보고서 맨 위에는 조치 필요 4개가 먼저 나왔습니다. 당일 콘텐츠 부재,...

app-ads.txt 만드는 법 — GitHub Pages로 개발자 사이트 무료 구축하기

이미지
AdMob에서 app-ads.txt 경고를 봤다면 파일 한 줄만 올리고 끝내면 안 됩니다. 앱 스토어에 등록한 개발자 웹사이트의 루트 주소에서 파일이 열려야 하고, 게시자 ID도 AdMob이 준 값과 같아야 합니다. 저는 별도 유료 호스팅 대신 GitHub Pages에 파일을 올렸습니다. 2026년 8월 21일 공개 주소를 다시 검사하니 HTTP 200, text/plain , 59바이트로 응답했습니다. 이 글은 파일을 만드는 과정뿐 아니라 AdMob 크롤러가 실제로 읽을 조건을 확인하는 방법까지 정리합니다. 3줄 결론 - 앱 스토어의 개발자 웹사이트 주소가 출발점입니다 - 그 호스트의 /app-ads.txt 에서 파일이 공개되어야 합니다 - 브라우저에서 보이는 것과 AdMob의 인증 완료는 다르므로 최대 24시간의 반영 시간을 둡니다 확인일 2026-08-21 · 대상: 제가 운영하는 GitHub Pages 공개 주소 1개 app-ads.txt가 하는 일 app-ads.txt는 앱 광고 인벤토리를 판매할 권한이 있는 회사를 공개하는 텍스트 파일입니다. IAB Tech Lab은 이를 앱 스토어에 배포되는 앱을 위한 승인 판매자 표준으로 설명합니다. 가짜 인벤토리와 도메인 사칭을 줄이기 위한 장치이지, 광고 수익을 올려주는 설정은 아닙니다. Google AdMob의 공식 절차는 다섯 단계입니다. 개발자 웹사이트를 준비하고, 파일을 만들고, 사이트 루트에 게시하고, 크롤링을 기다린 다음 AdMob에서 상태를 확인합니다. 특히 앱이 Play 스토어나 App Store에 등록되어 있고 스토어 등록정보에 개발자 웹사이트가 연결되어 있어야 합니다. 파일 한 줄의 의미 제 공개 파일은 다음과 같은 구조입니다. 게시자 ID는 계정마다 다르므로 아래 값을 복사하지 말고 AdMob 화면에서 자신의 코드 스니펫을 받아야 합니다. google.com, pub-게시자ID, DIRECT, f08c47fec0942fa0 첫 번째 값은 광고 시스템, 두 번째는...

장기 액세스 토큰 자동 갱신하는 법 — 60일 뒤 조용히 멈추는 걸 막는 systemd 타이머

이미지
API 연동으로 뭔가를 자동 발행하고 있다면, 지금 당장 확인해볼 게 하나 있어요. 그 액세스 토큰을 갱신하는 코드가 실제로 있는지 입니다. 제 서버는 없었습니다. 토큰 만료일을 파일에 적어두기만 하고 갱신은 아무도 하지 않는 상태로 돌고 있었어요. 그대로 뒀으면 60일째 되는 날 오류 하나 없이 발행만 조용히 멈췄을 겁니다. 이 글에서 그 구멍을 어떻게 찾았고, systemd 타이머 몇 줄로 어떻게 막았는지 설정 파일까지 그대로 정리했어요. 📌 3줄 결론 - 만료일을 "기록"하는 코드와 "갱신"하는 코드는 다릅니다. 전자만 있는 경우가 흔합니다 - 갱신은 만료 당일이 아니라 10일 전부터 매일 시도해야 합니다. 한 번 실패해도 아홉 번이 남습니다 - 앱 안 루프가 아니라 별도 타이머 로 두면, 문제가 생겼을 때 그것만 즉시 끌 수 있습니다 확인일 2026-08-21 · 대상: 제가 직접 운영하는 리눅스 서버 1대 갱신 코드가 0줄이었다 Threads API의 장기 액세스 토큰은 유효기간이 60일 입니다. 만료 전에 갱신 요청을 보내면 다시 60일이 연장돼요. 공식 문서에 그렇게 적혀 있고, 저도 알고 있었습니다. 문제는 알고 있는 것과 코드에 있는 것이 다르다는 거였어요. 코드·크론·systemd 유닛을 전부 뒤졌는데 갱신을 시도하는 곳이 한 군데도 없었습니다. 토큰을 처음 받을 때 만료일을 계산해서 파일에 적어두는 코드는 있었어요. 그게 있으니까 갱신도 되고 있다고 착각했던 겁니다. 이런 구멍이 위험한 이유는 실패 방식 때문입니다. 서버가 죽지도 않고, 500 오류가 나지도 않고, 로그에 빨간 줄이 찍히지도 않아요. 그냥 발행 요청이 거절되고, 큐에는 계속 쌓이고, 화면에는 아무 이상이 없습니다. 실제로 이 서버는 다른 설정 문제로 발행이 2주간 멈춰 있던 적이 있는데, 그때도 화면에는 성공으로 보였어요. 터지는 고장은 금방 알아챕니다. 조용해지는 고장이 오래 갑니다. systemd ...

서비스가 계속 재시작될 때 원인 찾는 법 — 35일간 3,348회 재시작한 서버 기록

이미지
리눅스 서비스가 몇 분 간격으로 계속 재시작된다면, 원인이 그 서비스가 아니라 서비스를 지켜보는 쪽 일 수 있어요. 로그에 오류가 안 남는데도 재시작만 반복된다면 특히 그렇습니다. 제 서버가 35일 동안 3,348번 재시작됐는데, 범인은 서비스를 살려두려고 제가 직접 붙인 감시 스크립트였어요. 이 글에서 원인을 3분 만에 확인하는 명령어 와 감시 기준을 어떻게 바꿔야 하는지를 정리했습니다. 숫자는 전부 제 서버에서 뽑은 실제 값이에요. 📌 3줄 결론 - "살아 있음"을 파일 수정 시각으로 판정했더니, 감시 스크립트가 감시 대상을 계속 죽였습니다 - 35일 · 3,348회. 재시작 간격이 정확히 15분이라 로그만 봐도 인위적인 주기가 보였습니다 - 재시작은 직접 만든 스크립트가 아니라 systemd에 맡기고, 판정 기준을 "부산물"이 아니라 "결과"로 바꿔야 합니다 확인일 2026-08-14 · 대상: 제가 직접 운영하는 리눅스 서버 1대 어떤 구조였나 AI 에이전트가 계속 학습하며 결과를 데이터베이스에 쌓는 서버였어요. 이 작업이 멈추면 안 되니까, 살아 있는지 지켜보는 스크립트를 하나 붙였습니다. 판정 기준은 이랬어요. 데이터베이스 파일의 수정 시각이 10분 넘게 그대로면 작업이 멈춘 것으로 본다 멈췄으면 작업 서비스와 API 서비스를 함께 재시작 한다 이 검사를 cron으로 5분마다 돌린다 읽어보면 그럴듯해요. 실제로 저도 그럴듯해서 붙였습니다. 문제는 작업 프로세스가 한 번 도는 데 15분 넘게 걸렸다 는 겁니다. 그 15분 동안 계산만 하고, 결과를 데이터베이스에 쓰는 건 맨 마지막 이었어요. 그러니까 정상 작동 중에도 파일 수정 시각은 10분 넘게 그대로였습니다. 감시 스크립트 입장에서 정상 작동은 고장과 구분되지 않았어요. 15분마다 죽은 이유 — 로그에 그대로 찍힌다 재시작이 일어나면 파일 수정 시각이 갱신됩니다. 그다음 10분간은 임계값에 안 걸려요....

일 잘하는 사람의 AI 도구 5개 — 업무 시간 반으로 (2026)

이미지
같은 업무를 하는데도 누구는 야근에 시달리고 누구는 정시에 퇴근하는 차이는, 반복 작업을 얼마나 AI에 위임할 수 있는가에 달려 있다. 복잡한 설치를 거치지 않고 바로 업무에 적용할 수 있는 다섯 가지 AI 도구 카테고리를 중심으로, 실제 사용 흐름과 주의점, 자주 마주치는 문제를 단계별로 정리한다. 이 글에서 다루는 것 - 각 도구 카테고리가 어떤 업무에 도움이 되는지 - 가입·설정부터 결과 확인까지의 구체적인 흐름 - 자주 발생하는 오류와 대처법, 개인정보·저작권 체크 포인트 - 도구를 선택할 때 확인해야 할 기본 사항 1. 범용 AI 챗봇 — 글쓰기·요약·아이디어 발산 준비 서비스에 가입해 API 키 또는 로그인 계정을 확보한다. 자주 쓰는 프롬프트 템플릿(예: “이메일을 정중하게 써줘”, “3문단으로 요약해줘”)를 메모장이나 노트 도구에 저장한다. 실행 이메일 초안 : “다음 내용을 정중한 업무 메일로 바꿔줘” 라고 입력하고, 생성된 초안을 복사해 메일 클라이언트에 붙인다. 보고서 요약 : 긴 PDF나 워드 파일을 텍스트로 변환한 뒤, “핵심 내용만 3문단으로 요약해줘”라고 요청한다. 아이디어 브레인스토밍 : “신제품 출시 홍보 전략 5가지”처럼 구체적인 주제를 주고, 생성된 목록에서 마음에 드는 항목을 골라 추가 탐색한다. 결과 확인 생성된 텍스트에 사실 오류나 어색한 표현이 없는지 읽는다. 특히 숫자, 날짜, 인용구는 원본 자료와 대조한다. 흔한 문제와 해결법 문제 원인 해결법 답변이 너무 길거나 짧음 프롬프트에 길이 지시가 없음 “~문단으로”, “~단어 내로” 같이 길이 조건을 명시 맥락이 끊김 이전 대화 기록이 초기화됨 중요 내용은 프롬프트에 다시 포함하거나, 세션 저장 기능을 사용 민감한 정보 노출 입력 데이터가 저장될 우려 회사 기밀은 입력하지 않거나, 개인정보 비식별화 후 사용 2. 출처 제공 AI 검색 — 자료 조사 시간 단축 준비...

AI 과대광고 구별하는 법 – 가짜 AI 서비스·사기 피하는 5가지 팁

이미지
요즘 AI 기술이 붐이라고 해서 이것저것 알아보고 계셨군요. 그런데 막상 검색해 보면 ‘AI 탑재’라는 문구만 붙어 있고, 실제로는 별 기능도 없는 서비스가 너무 많아서 당황하셨을 거예요. 오늘은 그런 눈속임을 단번에 구별하고, 진짜 내 업무에 도움 되는 AI만 골라내는 실속 있는 방법을 알려드릴게요. 📌 핵심 요약 - ‘AI 탑재’라는 말만 믿지 말고, 실제로 무엇을 자동화·예측·생성하는지 따져보세요. - 무료 체험이 지나치게 제한적이거나, 작동 원리를 전혀 설명하지 않으면 의심 신호입니다. - 구체적인 성능 수치나 도입 사례가 없는 서비스는 일단 보류하고 사용자 후기를 꼼꼼히 확인하세요. ‘AI’라는 단어가 붙었다고 다 AI가 아닙니다 사실 많은 서비스가 ‘AI’라는 이름을 마케팅 도구로만 활용하고 있어요. 예전에는 ‘자동화’나 ‘알고리즘’이라고 불렀을 기능에 AI 딱지를 붙이는 식이죠. 진짜 AI 서비스인지 확인하려면, 그 기술이 데이터를 기반으로 학습하고 결과를 개선해 나가는지 를 살펴야 합니다. 예를 들어 단순 키워드 필터링으로 상품을 추천해 주는 쇼핑몰이 ‘AI 추천’이라고 광고한다면, 이건 AI라기보다 규칙 기반 자동화에 가까워요. 반면, 사용자의 클릭 패턴과 구매 이력을 실시간으로 분석해 취향까지 예측하며 추천 결과가 점점 정교해진다면 AI라고 볼 수 있습니다. 여기서 가장 간단한 구별법 하나는, ‘이 서비스의 AI는 정확히 어떤 데이터를 어떻게 학습하나요?’ 하고 물었을 때 제대로 답변하는지를 보는 거예요. 추상적인 말만 반복한다면, AI가 아니라 슬로건일 가능성이 높습니다. 무료 체험판의 숨은 함정을 확인하세요 AI 서비스의 성능을 직접 느껴보라고 무료 체험을 제공하는 경우가 많죠. 그런데 이 체험판 자체가 ‘가짜 AI’를 숨기는 장치일 때도 있어요. 다음과 같은 패턴이 보이면 한 번쯤 멈춰 서서 생각해 보셔야 합니다. 입력 가능한 데이터 양이 극도로 적다 : AI는 원래 많은 데이터를 다룰수록 진가를 발휘하는...

옛날 사진 AI로 복원하는 법 — 부모님 흑백사진 살리기 (2026)

이미지
옛날 흑백사진을 선명하게 만들고 컬러로 입히는 작업은 이제는 전문 스튜디오가 아닌 집에서도 AI를 활용해 시도할 수 있습니다. 흐릿해진 이미지나 손상된 부분을 개선하고, 흑백에 자연스러운 색을 입히는 과정을 단계별로 정리했으니, 부모님 사진을 소중히 간직하고 싶은 분들이 따라 하기 쉽게 구성했습니다. 이 글에서 다루는 것 원본을 안전하게 준비하는 방법 무료로 이용할 수 있는 주요 AI 도구 유형과 특징 화질 복원 → 컬러화 순서로 적용하는 실제 작업 흐름 결과물을 확인하고 흔히 마주치는 문제를 해결하는 팁 개인정보 저작권 주의 사항과 자주 묻는 질문 준비 단계 – 원본을 안전하게 확보하기 원본 백업 스마트폰이나 스캐너로 사진을 찍기 전에 반드시 원본 파일을 별도 폴더에 복사하거나 클라우드에 업로드해 두세요. AI가 결과를 덮어쓰지 않도록 원본은 절대 수정하지 않는 습관을 들입니다. 촬영·스캔 환경 조성 - 밝고 균일한 조명 아래에서 그늘 없이 정면으로 촬영합니다. - 플래시가 직접 비치지 않도록 확산판이나 흰 종이를 이용해 빛을 부드럽게 합니다. - 스캔을 할 경우 해상도는 300dpi 이상을 권장하며, 파일을 TIFF나 PNG 무손실 형식으로 저장하면 이후 작업에서 품질 손실을 줄일 수 있습니다. 파일 이름 관리 원본은 원본_YYYYMMDD_설명.jpg 형태로, 작업 결과는 복원_YYYYMMDD_설명.jpg 등으로 구분하면 나중에 혼동이 줄어듭니다. 도구 선택 – 무료로 시도할 수 있는 AI 유형 도구 유형 대표적인 기능 장점 주의점 클라우드 사진 서비스 (구글 포토, Adobe Photoshop Express 등) 자동 화질 개선, 기본 색 보정 별도 설치 불필요, 이미 사용 중인 계정으로 바로 이용 가능 고급 복원·컬러화 기능은 제한적일 수 있음, 업로드 시 서비스 약관 확인 필요 모바일 전용 AI 복원 앱 (Remini류, Ph...