2610361 5e6df0fa44 Coolify 배포용 포트 정렬 (8080 → 3000) — Bad Gateway 수정
Coolify 리버스 프록시는 컨테이너 3000 포트로 라우팅하는데(sample 프로젝트와
동일, MANUAL의 'Port: 3000'), 앱이 8080에서 떠서 프록시가 대상에 닿지 못해
502 Bad Gateway가 발생했다. sample을 참고해 3000으로 정렬한다.

- main.py: 포트를 PORT 환경변수(기본 3000)에서 읽도록 변경. host는 0.0.0.0 유지.
- Dockerfile: ENV PORT=3000 / EXPOSE 3000, 주석을 Kubero→Coolify 로 갱신.
- CLAUDE.md: 배포 규격을 Coolify(포트 3000, PORT 환경변수)로 갱신.
2026-06-16 18:04:17 +09:00
2026-06-16 07:55:19 +00:00

랜덤 미로 생성 & 다익스트라 탐색 시각화

가로 200칸 × 세로 100칸의 랜덤 미로를 생성하고, 입구(좌상단)에서 출구(우하단)까지의 최단 경로를 다익스트라 알고리즘으로 찾아 시각적으로 보여주는 웹앱입니다.

Flask가 단일 HTML 페이지를 서빙하고, 미로 생성·탐색·렌더링은 모두 브라우저의 <canvas> 위에서 JavaScript로 동작합니다 (20,000칸을 부드럽게 애니메이션하기 위함).

기능

  • 즉시 생성: 화면에 진입하면 미로가 바로 생성되며, 생성 과정(randomized DFS로 통로를 파나가는 과정)을 단계적으로 빠르게 애니메이션으로 보여줍니다.
  • 입구 / 출구: 좌상단이 입구(초록), 우하단이 출구(빨강)입니다.
  • 속도 조절 바: 미로와 버튼 사이의 가로 슬라이더로 애니메이션 속도를 조절합니다. 진행 중에도 즉시 반영됩니다.
  • 미로 재생성 버튼: 새로운 랜덤 미로를 다시 생성합니다.
  • 미로 탐색 버튼: 다익스트라 알고리즘으로 입구→출구를 탐색합니다. 탐색 영역이 파란색으로 확장되는 과정을 애니메이션으로 보여준 뒤, 최단 경로를 노란색으로 그립니다.

알고리즘

  • 생성: randomized DFS(깊이 우선 탐색 기반 백트래킹)로 모든 칸을 연결하는 하나의 완전한 미로(spanning tree)를 만듭니다.
  • 탐색: 모든 통로의 가중치가 1인 다익스트라 알고리즘으로 입구 칸에서 출구 칸까지의 최단 경로를 찾습니다.
Description
Languages
Python 93.8%
Dockerfile 6.2%