diff --git a/app/Http/Controllers/AcademyController.php b/app/Http/Controllers/AcademyController.php index 7c12ba6c..413c0aef 100644 --- a/app/Http/Controllers/AcademyController.php +++ b/app/Http/Controllers/AcademyController.php @@ -52,4 +52,22 @@ public function dockerEnvironment(Request $request): View|Response return view('academy.docker-environment'); } + + public function webBasics(Request $request): View|Response + { + if ($request->header('HX-Request')) { + return response('', 200)->header('HX-Redirect', route('academy.web-basics')); + } + + return view('academy.web-basics'); + } + + public function backendDev(Request $request): View|Response + { + if ($request->header('HX-Request')) { + return response('', 200)->header('HX-Redirect', route('academy.backend-dev')); + } + + return view('academy.backend-dev'); + } } diff --git a/docs/academy/web-basics-image-prompts.md b/docs/academy/web-basics-image-prompts.md new file mode 100644 index 00000000..755e7ae5 --- /dev/null +++ b/docs/academy/web-basics-image-prompts.md @@ -0,0 +1,90 @@ +# 웹 기초지식 백과사전 — 이미지 생성 프롬프트 + +> **작성일**: 2026-02-23 +> **대상 페이지**: `/academy/web-basics` +> **이미지 저장 경로**: `mng/public/images/academy/web-basics/` +> **형식**: SVG (벡터 일러스트) +> **테마 색상**: 퍼플 계열 (#7c3aed, #a78bfa, #4c1d95, #ede9fe) + +--- + +## 이미지 목록 + +### 1. 히어로 이미지 (1.svg) +- **섹션**: 히어로 배너 +- **내용**: 노트북과 스마트폰에서 웹을 탐색하는 사람 일러스트 +- **스타일**: 다크 퍼플 그라데이션 배경, 미니멀 플랫 일러스트 +- **프롬프트**: Flat vector illustration of a person browsing the web on a laptop and smartphone, dark purple gradient background (#2d1b69 to #0f172a), floating web icons (www, @, SSL, code), minimal clean style, purple accent colors + +### 2. 인터넷 지구본 (2.svg) +- **섹션**: 1-1. 인터넷의 정의 +- **내용**: 전 세계 컴퓨터가 선으로 연결된 지구본 다이어그램 +- **프롬프트**: Network diagram showing a globe with computers and smartphones connected by lines, representing the internet as "roads connecting the world", purple theme, light background + +### 3. URL 해부도 (3.svg) +- **섹션**: 1-3. URL이란 +- **내용**: https://sam.jooil.co.kr/orders URL을 프로토콜/도메인/경로로 분해 +- **프롬프트**: URL anatomy diagram breaking down https://sam.jooil.co.kr/orders into protocol, domain, and path segments with Korean labels, purple color coding + +### 4. HTTP 요청/응답 흐름 (4.svg) +- **섹션**: 2-2. HTTP란 무엇인가 +- **내용**: 주문서 비유를 활용한 HTTP 요청(주문)과 응답(음식) 흐름도 +- **프롬프트**: HTTP request/response flow diagram with restaurant analogy - customer (browser) sends order (request) to restaurant (server), receives food (response), purple theme + +### 5. 에러 코드 인포그래픽 (5.svg) +- **섹션**: 2-4. 자주 보는 에러 코드 +- **내용**: 404/500/502/403 에러를 카드 형태로 시각화 +- **프롬프트**: Error code infographic cards: 404 (wrong address/empty lot), 500 (kitchen fire), 502 (chef went home), 403 (no entry), each with icon and Korean description, colorful card layout + +### 6. 설치형 vs 클라우드 비교 (6.svg) +- **섹션**: 3-1. 클라우드란 +- **내용**: 내 컴퓨터(설치형) vs 공유 오피스(클라우드) 비교 다이어그램 +- **프롬프트**: Side-by-side comparison diagram: installed software (single PC with disadvantages) vs cloud (shared cloud with advantages), purple theme, Korean labels + +### 7. SaaS 구독 모델 (7.svg) +- **섹션**: 3-2. SaaS란 무엇인가 +- **내용**: 넷플릭스 비유를 활용한 SaaS 개념 설명 +- **프롬프트**: SaaS subscription model comparison: Netflix (video subscription) equals SAM (business management subscription), showing similar benefits, purple theme + +### 8. 로그인/인증 흐름도 (8.svg) +- **섹션**: 4-1. 로그인과 인증 +- **내용**: 사원증 비유를 활용한 4단계 로그인 흐름 +- **프롬프트**: Login authentication flow in 4 steps: present ID card (enter credentials) → verify identity (server check) → issue pass (create session) → free access (use system), employee badge analogy, purple theme + +### 9. ERP 전체 구조도 (9.svg) +- **섹션**: 5-1. ERP란 +- **내용**: 영업→생산→재고→출하→회계가 중앙 ERP를 중심으로 연결된 구조도 +- **프롬프트**: ERP system structure: central SAM/ERP hub connected to Sales, Production, Inventory, Shipping, Accounting, and HR modules in a radial layout, purple theme, Korean module names with icons + +### 10. 데이터베이스 = 엑셀 비유 (10.svg) +- **섹션**: 5-3. 데이터베이스란 +- **내용**: 엑셀 시트와 데이터베이스 테이블 비교 +- **프롬프트**: Database explained as Excel: left side shows an Excel-like table (companies with columns for name, contact, region), right side shows SAM database structure with multiple tables, purple theme + +### 11. API 동작 원리 (11.svg) +- **섹션**: 5-4. API란 +- **내용**: 메뉴판/주문/요리/서빙 4단계 흐름 +- **프롬프트**: API workflow as restaurant: customer (app) views menu (API list with GET/POST/PUT/DELETE), kitchen (server+DB) processes order and serves response, purple theme with REST API color coding + +### 12. SAM 접속 단계 (12.svg) +- **섹션**: 6-1. SAM 접속 방법 +- **내용**: 브라우저 열기→URL 입력→로그인→대시보드 4단계 +- **프롬프트**: SAM access 4 steps: open browser → enter URL → login → dashboard, step-by-step cards with browser/URL/form/dashboard illustrations, purple theme + +--- + +## 공통 스타일 가이드 + +| 항목 | 값 | +|------|------| +| 형식 | SVG (벡터) | +| 메인 컬러 | #7c3aed (purple-600) | +| 보조 컬러 | #a78bfa (purple-400), #4c1d95 (purple-900) | +| 배경 컬러 | #faf5ff (purple-50), #ede9fe (purple-100) | +| 폰트 | sans-serif (한글), monospace (코드) | +| 스타일 | 플랫 미니멀, 둥근 모서리, 부드러운 그라데이션 | +| 해상도 | viewBox 800x350~400 | + +--- + +**최종 업데이트**: 2026-02-23 diff --git a/resources/views/academy/web-basics.blade.php b/resources/views/academy/web-basics.blade.php new file mode 100644 index 00000000..35ba6ece --- /dev/null +++ b/resources/views/academy/web-basics.blade.php @@ -0,0 +1,1222 @@ +@extends('layouts.app') + +@section('title', '웹 기초지식 백과사전') + +@push('styles') + +@endpush + +@section('content') +
인터넷과 웹의 기초 — IT 지식이 없어도 이해할 수 있는 친절한 바이블
++ 인터넷(Internet)이란 전 세계의 컴퓨터들을 하나로 연결하는 거대한 네트워크다. + 집, 회사, 학교, 공장 — 어디에 있든 인터넷에 연결만 되면 다른 컴퓨터와 정보를 주고받을 수 있다. +
+비유: 전 세계를 연결하는 도로망
++ 인터넷은 전 세계를 연결하는 도로망과 같다. + 도로가 있어야 자동차로 이동할 수 있듯, 인터넷이 있어야 데이터를 주고받을 수 있다. + 이메일, 유튜브, SAM — 모두 이 도로망 위에서 달리는 서비스들이다. +
+인터넷 — 전 세계를 연결하는 네트워크
+비유: 도로(인터넷) 위를 달리는 자동차(웹)
++ 인터넷 = 도로이고, 웹(WWW) = 도로 위를 달리는 자동차다. + 도로 위에는 자동차만 달리는 게 아니다 — 버스(이메일), 택배(파일전송), 전화(음성통화)도 달린다. + 웹은 인터넷 위에서 동작하는 여러 서비스 중 하나일 뿐이다. +
+| 구분 | +인터넷 | +웹(WWW) | +
|---|---|---|
| 비유 | +도로 | +도로 위의 자동차 | +
| 정의 | +전 세계를 연결하는 네트워크 | +인터넷 위에서 동작하는 서비스 | +
| 예시 | +이메일, 파일전송, 웹, 스트리밍 등 | +크롬으로 보는 웹사이트들 | +
| 없으면? | +모든 온라인 서비스 불가 | +이메일 등 다른 서비스는 가능 | +
+ URL(Uniform Resource Locator)은 인터넷에서 원하는 페이지를 정확히 찾아가기 위한 주소다. + 브라우저 주소창에 입력하는 바로 그것이다. +
+비유: 건물의 정확한 주소
+
+ 택배를 보낼 때 "서울시 강남구 역삼동 123번지 5층 501호"처럼 정확한 주소가 필요하듯,
+ 웹에서도 https://sam.jooil.co.kr/orders 같은 정확한 주소가 필요하다.
+
URL 해부도 — 프로토콜 + 도메인 + 경로
+https://
+프로토콜
+안전한 배달 방식
(암호화 통신)
sam.jooil.co.kr
+도메인
+건물 이름
(서버 주소)
/orders
+경로
+건물 안의 몇 층 몇 호
(페이지 위치)
비유: 전화번호(IP)와 이름(도메인)
+
+ 모든 컴퓨터에는 전화번호(IP 주소)가 있다 — 예: 114.203.209.83.
+ 하지만 숫자를 외우기 어려우니, 전화번호부에 이름을 등록하듯 sam.jooil.co.kr 이라는 도메인을 사용한다.
+
114.203.209.83
+IP 주소
+숫자로 된 컴퓨터 주소
"전화번호"
sam.jooil.co.kr
+도메인
+사람이 기억하기 쉬운 이름
"전화번호부에 등록된 이름"
+ DNS(Domain Name System)가 도메인을 IP로 변환해준다 — 마치 전화번호부에서 이름으로 번호를 찾는 것처럼.
+ 브라우저에 sam.jooil.co.kr을 입력하면, DNS가 자동으로 114.203.209.83을 찾아 연결해준다.
+
+ 웹 브라우저란 인터넷에서 웹 페이지를 보여주는 프로그램이다. + 우리가 매일 사용하는 Chrome, Edge, Safari가 모두 웹 브라우저다. +
+비유: 인터넷 세상을 보는 창문
++ 집 안에서 바깥 세상을 보려면 창문이 필요하듯, + 인터넷 세상을 보려면 브라우저라는 창문이 필요하다. + 창문의 모양(Chrome, Edge)은 달라도 밖의 풍경(웹사이트)은 같다. +
+🌐
+Chrome
+구글이 만든 브라우저
가장 많이 사용 (60%+)
🪟
+Edge
+마이크로소프트 브라우저
Windows에 기본 설치
🧭
+Safari
+애플 브라우저
iPhone, Mac에 기본 설치
+ HTTP(HyperText Transfer Protocol)는 브라우저와 서버가 대화하는 규칙이다. + "이런 형식으로 요청하면, 이런 형식으로 응답한다"는 약속이다. +
+비유: 주문서 양식
++ 식당에서 주문서(요청)를 쓰면 주방에서 음식(응답)이 나오듯, + 브라우저가 HTTP 형식으로 요청을 보내면 서버가 응답을 돌려준다. +
+HTTP — 주문(요청)과 음식(응답)
+비유: 봉투에 넣어 보내기(암호화) vs 엽서(평문)
+
+ HTTP는 엽서를 보내는 것 — 누구나 내용을 볼 수 있다.
+ HTTPS는 봉투에 넣어 잠그고 보내는 것 — 받는 사람만 열 수 있다.
+
HTTP (엽서)
+HTTPS (봉투 + 자물쇠)
++ 웹사이트에서 에러가 나면 숫자 코드가 표시된다. 이 숫자만 알면 문제를 빠르게 파악할 수 있다. +
+404 / 500 / 502 / 403 — 에러 코드 카드
+| 코드 | +의미 | +비유 | +대처법 | +
|---|---|---|---|
| 404 | +페이지를 찾을 수 없음 | +주소가 틀려서 빈 땅에 도착 | +URL 주소 다시 확인 | +
| 500 | +서버 내부 오류 | +주방에서 화재 발생 | +개발팀에 연락 | +
| 502 | +서비스 중단 | +요리사가 퇴근함 | +잠시 후 재시도, 지속 시 문의 | +
| 403 | +접근 거부 | +출입 금지 구역 | +관리자에게 권한 요청 | +
비유: 내 컴퓨터 vs 공유 오피스
+
+ 설치형은 내 집에서 직접 요리하는 것 — 재료, 도구, 가스레인지를 모두 내가 준비해야 한다.
+ 클라우드는 식당에서 주문하는 것 — 나는 앉아서 주문만 하면 전문 요리사가 만들어 준다.
+
설치형(내 PC) vs 클라우드(공유 서비스)
++ SaaS(Software as a Service)란 소프트웨어를 사서 설치하는 대신, + 인터넷을 통해 구독해서 사용하는 방식이다. + SAM이 바로 SaaS다. +
+비유: 넷플릭스 = 영상 SaaS, SAM = 업무 SaaS
++ 넷플릭스에 매달 구독료를 내고 영화를 보듯, + SAM에 매달 이용료를 내고 업무 관리 시스템을 사용한다. + DVD를 사서 설치하는 시대는 끝났다! +
+SaaS = 소프트웨어 구독 서비스
+✓ 설치 불필요
+브라우저만 있으면 된다. CD나 USB로 설치할 필요 없음.
+✓ 자동 업데이트
+새 기능이 자동으로 추가된다. 업데이트 파일 다운로드 불필요.
+✓ 어디서든 접속
+사무실, 현장, 집 — 인터넷만 되면 어디서든 업무 가능.
+✓ 데이터 안전
+전문 서버에서 자동 백업. 내 PC가 고장나도 데이터는 안전.
+비유: 월세(구독) vs 매매(라이선스)
+
+ 라이선스는 집을 사는 것 — 큰 돈이 한번에 필요하고, 수리도 직접 해야 한다.
+ 구독은 집을 월세로 사는 것 — 매달 작은 금액을 내고, 관리는 집주인(업체)이 해준다.
+
| 항목 | +라이선스 (매매) | +구독 (월세) = SAM | +
|---|---|---|
| 비용 | +수천만 원 일시불 | +매달 소액 결제 | +
| 업데이트 | +추가 비용 발생 | +자동 무료 업데이트 | +
| 유지보수 | +내가 직접 관리 | +업체가 관리 | +
| 접속 | +설치된 PC에서만 | +어디서든 가능 | +
비유: 사원증으로 출입하기
++ 회사에 출근하면 사원증을 찍고 들어가듯, + SAM에 접속하면 아이디와 비밀번호로 "나"를 증명해야 한다. + 사원증이 없으면 건물에 못 들어가고, 로그인이 안 되면 시스템을 쓸 수 없다. +
+로그인 4단계 — 사원증 제시 → 신원확인 → 출입증 발급 → 자유 이동
+✓ 안전한 비밀번호
+✕ 위험한 비밀번호
+1234, password 같은 단순한 것비유: 출입증의 유효시간
++ 로그인하면 서버가 출입증(세션)을 발급해준다. + 이 출입증에는 유효시간이 있어서, 시간이 지나면 다시 로그인해야 한다. + "로그인이 풀렸어요" = "출입증 유효시간이 끝났어요" 라는 뜻이다. +
+로그인 직후
+출입증 유효!
+자유롭게 시스템 사용
+시간 경과
+곧 만료 예정
+작업 중이면 자동 연장
+오래 방치
+세션 만료!
+다시 로그인 필요
++ SAM에는 고객 정보, 주문 데이터, 직원 정보 등 중요한 개인정보가 저장되어 있다. + 이 정보가 유출되면 회사와 고객 모두에게 큰 피해가 발생한다. +
+SAM이 개인정보를 보호하는 방법
++ ERP(Enterprise Resource Planning)란 회사의 영업, 생산, 재고, 회계 등 + 모든 업무를 하나의 시스템으로 통합 관리하는 소프트웨어다. +
+비유: 회사 전체를 관리하는 하나의 시스템
++ 예전에는 영업팀은 엑셀, 생산팀은 수기, 회계팀은 별도 프로그램을 사용했다. + ERP는 이 모든 것을 하나의 시스템으로 연결한다. + 영업에서 주문이 들어오면 → 자동으로 생산에 반영 → 출하 → 회계까지 자동 연결. +
+ERP — 영업, 생산, 재고, 출하, 회계를 하나로 연결
+비유: 공장 현장의 디지털 관리자
++ MES(Manufacturing Execution System)는 공장 현장에서 실시간으로 생산을 관리하는 시스템이다. + ERP가 "무엇을 얼마나 만들지" 결정한다면, MES는 "현장에서 지금 어떻게 만들고 있는지" 관리한다. +
+| 항목 | +ERP | +MES | +
|---|---|---|
| 비유 | +본사 사령탑 | +현장 감독관 | +
| 관점 | +경영 관점 (계획, 비용) | +현장 관점 (실행, 품질) | +
| 데이터 | +일/주/월 단위 집계 | +초/분 단위 실시간 | +
비유: 초대형 엑셀 파일
++ 데이터베이스(DB)는 데이터를 체계적으로 저장하고 관리하는 시스템이다. + 쉽게 말하면, 수백 개의 엑셀 시트를 컴퓨터가 자동으로 관리해주는 초대형 파일이다. +
+데이터베이스 — 엑셀과 비교하면 쉽게 이해된다
+테이블
+= 엑셀의 시트
+거래처, 주문, 제품 등
+행 (Row)
+= 엑셀의 한 줄
+데이터 한 건
+열 (Column)
+= 엑셀의 항목
+이름, 연락처, 금액 등
+비유: 식당의 메뉴판과 주문 시스템
++ API(Application Programming Interface)는 프로그램끼리 데이터를 주고받는 창구다. + 식당에서 메뉴판을 보고 주문하면 음식이 나오듯, + 앱이 API 목록을 보고 요청하면 데이터가 돌아온다. +
+API — 메뉴판 확인 → 주문 → 요리 → 서빙
+비유: 중요 서류의 복사본 보관
++ 중요한 계약서를 복사해서 금고에 보관하듯, + 데이터베이스의 모든 데이터를 주기적으로 복사본(백업)을 만들어 안전한 곳에 저장한다. + 원본이 손상되더라도 복사본으로 복구할 수 있다. +
+💾
+자동 백업
+매일 자동으로 복사본 생성
+🔄
+복구 가능
+문제 발생 시 이전 상태로 복원
+🔒
+안전 보관
+별도 서버에 암호화 저장
+SAM 접속 4단계 — 브라우저 → URL → 로그인 → 대시보드
+1
+브라우저 열기
+Chrome 또는 Edge를
실행한다
2
+주소 입력
+주소창에 SAM 주소를
입력하고 Enter
3
+로그인
+아이디와 비밀번호를
입력하고 로그인 버튼
4
+업무 시작!
+대시보드가 나타나면
메뉴를 선택하여 사용
에러가 발생하면 아래 순서대로 시도해보자.
+새로고침 (F5 또는 Ctrl+R)
+일시적 오류의 80%는 새로고침으로 해결된다.
+강력 새로고침 (Ctrl+Shift+R)
+캐시를 무시하고 최신 페이지를 가져온다.
+브라우저 캐시 삭제
+Chrome: 설정 → 개인정보 → 인터넷 사용 기록 삭제 → 캐시된 이미지 및 파일
+담당자에게 문의
+위 방법으로 해결되지 않으면 에러 화면 스크린샷과 함께 개발팀에 연락.
+A. 다음을 확인한다:
+A. 브라우저 캐시 문제일 가능성이 높다.
+A. 여러 가지 원인이 있을 수 있다:
+A. 느려지는 원인과 대처법:
++ 인터넷은 "전 세계를 연결하는 도로망"이고, + 웹은 그 도로 위를 달리는 자동차다. + 브라우저(창문)로 웹사이트를 보고, URL(주소)로 원하는 페이지를 찾아간다. + SAM은 SaaS(넷플릭스처럼 구독하는 소프트웨어) 방식의 ERP+MES 통합 시스템이다. + HTTPS로 안전하게 통신하고, 데이터베이스에 모든 정보를 체계적으로 저장한다. + 문제가 생기면 새로고침 → 캐시 삭제 → 개발팀 문의 순서로 대응하면 된다. +
+