애드소프트 기술블로그

개발·서버 운영 실무 기록

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

최신 글

같은 코드로 블로그를 하나 더 — 사이트 프로필로 경제 블로그 띄우기

기술블로그 코드를 그대로 써서 두 번째 블로그(economy.addsoft.co.kr)를 띄웠다. 사이트마다 다른 값은 sites/*.json 사이트 프로필 하나에 모으고, 운영자 표기·관리자 계정·API 키·수익 대시보드 범위를 사이트별로 나눴다. 배포 스크립트와 글 올리기 스크립트에는 -Site 옵션을 더했다.

광고 설정 화면이 토글만 남기까지 — slot ID 입력에서 광고 단위 이름 규칙으로

블로그의 애드센스 광고 위치 설정을 네 단계에 걸쳐 바꿨다. 설정 파일의 slot ID를 관리자 화면으로 옮기고, 애드센스 광고 단위 목록을 불러와 드롭다운으로 고르게 했다가, 광고 단위 이름 규칙(접두어_위치)을 정한 뒤에는 드롭다운을 없애고 연결 상태와 토글만 남겼다. 단계마다 무엇이 불편했고 코드를 어떻게 바꿨는지 정리했다.

관리자 화면에서 애드센스 수익 보기 — AdSense Management API 연동

블로그 관리자 화면에 애드센스 수익 대시보드를 붙였다. 구글 OAuth로 읽기 전용 권한을 받아 AdSense Management API v2를 SDK 없이 직접 호출하고, refresh token은 암호화해 DB에 저장한다. 동의 화면에서 권한을 빼고 허용한 경우를 잡아내는 방법, 보고서 API 호출 방식, 도메인별 수익과 캐시까지 정리했다.

세로 게임을 브라우저에 — Unity WebGL 템플릿, 회색 로딩 화면, 해시 파일명 캐시

세로 1080x1920 모바일 게임을 Unity WebGL로 브라우저에 올리며 손본 것들. PC에서는 창 높이에 맞춘 세로 캔버스, 폰에서는 전체 화면으로 나누는 템플릿, 로딩 중 캔버스가 회색 상자로 보인 원인, 해시 파일명으로 나눈 캐시 정책, 첫 배치 빌드 실패를 다시 돌려 넘긴 방법까지 정리하며 연재를 마친다.

매일 다시 켜게 만드는 장치 — 날짜 시드 데일리 미션과 스킨 상점, JSON 하나로 저장

서버 없이 날짜를 시드로 오늘의 미션을 뽑고, 모은 별로 바 스킨을 사게 했다. 미션 종류별 진행도 규칙, 스킨 8종의 가격과 스타일, 이어하기를 해도 별이 두 번 들어오지 않게 한 결과 반영, 스킨이 늘어도 깨지지 않는 PlayerPrefs + JsonUtility 저장까지 정리했다.

20초마다 색이 바뀌고 빨라진다 — 난이도 곡선과 페이즈 팔레트

「네온 다이브」는 시간이 갈수록 빨라지다가 어느 순간부터 페이즈 단위로 계단처럼 오른다. 속도 공식 하나에 상한을 걸어 만든 난이도 곡선, 속도에 맞춰 줄어드는 스폰 간격, 2페이즈부터 나오는 좁은 틈 벽, 페이즈마다 바뀌는 배경·블록 색을 숫자와 코드로 정리했다.

단축키 바꾸기, 다크 테마, 영어 화면, 다른 PC로 옮기기 — Cliply 설정과 백업

Cliply 설정 창의 항목(단축키, 자동 실행, 복사됨 표시, 언어, 테마, 글꼴)과 다크 테마·영어 화면을 화면으로 보고, JSON 내보내기·가져오기로 백업하고 다른 PC로 옮기는 방법, 데이터 위치, 새 버전 교체와 제거까지 정리하며 사용 가이드 연재를 마친다.