BeamNG.Earth
BeamNG.drive용 1:1 비율 실시간 지구, 실제 고도·위성 이미지·부동 원점·보조 서버에서 LOD 스트리밍
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기자신과 동실력인 AI나 더 높은 급수의 AI와 자유로이 장기 대국과 기보 분석을 할 수 있는 웹 앱
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
급수를 골라 AI와 한 판 두고, 끝난 판을 한 수씩 되짚으며 복기를 받는 장기 준비물 설치 응답 헤더 사용법 로드맵 기여 라이선스 연락처 감사의 말 브라우저에서 장기 AI와 두고 복기하는 웹 앱이다. 엔진은 Fairy-Stockfish 에 장기 전용 NNUE 신경망을 얹은 것이고, WebAssembly 로 브라우저 안에서 돈다. 서버가 없어서 둔 판과 설정은 그 브라우저에만 남는다. • 대국 - 18급부터 9단까지 27단계 가운데 상대를 고른다. 상차림 넷, 규칙 셋(표준 · 현대 · 전통), 시계(5분 + 초읽기 30초 3회, 또는 없음). • 기보 - 끝난 판이 목록에 저절로 남는다(최근 100판). 다시 열어 한 수씩 되짚고, 파일로 저장하거나 불러온다. • 복기 - AI가 기보를 처음부터 끝까지 다시 보고, 수마다 등급과 승률 변화, 자기라면 둔 수를 알려 준다. 급수는 장기 급수의 이름을 빌린 이 앱 안의 눈금이다. 공인 급수가 아니다. • Node.js 20.19 이상 또는 22.12 이상 (Vite 8 이 요구한다) • npm 1. 저장소를 받는다. 2. 패키지를 설치한다.README 전문 보기 ↗
브라우저에서 장기 AI 와 대국하고, 끝난 판을 수마다 분석하는 웹 앱입니다. AI 엔진은 WebAssembly 로 브라우저 안에서 실행하며, 로그인한 사용자는 백엔드를 통해 기보를 서버에 저장할 수 있습니다. 운영 중입니다.
서비스 janggi-ai.vercel.app · 백엔드 저장소 janggi-backend
| 기능 | 하는 일 |
|---|---|
| 대국 | 18급부터 9단까지 27단계 중 상대를 고릅니다. 상차림 4가지, 규칙 3가지(표준 · 현대 · 전통), 시계(5분 + 초읽기 30초 3회)를 고를 수 있습니다 |
| 기보 | 끝난 판이 목록에 남습니다(최근 100판). 다시 열어 한 수씩 되짚고, 파일로 저장하거나 불러옵니다 |
| 복기 | AI 가 판 전체를 다시 분석해 수마다 등급, 승률 변화, AI 가 고른 수를 보여 주고, 한 판의 정확도를 숫자 하나로 알려 줍니다 |
| 로그인 | 구글로 로그인하면 기보가 서버에도 저장되어 다른 기기에서 볼 수 있습니다 |
급수는 장기 급수의 이름을 빌린 이 앱 안의 단계입니다. 공인 급수가 아닙니다.
사용자 브라우저 React 화면 · WebAssembly AI 엔진
│
▼
Vercel 정적 파일 배포 · /api 요청 전달
│
▼
Cloud Run Spring Boot API (janggi-backend)
│
▼
Neon PostgreSQL 이벤트 · 계정 · 기보
SharedArrayBuffer 가
필요하고, 브라우저는 응답 헤더 두 개(Cross-Origin-Opener-Policy,
Cross-Origin-Embedder-Policy)가 있어야 이를 허용합니다. 이 헤더를
vite.config.ts 와 vercel.json 에 넣었습니다.connect-src 'self' 로 브라우저가 이 사이트 주소로만
요청하게 막았습니다. 백엔드는 Vercel 이 /api 아래로 전달해 같은 출처로 부릅니다.janggi-frontend/
├── src/
│ ├── janggi/ 장기 규칙 · 기보 · 복기 · 시계 (화면과 엔진을 모름)
│ ├── engine/ Fairy-Stockfish 실행 · 급수 표
│ ├── hooks/ 규칙과 화면을 잇는 상태
│ ├── components/ 화면 (board · play · games · layout · common)
│ ├── server/ 백엔드 호출 (로그인 · 기보 올리기)
│ ├── report/ 오류 · 제보 · 측정
│ └── updates/ 업데이트 내역과 버전
├── public/ 개인정보처리방침 · 소개 쪽 · 받은 엔진 파일
├── scripts/ 엔진과 신경망 받기 · 엔진 점검
└── docs/images/ README 스크린샷
Node.js 20.19 이상 또는 22.12 이상이 필요합니다(Vite 8 의 요구 사항).
git clone https://github.com/nakyung123/janggi-frontend.git
cd janggi-frontend
npm install
npm run dev # http://localhost:5173
처음 실행할 때 엔진과 신경망을 public/engine/ 에 받습니다. 용량이 커서 저장소에는 넣지
않았습니다. 신경망 받기가 실패하면 https://fairy-stockfish.github.io/nnue/ 에서
janggi-9991472750de.nnue 를 받아 public/engine/ 에 넣습니다. 파일 이름은 바꾸지 않습니다.
npm test # 테스트 (Vitest)
npm run build # 프로덕션 빌드
npm run preview # 빌드 결과를 응답 헤더까지 갖춰서 확인
npm run verify-engine # 브라우저 없이 엔진만 점검
파일을 직접 열거나(file://) 응답 헤더를 지정할 수 없는 곳(GitHub Pages)에 올리면 엔진이
시작되지 않습니다. 개발 서버와 미리보기는 /api 요청을 localhost:8080 으로 넘깁니다.
백엔드를 띄우지 않아도 대국과 복기는 되고, 로그인과 기보 저장만 실패합니다.
| 문서 | 담은 것 |
|---|---|
DESIGN.md | 화면 · 색 · 컴포넌트 규칙 |
NOTICE.md | 제3자 저작물과 라이선스 |
| 개인정보처리방침 | 수집하는 정보, 보관 기간, 지우는 방법 |
| janggi-backend | 백엔드 저장소 |
| 이슈 | 버그 제보와 기능 제안 |
GPL v3 이상. 전문은 LICENSE 에 있습니다.
src/janggi/glyphs.ts 의 기물 글자는 위키미디어 공용 그림의 2차적 저작물이라
CC BY-SA 3.0 을 따릅니다. 엔진 · 신경망 · 글꼴 · 아이콘의 출처와 라이선스는
NOTICE.md 에 있습니다.