feat: [academy] .env 관리 정책 교육 페이지 추가
- 7개 섹션 교육 콘텐츠 (열쇠 고리 비유, 프로젝트별 구조, Docker Override, 동기화 필수 변수, 로컬/서버 비교, 변경 후 할 일, 주의사항) - SVG 이미지 9종 (에메랄드 다크 테마) - 용어 사전 15개 (env-management 도메인) - 실제 .env.example, docker-compose.yml, production-env-sync.md 기반 콘텐츠
This commit is contained in:
@@ -70,4 +70,13 @@ public function backendDev(Request $request): View|Response
|
||||
|
||||
return view('academy.backend-dev');
|
||||
}
|
||||
|
||||
public function envManagement(Request $request): View|Response
|
||||
{
|
||||
if ($request->header('HX-Request')) {
|
||||
return response('', 200)->header('HX-Redirect', route('academy.env-management'));
|
||||
}
|
||||
|
||||
return view('academy.env-management');
|
||||
}
|
||||
}
|
||||
|
||||
1009
resources/views/academy/env-management.blade.php
Normal file
1009
resources/views/academy/env-management.blade.php
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
{{--
|
||||
Academy Glossary Tooltip Component
|
||||
@include('components.academy-glossary', ['domain' => 'fire-shutter'])
|
||||
도메인: fire-shutter | it-planning | server-knowledge | frontend-dev | docker-environment | backend-dev | web-basics
|
||||
도메인: fire-shutter | it-planning | server-knowledge | frontend-dev | docker-environment | backend-dev | web-basics | env-management
|
||||
--}}
|
||||
|
||||
@push('styles')
|
||||
@@ -317,6 +317,24 @@
|
||||
"sudo": "일반 사용자가 관리자(root) 권한으로 명령을 실행할 수 있게 하는 명령어.",
|
||||
"systemctl": "systemd 서비스를 시작·중지·재시작·상태확인하는 관리 명령어."
|
||||
};
|
||||
@elseif($domain === 'env-management')
|
||||
window.__GLOSSARY_DATA['env-management'] = {
|
||||
".env": "환경 변수를 저장하는 설정 파일. DB 접속 정보, API 키 등 환경마다 달라지는 값을 관리한다.",
|
||||
".env.example": ".env의 양식 파일. 어떤 변수가 필요한지 보여주지만 실제 비밀 값은 비어 있다. Git에 포함된다.",
|
||||
"환경 변수": "운영체제나 앱에 전달되는 설정값. 코드 변경 없이 동작을 바꿀 수 있다.",
|
||||
"config:clear": "Laravel이 캐시한 설정을 초기화하는 Artisan 명령. .env 변경 후 반드시 실행해야 한다.",
|
||||
"Override": "상위 설정이 하위 설정을 덮어쓰는 것. Docker environment가 .env보다 우선 적용된다.",
|
||||
"HMAC": "Hash-based Message Authentication Code. 비밀 키를 이용한 메시지 무결성 검증 방식.",
|
||||
"INTERNAL_EXCHANGE_SECRET": "MNG와 API 서버 간 HTTP 통신 시 HMAC 인증에 사용하는 공유 비밀 키.",
|
||||
"APP_KEY": "Laravel 앱의 암호화 키. 세션, 쿠키, 비밀번호 재설정 토큰 등의 암호화에 사용된다.",
|
||||
"APP_DEBUG": "Laravel 디버그 모드 설정. true이면 에러 시 상세 정보가 표시된다. 운영에서는 반드시 false.",
|
||||
"Sanctum": "Laravel 공식 API 인증 패키지. SPA와 모바일 앱을 위한 토큰 발급·인증을 처리한다.",
|
||||
"서비스 계정": "Google Cloud에서 앱이 API에 접근할 때 사용하는 인증 계정. JSON 키 파일로 관리한다.",
|
||||
"docker-compose": "여러 Docker 컨테이너를 하나의 YAML 파일로 정의하고 함께 실행하는 도구.",
|
||||
"바인드 마운트": "호스트의 특정 경로를 컨테이너에 직접 연결하는 방식. 소스 코드 실시간 동기화에 사용한다.",
|
||||
"FCM": "Firebase Cloud Messaging. Google의 무료 푸시 알림 서비스.",
|
||||
"GCS": "Google Cloud Storage. Google의 클라우드 파일 저장소 서비스."
|
||||
};
|
||||
@endif
|
||||
</script>
|
||||
<script src="{{ asset('js/academy-glossary.js') }}" defer></script>
|
||||
|
||||
@@ -1468,6 +1468,7 @@
|
||||
Route::get('/docker-environment', [\App\Http\Controllers\AcademyController::class, 'dockerEnvironment'])->name('docker-environment');
|
||||
Route::get('/web-basics', [\App\Http\Controllers\AcademyController::class, 'webBasics'])->name('web-basics');
|
||||
Route::get('/backend-dev', [\App\Http\Controllers\AcademyController::class, 'backendDev'])->name('backend-dev');
|
||||
Route::get('/env-management', [\App\Http\Controllers\AcademyController::class, 'envManagement'])->name('env-management');
|
||||
});
|
||||
|
||||
// SAM E-Sign - 인증 필요
|
||||
|
||||
Reference in New Issue
Block a user