애드소프트 기술블로그

개발·서버 운영 실무 기록

애드소프트 박재호입니다. IIS·ASP.NET 웹 서비스와 메일서버를 직접 운영하고, Unity 게임과 데스크톱 앱을 만들며 겪은 문제와 해결 과정을 기록합니다.

최신 글

설문은 지금 올라간 빌드를 묻는다 — 「오늘 누가 쏘냐?」 app-ads.txt 와 광고 정책 답, 처리방침 고치기

광고 SDK 를 넣으면 코드 밖의 말도 같이 바뀐다. 판매자 확인용 app-ads.txt 를 웹 사이트 루트에 올리고, Play 앱 콘텐츠의 광고·광고 ID·데이터 보안 답을 새 빌드 기준으로 미리 써 두고, 실제 매니페스트 권한에 맞춰 처리방침과 스토어 문구, 출시 노트를 고쳤다. 무엇을 언제 바꾸느냐가 더 중요했다.

광고가 뜨면 앱은 멈춘다 — 「오늘 누가 쏘냐?」 같이 하기에서 모든 폰에 동시에 광고 띄우기

전면 광고가 떠 있는 동안 그 폰의 메인 스레드는 멈춘다. 같이 하기에서 그건 연결이 끊긴 것과 구별이 안 됐다. 연결 확인을 소켓 스레드로 옮기고, 방장이 보내는 a_show 와 게스트가 돌려주는 a_done 두 메시지로 모든 폰의 광고를 맞췄다. 늦게 닫는 폰, 광고가 없는 폰, 나간 폰을 기다리는 규칙과 규약 버전 13 이야기.

결과가 나오는 순간은 건드리지 않는다 — 「오늘 누가 쏘냐?」 전면 광고를 넣을 자리와 AdService

파티게임에서 광고를 넣을 수 있는 자리는 생각보다 적다. 결과를 다 보고 다음 판으로 넘어가는 순간 하나만 골랐고, 그 자리에 전면 광고 하나를 띄우는 정적 서비스를 만들었다. 미리 불러오기, 닫힌 뒤 정확히 한 번 부르는 약속, 조용한 실패와 재시도, 빌드별 광고 단위와 광고 등급, iOS 분기까지.

첫 화면을 바꿨다가 되돌렸다 — 같은 틀로 만든 두 번째 홈페이지, 그리고 홈페이지가 하는 일들

회사 홈페이지의 틀을 그대로 들고 고객사 홈페이지를 하나 더 만들었다. 바꾼 것보다 바꾸지 않은 것이 더 많았고, 한 번은 바꿨다가 되돌렸다. 그 사이 원래 홈페이지는 회사 소개를 넘어 도구를 나눠 주고, 블로그를 잇고, 검색엔진과 광고 크롤러에게 신분을 밝히는 자리가 됐다.

조회번호는 여섯 자리면 충분했다 — 로그인 없는 A/S 진행 조회

A/S 를 맡긴 고객은 회원이 아니다. 그 사람이 자기 접수 건만 찾게 하려고 처음엔 긴 접수번호와 전화번호 뒷자리를 받았다. 폰 자판으로 스무 자 가까운 번호를 치게 하는 대신 여섯 자리로 줄이자, 이번엔 그 번호를 하나씩 맞혀 보는 쪽을 막아야 했다.

폼 전송이 아직 설정되지 않았습니다 — 서버 없는 홈페이지에 폼 붙이기

문의 페이지를 열었더니 폼 자리에 "폼 전송이 아직 설정되지 않았습니다"가 떠 있었다. 방문자가 읽을 문장이 아니었다. 서버 없는 정적 사이트에 폼을 붙이면서 키를 어디에 둘지, 브라우저가 어디로 보내게 둘지, 받는 쪽은 무엇을 막아야 할지를 하나씩 정했다.

영문 홈 주소에 슬래시가 두 개 붙었다 — 서버 없는 회사 홈페이지를 Astro로

회사 홈페이지 상단의 EN 버튼을 눌렀더니 주소 끝에 슬래시가 두 개 붙어 있었다. 경로를 만드는 함수 하나의 실수였는데, 그 함수를 언어 전환·hreflang·canonical 이 모두 쓰고 있었다. 서버 없이 HTML 만 올리는 회사 홈페이지를 Astro 로 만들고 IIS 에 배포하기까지의 이야기.

글 수가 0인 태그 — 빈 태그 정리, 한글 태그 슬러그, 연재 앱 카드

관리자 태그 화면에 글 수가 0인 줄이 하나둘 쌓이고, 한글 태그 주소는 tag-숫자로 남아 있었다. 글이 늘어나며 생긴 정리 거리를 손보다가, 지워도 되는 빈 태그와 지우면 안 되는 빈 태그를 가르고, 한글 음절을 산수로 쪼개 영문 주소를 만들고, 연재 끝에 앱 받기 카드를 붙였다.

승인은 끝이 아니었다 — 애드센스 승인 뒤 광고 자리를 고른 기준

애드센스 사이트 상태가 '준비됨'으로 바뀌었다. 광고를 켜는 일만 남은 줄 알았는데, 막상 남은 건 어디를 끄느냐였다. 위치별 광고 여섯 자리 중 세 곳만 남기고 자동 광고는 한 가지만 남긴 이유, 처음 구성이 너무 많아 다시 줄인 과정와, 애드센스 미리보기가 끝내 뜨지 않은 이유를 정리했다.