계산 구조부터 설명합니다. 내가 이미 낸 세금(기납부세액)과 최종적으로 내야 할 세금(결정세액)을 비교해 환급과 추가 납부가 갈린다는 기본 틀을 먼저 잡고, 그 위에 공제 항목을 하나씩 얹는 순서입니다.
연말까지 남은 기간에 할 수 있는 일에 집중합니다. 총급여의 25%를 넘는 카드 사용분부터 공제가 시작된다는 점, 결제 수단마다 공제율이 다르다는 점, 연금저축과 IRP는 12월 납입 전에 한도를 확인해야 한다는 점처럼 날짜가 지나면 바꿀 수 없는 항목을 앞쪽에 두었습니다.
이미 지난 해의 공제를 빠뜨렸다면 경정청구로 바로잡을 수 있다는 내용도 따로 한 장으로 다룹니다. 마지막 부록의 한 장 체크리스트는 인쇄해서 회사 제출 서류를 챙길 때 쓰기 좋습니다.
이 책을 만든 곳
이 책은 정부 발표와 세금·지원금 소식을 내 돈 언어로 풀어 주는 블로그 「머니로그 브리핑」에서 만들었습니다. 와우굿앱은 여러 사이트에서 만든 무료 실용 전자책을 한곳에 모아 소개합니다. 파일은 머니로그 브리핑에 있는 원본으로 바로 연결됩니다.
3장 먹이기: 성장 단계별 사료, 7일 사료 전환법, 급여 횟수와 체중 관리, 위험한 음식
4장 건강관리: 예방접종 일정, 심장사상충·기생충 예방, 중성화, 병원에 가야 할 신호
5장 위생·미용: 양치, 빗질, 목욕, 발톱, 귀·눈·항문낭 관리
6장 교육·행동: 배변 훈련, 기본 명령 5가지, 문제 행동 대처
7장 산책·운동·사회화와 펫티켓
8장 계절별 관리와 응급상황 대처: 열사병, 응급 첫 대응
9장 노견 케어: 노화 신호, 생활환경, 건강검진 항목, 이별 준비
부록: 우리 아이 프로필, 예방접종·구충 기록장, 월별 체중 기록
이 책의 특징
한 권으로 강아지의 일생을 따라갑니다. 입양을 고민하는 단계에서 읽기 시작해, 첫 한 달의 적응, 매일의 먹이기와 위생, 교육과 산책, 계절마다 달라지는 주의점, 나이 든 뒤의 돌봄까지 차례로 이어집니다.
동물등록처럼 법으로 정해진 의무와 산책 때의 펫티켓도 함께 다룹니다. 병원에 바로 가야 할 신호는 따로 모아 두어, 급할 때 찾아보기 쉽게 했습니다.
이 책을 만든 곳
이 책은 공공기관의 반려동물 소식을 보호자 눈높이로 풀어 주는 블로그 「멍냥뉴스 동네방네」(옛 포근발자국)에서 만들었습니다. 와우굿앱은 여러 사이트에서 만든 무료 실용 전자책을 한곳에 모아 소개합니다. 편집용 메모를 뺀 수정판(2026-11-08)을 와우굿앱에 올려 두었습니다.
1장 들이기 전 10분 점검: 필요성, 1년 총비용, 정전·인터넷 대비, KC 마크, 국내 A/S
2장 자동급식기
3장 스마트 급수기
4장 홈캠(펫캠): 필수 기능, 저장 방식, 보안 수칙
5장 자동 장난감·퍼즐 토이
6장 스마트 펫도어
7장 GPS 트래커: 방식별 차이, 동물등록과의 역할 구분, 잃어버렸을 때 대응 순서
8장 활동량 트래커와 헬스케어 웨어러블
9장 냉감·온열 매트
10장 드라이룸
11장 실내 배변판
12장 자동 볼 런처
부록: 1년 비용 계산표, 펫테크 관리 기록지, 외출 전 점검 카드, 참고 자료
이 책의 특징
기기를 추천하거나 순위를 매기지 않습니다. 대신 어떤 기준으로 고르고, 무엇을 조심해야 하는지를 기기마다 같은 틀로 정리했습니다. 홈캠의 보안 수칙은 관계부처 합동 IP카메라 보안강화 방안을, 동물등록 관련 내용은 농림축산식품부 동물보호관리시스템 안내를 따랐다고 책에 밝혀 두었습니다.
기기가 해결해 주지 못하는 신호도 함께 적었습니다. 장난감으로 해결되지 않는 행동, 활동량 기록과 건강 지표의 차이처럼, 기기에 너무 기대지 않도록 짚어 줍니다.
이 책을 만든 곳
이 책은 공공기관의 반려동물 소식을 보호자 눈높이로 풀어 주는 블로그 「멍냥뉴스 동네방네」(옛 포근발자국)에서 만들었습니다. 와우굿앱은 여러 사이트에서 만든 무료 실용 전자책을 한곳에 모아 소개합니다. 파일은 멍냥뉴스에 있는 원본으로 바로 연결됩니다.
핵심 답 가장 큰 1080px 원본 한 장만 정성껏 만들고, 네이버(690px JPG)·WEBTOON(800px PNG)·인스타용은 줄이고 바꾸기만 하는 작은 공장을 AI와 만들었다
바로 쓰는 팁 AI에게 “이 원본 한 장으로 인스타 4:5, 블로그 16:9, 썸네일용을 만드는 순서를 정해 줘. 글씨는 그림을 가리지 않게”라고 부탁하자
앱 안에 넣은 웹툰 「두부 폐하와 수습집사」는 10화로 완결됐다. 공들여 만든 만큼 앱 안에만 두기 아까웠다. 웹툰을 보는 사람은 웹툰 플랫폼에 있고, 강아지 좋아하는 사람은 인스타그램에 있다. 거기서 우리 웹툰을 보고 앱까지 와 주면 얼마나 좋을까.
그런데 막상 올리려고 보니 플랫폼마다 요구하는 게 달랐다. 이 글은 웹툰 한 편을 세 곳에 맞게 나눠 만든 이야기다.
어디에 올릴까, 세 곳을 고른 이유
AI와 함께 후보를 비교한 끝에 세 곳으로 정했다.
대상
플랫폼
그림 폭
형식
한국
네이버웹툰 도전만화
690px
JPG만 가능
해외
WEBTOON (Canvas)
800px까지
PNG, JPG
SNS
인스타그램
1080px, 4:5
PNG, JPG
네이버웹툰 도전만화는 누구나 자유롭게 올릴 수 있어서 시작하기 가장 쉬웠다. 카카오웹툰은 정식 계약 작가 중심이라 뺐다. 해외는 네이버 계열의 글로벌 서비스인 WEBTOON을 골랐다. 미국판 앱이 있으니 영어 웹툰도 올릴 곳이 필요했다.
그림 한 장에서 세 가지 파일로
문제는 같은 그림을 세 가지 크기와 형식으로 만들어야 한다는 것이었다. 한 편이 15컷이니, 10화면 150장. 세 플랫폼이면 450장이다. 손으로 했다면 웹툰 연재를 포기했을 것이다.
그래서 AI와 함께 작은 공장을 만들었다. 원리는 간단하다. 가장 큰 1080px 원본 한 장만 정성껏 만들고, 나머지는 줄이기만 한다.
말풍선까지 들어간 1080px 원본 컷을 만든다.
네이버와 WEBTOON용은 첫 컷에 제목, 마지막 컷에 마무리 멘트를 붙인다.
플랫폼에 맞게 폭과 형식을 바꾼다. 네이버는 690px JPG, WEBTOON은 800px PNG.
인스타그램용은 원본을 그대로 쓰고, 표지 카드와 다음 화 예고 카드만 따로 만든다.
이 네 단계를 한 번에 돌리는 명령도 만들었다. 이제 새 화가 나오면 명령 한 줄로 세 플랫폼용 폴더가 채워진다. 큰 원본에서 줄이기만 하면 되니, 시리즈가 늘어나도 공장을 새로 지을 필요가 없다.
제목을 아래에 붙였다가 혼났다
처음 만든 파일은 첫 컷 아래쪽에 제목을 얹고, 글씨가 잘 보이게 반투명 그림자를 깔았다. 결과를 보고 바로 고개를 저었다. 제목이 그림 아래에 있으면 독자는 첫 장면을 다 본 뒤에야 제목을 만난다. 인기 웹툰들을 보면 제목은 언제나 맨 처음에 나온다. 게다가 반투명 그림자는 그림이 밝은 컷에서는 글씨가 잘 안 보였다.
그래서 방식을 바꿨다. 그림 위에 글씨를 얹지 않고, 그림 위쪽에 공간을 새로 붙여서 그 안에 제목을 넣었다. 진한 갈색 바탕에 금색 테두리를 두른 띠다. 마무리 멘트는 마지막에 보이는 게 자연스러우니 그림 아래쪽에 같은 띠를 붙였다. 그림을 전혀 가리지 않으니 말풍선이 잘릴 일도 없고, 어떤 컷에서도 글씨가 또렷하다.
앱 안 웹툰 목록. 「링클튼 폐하와 재택 집사」와 「두부 폐하와 수습집사」 두 작품이 각각 10화로 완결되어 있다 출처: 왕립 개집사협회 앱 2026년 10월 16일 화면, 직접 캡처
워터마크도 페이지 번호도 뺐다
퍼 가는 사람을 막으려고 오른쪽 아래에 발바닥 워터마크와 “3/15” 같은 페이지 번호를 넣어 보기도 했다. 결국 다 뺐다. 정식 플랫폼에는 자체 넘김 표시가 있어서 번호가 오히려 방해가 됐고, 인스타그램에서는 작은 표시가 그림만 지저분하게 만들었다. 지키는 것보다 보기 좋은 게 먼저라고 판단했다.
인스타 표지에는 후킹 문구를
인스타그램은 스크롤이 빠르다. 표지에서 손가락을 멈추게 하지 못하면 끝이다. 그래서 인스타 표지 카드에는 정식 제목만 쓰지 않고, 캐릭터 목소리로 된 한 줄을 크게 넣었다. “오늘부터, 이 집의 주인은 나야” 같은 문장이다. 매 화마다 새로 쓰고, 같은 문장을 돌려 쓰지 않는 게 규칙이다. 피드에서 정사각형으로 잘려 보여도 이 문구가 잘리지 않는지도 확인한다.
이 규칙은 나중에 미국판, 일본판, 그리고 자동으로 표지를 만드는 프로그램에도 똑같이 적용했다. 블로그 제목에 검색어와 호기심을 함께 담는 것과 같은 원리다.
내 일에 가져갈 한 가지
같은 콘텐츠를 여러 곳에 올린다면 “가장 큰 원본 하나를 만들고 줄여서 쓴다”를 기억하자. 블로그 대표 이미지, 인스타, 유튜브 썸네일도 마찬가지다. AI에게는 “이 원본 한 장으로 인스타 4:5, 블로그 16:9, 썸네일용을 만드는 순서를 정해 줘. 글씨는 그림을 가리지 않게 해 줘”라고 부탁하면 된다. 웹툰을 처음 앱에 넣은 이야기는 시즌 1의 그림 못 그려도 웹툰 연재? 앱 안에 만화 넣은 방법에 있다.
바로 쓰는 팁 더미 데이터로 조립이 돌아가는 것과 실제 결과가 나오는 것은 다른 일이다. 둘을 따로 확인하자
앱 세계관을 넓히다 보니 노래가 한 곡 생겼다. 트로트 곡 한 곡을 받아 뮤직비디오를 만드는 자동 제작 도구를 AI에게 맡겨 보기로 했다. 이 글은 그 시도의 첫 번째 기록이다.
도구보다 설계를 먼저
처음에 가장 크게 부딪친 것은 설계였다. 장면마다 무엇이 나올지 정하기 전에 도구부터 고르면, 장면들이 뒤섞인다. 그래서 장소, 시대, 인물 관계를 먼저 적고, 그다음에 장면을 나눴다.
장면을 나눈 컷 계획의 전체 모습
만드는 순서
음원을 구간으로 나눈다. 전주와 간주를 구분한다.
장면마다 컷 계획을 짠다.
각 컷의 이미지를 만든다.
이미지만으로 무료 미리보기 영상을 만들어 시간을 맞춘다.
영상 클립을 만든다.
마지막에 원곡, 장면 전환, 한글 자막(후렴은 금색)을 합쳐 mp4와 자막 파일(srt)을 뽑는다.
돈을 쓰기 전에 멈추는 장치
이미지나 영상을 만들기 전에는 예상 비용을 보여 주고 승인을 받는다. 지출은 기록되고, 예산(기본 10달러)을 넘으면 경고가 뜬다. 돈이 나가는 순간마다 멈출 수 있게 한 장치다.
조립 시험까지 한 일
가짜 클립과 임시 이미지로 조립 단계를 시험했다. 장면 전환, 후렴 재사용, 한글 자막이 정상으로 나왔다. 세로(9:16) 화면으로 24초짜리 쇼츠도 조립했다. 다만 이것은 실제 생성 결과가 아니다. 가짜 재료로 돌아가는 조립일 뿐이다. 이 구분을 흐리면 나중에 큰 대가를 치른다.
다음 편에서는
실제로 이미지와 영상을 뽑으면서 나온 문제를 다룬다. 인원수, 의상, 사진 방향, 가사 시각이 어떻게 틀렸는지 적을 생각이다.
대표 이미지: 늘어난 메뉴를 카드로 정리한 첫 화면 (출처: 직접 캡처한 화면(2026년 9월 26일))
이 글에서 얻는 것
이런 분께 기능이 늘어 첫 화면과 코드 파일이 복잡해진 분
핵심 답 흩어진 입구를 기능별 카드(제목, 한 줄 설명, 버튼)로 첫 화면에 모으고, 너무 길어진 파일은 화면 흐름·작위증·게임·문구처럼 역할별로 나눴다
바로 쓰는 팁 게임처럼 같은 종류가 여러 개로 늘면 첫 화면에는 ‘오락실’ 같은 입구 카드 하나만 두고 안쪽 화면에 모으자
“아카데미 버튼은 어디 있어? 안 보이는데.”
아카데미까지 넣고 나니 이런 질문이 나왔다. 앱에는 이제 여러 콘텐츠가 있었다. 집사 작위 진단, 웹툰, 게임, 아카데미, 친구와 궁합 보기. 그런데 이것들로 가는 입구가 첫 화면, 작위증 화면 아래, 웹툰 마지막 컷 아래에 흩어져 있었다. 기능을 하나씩 붙일 때마다 그때그때 입구를 만든 결과였다.
만든 나는 어디에 무엇이 있는지 알지만, 처음 온 사람에게는 미로였다. 첫 화면을 새로 짤 때가 됐다.
버그가 아니라 설계였다
처음에는 아카데미 버튼이 사라진 줄 알았다. AI에게 물어보니 버그가 아니었다. 아카데미와 궁합 보기 버튼은 저장된 작위증이 있을 때만 첫 화면에 보이도록 만들어져 있었다. 작위증이 없는 사람에게는 쓸모가 없으니 숨긴 것이다.
그런데 이 설계가 오히려 문제였다. 처음 온 사람의 첫 화면에는 볼거리가 거의 없었다. 작위증 아래에만 있는 기능은 있는지조차 알 수 없었다. 그래서 방향을 바꿨다.
작위증이 있든 없든, 첫 화면에는 모든 입구를 항상 보여 준다. 대신 작위증이 없으면 버튼이 하는 일을 바꾼다.
이전에 받은 작위증 보기 → 없으면 “아직 작위가 없어요 · 지금 받기”로 바뀌고 진단을 시작한다.
아카데미 도전하기 → 없으면 1단계 체험판으로 들어간다. 합격해도 저장되지 않는다.
친구와 궁합 보기 → 없으면 “왕국 만들고 초대하기”로 바뀌고 진단을 시작한다.
같은 자리의 버튼이 상황에 따라 다른 일을 한다. 처음 온 사람은 무엇이 있는지 볼 수 있고, 누르면 자연스럽게 진단으로 이어진다.
첫 화면을 카드로 정리했다
입구가 늘어나니 버튼을 줄줄이 세워 두는 방식으로는 한계가 있었다. 기능마다 카드를 만들어 제목, 한 줄 설명, 버튼을 담았다. 첫 화면은 이런 순서가 됐다.
새 콘텐츠 메뉴 카드들 출처: 직접 캡처한 화면(2026년 9월 26일)
맨 위: 앱 이름, 한 줄 소개, “우리 집 왕” 사진, “나도 왕실 집사 되기” 버튼
🎮 왕실 오락실: 게임을 모아 둔 곳
📖 웹툰 보기, 이전에 받은 작위증 보기, 아카데미 도전하기
👯 친구 강아지와 궁합 보기
📣 친구에게 앱 알리기, 휴대폰에 앱 설치하기 안내
게임이 여러 개로 늘면서 첫 화면에 게임 버튼을 하나씩 놓을 수는 없었다. 그래서 게임은 왕실 오락실이라는 화면 하나에 모으고, 첫 화면에는 오락실 입구 카드 하나만 뒀다. 웹툰도 “웹툰 보기” 버튼 하나로 들어가서 안에서 고르게 했다. 첫 화면에는 입구만, 고르는 것은 안에서 하는 원칙이다.
오락실 카드는 두 번 손봤다. 처음에는 카드가 아래쪽에 있었는데, 게임에 더 비중을 둬야겠다고 생각해 맨 위 소개 바로 다음으로 올렸다. 또 카드에 글자만 있으니 밋밋해서, 게임마다 이모지를 넣은 동그란 배지(🦴 왕실 간식 잡기, 👑 왕관 강아지 만들기, 🃏 같은 카드 찾기 등)를 나란히 보여 주게 바꿨다. 카드만 봐도 어떤 게임이 있는지 알 수 있게.
진짜 문제: 파일 하나가 너무 길어졌다
첫 화면 작업을 하던 중 더 큰 문제가 드러났다. 처음에는 모든 것을 index.html 파일 하나에 넣어 왔는데, 기능이 늘수록 파일이 끝없이 길어졌다.
AI에게 파일 전체를 보여 주기 어려웠다. 너무 길어서 AI가 앞부분 내용을 헷갈렸다.
한 곳을 고쳤는데 다른 기능이 망가지는 일이 생겼다. 한 파일 안에 있으니 서로 영향을 줬다.
원하는 부분을 찾는 데만 한참 걸렸다.
AI는 파일을 역할별로 나누자고 했다. 처음에 배운 “뼈대(HTML), 옷(CSS), 동작(JavaScript)” 구분을 실제 파일로 나누는 것이다. (출처: MDN 웹 문서, CSS)
파일을 이렇게 나눴다
kba-butler-app/
├─ index.html ← 뼈대: 화면 틀
├─ css/
│ ├─ style.css ← 옷: 공통 디자인
│ └─ snack-game.css 등 ← 게임별 디자인
├─ js/
│ ├─ app.js ← 화면 흐름, 저장, 공유 같은 공통 기능
│ ├─ generator.js ← 왕국 이름 만들기, 유형 판정
│ ├─ certificate.js ← 작위증 그리기
│ ├─ snack-game.js 등 ← 게임마다 한 파일
│ ├─ data.ko.js ← 질문·작위·문구 (내용)
│ ├─ strings.ko.js ← 화면에 나오는 글자 (내용)
│ └─ academy-data.ko.js ← 아카데미 문제 (내용)
├─ webtoon/ ← 웹툰 그림
└─ assets/ ← 배경·기본 사진
특히 내용 파일이 마음에 들었다. 내가 직접 고치는 내용(질문, 문구, 문제)과 AI가 주로 고치는 기능 코드가 분리됐다. 질문 문구 하나를 고치려고 게임 코드 근처를 지나갈 필요가 없어졌다.
게임은 게임마다 파일 하나로 만들었다. 새 게임을 넣을 때 새 파일을 하나 추가하고, 오락실에 카드 하나를 더하면 된다. 게임 하나를 고치다가 다른 게임이 망가질 일도 줄었다.
파일을 나누고 얻은 뜻밖의 선물: 여러 언어
내용 파일 이름 끝에 붙은 .ko는 한국어라는 뜻이다. 나중에 영어판과 일본어판을 만들 때 이 구조가 빛을 봤다. data.en.js, strings.ja.js처럼 내용 파일만 언어별로 만들고, 기능 코드는 세 언어판이 함께 쓴다. 기능을 한 번 고치면 세 언어판에 모두 적용된다.
대신 새로 배운 규칙도 있다. 어떤 기능의 내용이 아직 한국어판에만 있으면, 영어판과 일본어판에서는 그 기능이 자동으로 숨겨지게 했다. 번역이 안 된 기능이 반쯤 깨진 채로 보이는 것보다 낫다. 그리고 공통 기능 파일을 고치면 세 언어판을 모두 다시 배포해야 한다. 한 번은 한국어판만 배포하고 영어판 배포를 깜빡해서, 영어판에만 바뀐 내용이 빠진 적이 있다.