WallpaperMachine
당신이 사랑하는 배경화면, 맥에서 새롭게 만나보세요
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기인천공항 주차·출국장 실시간 현황 — 인천국제공항공사 공공데이터 기반 모바일 웹앱
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
전국 공항의 항공편 운항 정보와 인천국제공항의 주차 · 출국장 실시간 현황을 한 화면에서 보여 주는 모바일 웹앱. 공항에서 캐리어 끌면서 폰으로 3초에 판단하도록 만들었습니다. • 전국 공항 도착·출발 항공편을 공항별로 한눈에 (한국공항공사 전국 운항현황) • 인천은 여기에 더해 자리 많은 주차장 / 대기 짧은 출국장을 터미널(T1·T2)별로 • 모든 값에 관측 시각을 함께 표시 — 언제 받은 데이터인지 숨기지 않습니다 • 미운영을 미운영으로 표시 — 자리 0개·대기 0분·상태 미정을 단언하지 않습니다 데이터: 공공데이터포털 — 한국공항공사 전국 운항정보(B551178), 인천국제공항공사 주차 현황·출국장 혼잡도·항공편 상세(B551177). 이 앱이 특히 조심하는 두 가지 함정이 있습니다. 둘 다 값이 0으로 오지만 뜻이 다릅니다. 시각 필드(datetm, occurtime)는 타임존 표기가 없는 KST 벽시계 값이라, KST → UTC 인스턴트로 한 번에 확정한 뒤 표시할 때만 다시 KST 로 포맷합니다(lib/time.ts). 서버(UTC)·브라우저(로컬)에서 9시간 어긋나는 사고를 원천 차단합니다.README 전문 보기 ↗
전국 공항의 항공편 운항 정보와 인천국제공항의 주차 · 출국장 실시간 현황을 한 화면에서 보여 주는 모바일 웹앱. 공항에서 캐리어 끌면서 폰으로 3초에 판단하도록 만들었습니다.
데이터: 공공데이터포털 — 한국공항공사 전국 운항정보(B551178), 인천국제공항공사 주차 현황·출국장 혼잡도·항공편 상세(B551177).
이 앱이 특히 조심하는 두 가지 함정이 있습니다. 둘 다 값이 0으로 오지만 뜻이 다릅니다.
| 필드 | 0 의 진짜 의미 | 이 앱의 처리 |
|---|---|---|
주차 parkingarea(총면수) | 자리 0개가 아니라 미운영 | 잔여를 계산하지 않고 ‘미운영’으로 표시 |
출국장 waitTime(대기분) | 대기 0분일 수도, 닫힌 게이트일 수도 | 운영시간 안이 확실할 때만 ‘원활’, 아니면 ‘정보 없음’ |
시각 필드(datetm, occurtime)는 타임존 표기가 없는 KST 벽시계 값이라, KST → UTC 인스턴트로
한 번에 확정한 뒤 표시할 때만 다시 KST 로 포맷합니다(lib/time.ts). 서버(UTC)·브라우저(로컬)에서
9시간 어긋나는 사고를 원천 차단합니다.
Next.js 16 (App Router) · TypeScript · Tailwind v4 · shadcn/ui(base-ui) · Vercel(icn1, ISR 120초)
npm install
cp .env.example .env.local # DATA_GO_KR_KEY 를 채운다
npm run dev
npm test # 결측/미운영/시간대 로직 단위 테스트
data.go.kr 에서 인천국제공항공사 서비스(주차 · 출국장 혼잡도)에 활용신청 후 발급되는
‘일반 인증키(Encoding)’를 DATA_GO_KR_KEY 에 넣습니다. 이미 %-인코딩된 문자열이라
절대 재인코딩하면 안 됩니다 — 재인코딩하면 SERVICE_KEY_IS_NOT_REGISTERED_ERROR 가 납니다.
그래서 쿼리스트링을 문자열로 직접 조립합니다(lib/incheon-api.ts).