J4

개발환경 명세서

Architecture Docs

시스템 아키텍처 · 보안 수칙 · 배포 파이프라인

웹개발 & 웹보안 최고 전문가 멘토링 표준 · vv0.36 기준

JJH4 고성능 웹 & 보안 통합 개발환경

본 문서는 JJH4 프로젝트의 시스템 런타임, 데이터베이스 보안, 단일 .env 관리, 3-Way 자동 배포 파이프라인(SFTP 포트 2222 + Git REST API v2.2), 스마트 버전 복구(롤백) 메커니즘을 포괄적으로 정의하고 실시간으로 진단합니다.

PHP Runtime Active FPM
PHP 8.5.4

Strict Types & 고성능 FPM 연동

Database ● Connected
MariaDB 11.8

MariaDB 11.8 (UTF8MB4) 정상 연결됨

SFTP Port Secure Port
포트 2222 (public_html)

ctrlcv.kr · juhyun

Git REST API v2.2 KST
Asia/Seoul (+0900)

repo.git 자동 동기화

⚙️ 백엔드 및 런타임 환경
  • PHP Runtime: PHP 8.5 (FPM) 모던 문법, declare(strict_types=1); 표준 적용
  • Framework: Laravel 12 / 11 구조 기반 서비스 확장성 보장
  • Web Root: public_html (호스팅 실서비스 디렉터리)
  • 대표 도메인: https://juhyun.ctrlcv.kr
  • 서브 도메인: https://juhyun.ctrlcv.kr
🎨 프론트엔드 및 디자인 시스템
  • Framework: Vue.js 3 Composition / Options API 기반 반응형 아키텍처
  • Styling: Tailwind CSS & 모던 Vanilla CSS 튜닝
  • Design Standards: taste-skill & ui-ux-pro-max-skill 가이드라인 100% 준수 (AI Slop 배제, 60-30-10 컬러 룰, 1px 정밀 보더)
  • Typography: Pretendard, Plus Jakarta Sans, Outfit, JetBrains Mono
🛡️ 보안 수칙 및 환경변수 단일 관리 원칙

1. Prepared Statements 필수화

모든 SQL 쿼리는 PDO Parameter Binding(또는 Eloquent/Query Builder)을 사용하여 SQL Injection 취약점을 사전에 완벽 차단합니다. 문자열 단순 연결 쿼리는 엄격히 금지됩니다.

2. 단일 루트 .env 관리 원칙

모든 API Key, DB 비밀번호, SFTP 비밀번호는 프로젝트 루트의 단일 .env 파일에서만 관리하며, 코드 내 하드코딩을 절대 금지합니다.

3. 배포 및 형상관리 제외 항목

SFTP 배포 및 Git 커밋 시 .env, .git, .vscode, .agents, vendor, node_modules 등 민감 파일 및 로컬 캐시는 완전 제외됩니다.

4. 에러 메시지 마스킹

프로덕션 환경에서 DB 에러 세부 정보(테이블 구조, 원시 쿼리문 등)가 브라우저에 직접 노출되지 않도록 표준 응답으로 마스킹 처리합니다.

🚀 원클릭 3-Way 통합 배포 파이프라인 (deploy.py)
python deploy.py "메시지"
Step 1

버전 자동 카운트업

.env 및 version.json 버전 +0.1 자동 증가 (예: v0.9 → v0.10)

Step 2

로컬 Git 커밋

로컬 형상관리 저장소에 배포 버전 태그와 함께 자동 커밋

Step 3

SFTP 보안 업로드

보안 포트 2222를 통해 public_html 디렉터리로 민감파일 제외 안전 전송

Step 4

서버 Git REST API

ctrlcv.kr Git API(v2.2) 호출하여 repo.git에 KST 시각으로 정규 커밋 생성

# 기본 사용법: 일반 기능 업데이트 배포 (소수점 자동 증가)

python deploy.py "메인 화면 UI 개선 및 보안 패치"

# 메이저 버전 직접 지정 배포 (예: 정식 1.0 릴리즈)

python deploy.py "정식 1.0 릴리즈 출시" 1.0

🔄 버전 관리 & 스마트 복구(롤백) 메커니즘

1. 공식 릴리즈 자동 분류 & 숨김 정책

배포 v0.0 형식으로 생성된 정규 릴리즈는 모든 사용자에게 기본 노출되며, 롤백 전 자동 백업 커밋은 일반 사용자에게 숨김 처리되어 관리자 인증 시에만 열람/토글할 수 있습니다.

2. 영구 아카이브 (history_archive.json)

서버 Git REST API의 20개 커밋 조회 한계를 극복하기 위해, 누적 아카이브 병합(Smart Merging) 기술을 적용하여 초기 버전(v0.1, v0.2, v0.3 등)이 영구적으로 보존됩니다.

3. 실시간 웹사이트 뷰어 & 듀얼 탭

버전 목록에서 [미리보기] 버튼 클릭 시, 실제 웹사이트 화면과 코드 변경 내역(Diff)을 듀얼 탭으로 확인하고 데스크톱/태블릿/모바일 해상도 시뮬레이션을 즉시 실행할 수 있습니다.

4. 복구 버전 추적 & 전용 배지

과거 시점으로 복구(롤백) 실행 시 어떤 버전으로 복구되었는지를 자동으로 추적하여 타임라인에 [ 🔄 복구 (v0.8) ] 전용 배지로 명확하게 기록합니다.