feat: [academy] Docker 환경이해 교육 페이지 추가
- AcademyController에 dockerEnvironment() 메서드 추가 - academy 라우트 그룹에 docker-environment 라우트 추가 - 6개 섹션 Blade 뷰 작성 (Docker 소개, 아키텍처, 서비스 상세, 볼륨, .env, 명령어) - academy-glossary에 docker-environment 도메인 용어 25개 추가
This commit is contained in:
@@ -43,4 +43,13 @@ public function frontendDev(Request $request): View|Response
|
||||
|
||||
return view('academy.frontend-dev');
|
||||
}
|
||||
|
||||
public function dockerEnvironment(Request $request): View|Response
|
||||
{
|
||||
if ($request->header('HX-Request')) {
|
||||
return response('', 200)->header('HX-Redirect', route('academy.docker-environment'));
|
||||
}
|
||||
|
||||
return view('academy.docker-environment');
|
||||
}
|
||||
}
|
||||
|
||||
1143
resources/views/academy/docker-environment.blade.php
Normal file
1143
resources/views/academy/docker-environment.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
|
||||
도메인: fire-shutter | it-planning | server-knowledge | frontend-dev | docker-environment
|
||||
--}}
|
||||
|
||||
@push('styles')
|
||||
@@ -198,6 +198,34 @@
|
||||
"Promise": "비동기 작업의 완료 또는 실패를 나타내는 객체. then/catch로 결과를 처리한다.",
|
||||
"가상 DOM": "실제 DOM의 가벼운 복사본. React가 변경 사항을 비교하여 최소한의 실제 DOM만 업데이트한다."
|
||||
};
|
||||
@elseif($domain === 'docker-environment')
|
||||
window.__GLOSSARY_DATA['docker-environment'] = {
|
||||
"Docker": "애플리케이션을 컨테이너로 패키징하여 어디서나 동일하게 실행할 수 있게 하는 플랫폼.",
|
||||
"컨테이너": "앱과 실행 환경을 격리하여 패키징한 가상화 단위. VM보다 가볍고 빠르다.",
|
||||
"이미지": "컨테이너를 만들기 위한 읽기 전용 템플릿. Dockerfile로 정의하며 레이어 구조로 되어 있다.",
|
||||
"Docker Compose": "여러 컨테이너를 하나의 YAML 파일로 정의하고 함께 실행하는 도구.",
|
||||
"Dockerfile": "Docker 이미지를 빌드하기 위한 명령어 모음 파일. FROM, RUN, COPY 등의 명령으로 구성된다.",
|
||||
"볼륨": "컨테이너 데이터를 영구적으로 저장하는 Docker 관리 저장소. 컨테이너 삭제 후에도 데이터가 유지된다.",
|
||||
"바인드 마운트": "호스트의 특정 경로를 컨테이너에 직접 연결하는 방식. 소스 코드 실시간 동기화에 사용한다.",
|
||||
"브리지 네트워크": "같은 Docker 네트워크에 속한 컨테이너끼리 이름으로 통신할 수 있게 하는 기본 네트워크 드라이버.",
|
||||
"Supervisor": "여러 프로세스를 동시에 관리·감시하는 도구. 프로세스 비정상 종료 시 자동 재시작한다.",
|
||||
"PHP-FPM": "PHP FastCGI Process Manager. PHP 스크립트를 처리하는 프로세스 관리자.",
|
||||
"Nginx": "고성능 웹 서버. 리버스 프록시로 도메인별 요청을 적절한 서비스로 라우팅한다.",
|
||||
"리버스 프록시": "클라이언트 요청을 받아 내부 서비스로 전달하는 중간 서버. Nginx가 대표적이다.",
|
||||
".env": "환경 변수를 저장하는 설정 파일. DB 접속 정보, API 키 등 환경마다 달라지는 값을 관리한다.",
|
||||
"환경 변수": "운영체제나 앱에 전달되는 설정값. 코드 변경 없이 동작을 바꿀 수 있다.",
|
||||
"Queue Worker": "백그라운드에서 비동기 작업(메일 발송, 파일 처리 등)을 순차적으로 처리하는 프로세스.",
|
||||
"Scheduler": "정해진 시간에 자동으로 명령을 실행하는 Laravel의 크론 작업 관리자.",
|
||||
"마이그레이션": "데이터베이스 테이블 구조를 코드로 관리하고 버전별로 적용·롤백하는 Laravel 기능.",
|
||||
"OOM": "Out of Memory. 메모리 부족으로 프로세스가 강제 종료되는 현상.",
|
||||
"포트": "네트워크 통신에서 서비스를 구분하는 번호. HTTP는 80, MySQL은 3306을 사용한다.",
|
||||
"config:clear": "Laravel이 캐시한 설정을 초기화하는 명령. .env 변경 후 반드시 실행해야 한다.",
|
||||
"docker exec": "실행 중인 컨테이너 안에서 명령을 실행하는 Docker 명령어.",
|
||||
"WSL": "Windows Subsystem for Linux. Windows에서 리눅스 환경을 실행하는 호환 계층.",
|
||||
"samnet": "SAM 프로젝트의 Docker 브리지 네트워크. 모든 컨테이너가 이 네트워크로 통신한다.",
|
||||
"Next.js": "React 기반의 풀스택 프레임워크. 서버 사이드 렌더링(SSR)을 지원한다.",
|
||||
"SSR": "Server-Side Rendering. 서버에서 HTML을 생성하여 브라우저에 전달하는 방식."
|
||||
};
|
||||
@elseif($domain === 'server-knowledge')
|
||||
window.__GLOSSARY_DATA['server-knowledge'] = {
|
||||
"Nginx": "고성능 웹 서버 소프트웨어. 리버스 프록시, 로드 밸런싱 등을 처리한다.",
|
||||
|
||||
@@ -1465,6 +1465,7 @@
|
||||
Route::get('/it-planning', [\App\Http\Controllers\AcademyController::class, 'itPlanning'])->name('it-planning');
|
||||
Route::get('/server-knowledge', [\App\Http\Controllers\AcademyController::class, 'serverKnowledge'])->name('server-knowledge');
|
||||
Route::get('/frontend-dev', [\App\Http\Controllers\AcademyController::class, 'frontendDev'])->name('frontend-dev');
|
||||
Route::get('/docker-environment', [\App\Http\Controllers\AcademyController::class, 'dockerEnvironment'])->name('docker-environment');
|
||||
});
|
||||
|
||||
// SAM E-Sign - 인증 필요
|
||||
|
||||
Reference in New Issue
Block a user