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 지식이 없어도 이해할 수 있는 친절한 바이블

+
+
+
+ 웹 탐색 일러스트 +
+
+
+
+ +
+ + + + +
+ + + + + {{-- ============================================================ --}} + {{-- 1. 인터넷이란 무엇인가 --}} + {{-- ============================================================ --}} +
+
+

+ 1 + 인터넷이란 무엇인가 +

+ + +
+

+ + 인터넷의 정의 +

+
+

+ 인터넷(Internet)이란 전 세계의 컴퓨터들을 하나로 연결하는 거대한 네트워크다. + 집, 회사, 학교, 공장 — 어디에 있든 인터넷에 연결만 되면 다른 컴퓨터와 정보를 주고받을 수 있다. +

+
+
+
+

비유: 전 세계를 연결하는 도로망

+

+ 인터넷은 전 세계를 연결하는 도로망과 같다. + 도로가 있어야 자동차로 이동할 수 있듯, 인터넷이 있어야 데이터를 주고받을 수 있다. + 이메일, 유튜브, SAM — 모두 이 도로망 위에서 달리는 서비스들이다. +

+
+
+ 전 세계 컴퓨터가 연결된 지구본 +
+

인터넷 — 전 세계를 연결하는 네트워크

+
+
+ + +
+

+ + 웹(WWW)과 인터넷의 차이 +

+
+

비유: 도로(인터넷) 위를 달리는 자동차(웹)

+

+ 인터넷 = 도로이고, 웹(WWW) = 도로 위를 달리는 자동차다. + 도로 위에는 자동차만 달리는 게 아니다 — 버스(이메일), 택배(파일전송), 전화(음성통화)도 달린다. + 웹은 인터넷 위에서 동작하는 여러 서비스 중 하나일 뿐이다. +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
구분인터넷웹(WWW)
비유도로도로 위의 자동차
정의전 세계를 연결하는 네트워크인터넷 위에서 동작하는 서비스
예시이메일, 파일전송, 웹, 스트리밍 등크롬으로 보는 웹사이트들
없으면?모든 온라인 서비스 불가이메일 등 다른 서비스는 가능
+
+
+ + +
+

+ + URL이란 +

+
+

+ URL(Uniform Resource Locator)은 인터넷에서 원하는 페이지를 정확히 찾아가기 위한 주소다. + 브라우저 주소창에 입력하는 바로 그것이다. +

+
+
+

비유: 건물의 정확한 주소

+

+ 택배를 보낼 때 "서울시 강남구 역삼동 123번지 5층 501호"처럼 정확한 주소가 필요하듯, + 웹에서도 https://sam.jooil.co.kr/orders 같은 정확한 주소가 필요하다. +

+
+
+ URL 해부도 +
+

URL 해부도 — 프로토콜 + 도메인 + 경로

+
+
+

https://

+

프로토콜

+

안전한 배달 방식
(암호화 통신)

+
+
+

sam.jooil.co.kr

+

도메인

+

건물 이름
(서버 주소)

+
+
+

/orders

+

경로

+

건물 안의 몇 층 몇 호
(페이지 위치)

+
+
+
+ + +
+

+ + IP 주소와 도메인 +

+
+

비유: 전화번호(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을 찾아 연결해준다. +

+
+
+
+
+ + {{-- ============================================================ --}} + {{-- 2. 웹 브라우저와 HTTP --}} + {{-- ============================================================ --}} +
+
+

+ 2 + 웹 브라우저와 HTTP +

+ + +
+

+ + 브라우저란 +

+
+

+ 웹 브라우저란 인터넷에서 웹 페이지를 보여주는 프로그램이다. + 우리가 매일 사용하는 Chrome, Edge, Safari가 모두 웹 브라우저다. +

+
+
+

비유: 인터넷 세상을 보는 창문

+

+ 집 안에서 바깥 세상을 보려면 창문이 필요하듯, + 인터넷 세상을 보려면 브라우저라는 창문이 필요하다. + 창문의 모양(Chrome, Edge)은 달라도 밖의 풍경(웹사이트)은 같다. +

+
+
+
+

🌐

+

Chrome

+

구글이 만든 브라우저
가장 많이 사용 (60%+)

+
+
+

🪟

+

Edge

+

마이크로소프트 브라우저
Windows에 기본 설치

+
+
+

🧭

+

Safari

+

애플 브라우저
iPhone, Mac에 기본 설치

+
+
+
+ + +
+

+ + HTTP란 무엇인가 +

+
+

+ HTTP(HyperText Transfer Protocol)는 브라우저와 서버가 대화하는 규칙이다. + "이런 형식으로 요청하면, 이런 형식으로 응답한다"는 약속이다. +

+
+
+

비유: 주문서 양식

+

+ 식당에서 주문서(요청)를 쓰면 주방에서 음식(응답)이 나오듯, + 브라우저가 HTTP 형식으로 요청을 보내면 서버가 응답을 돌려준다. +

+
+
+ HTTP 요청/응답 흐름도 +
+

HTTP — 주문(요청)과 음식(응답)

+
+ + +
+

+ + HTTPS와 보안 +

+
+

비유: 봉투에 넣어 보내기(암호화) vs 엽서(평문)

+

+ HTTP는 엽서를 보내는 것 — 누구나 내용을 볼 수 있다.
+ HTTPS는 봉투에 넣어 잠그고 보내는 것 — 받는 사람만 열 수 있다. +

+
+
+
+

HTTP (엽서)

+
    +
  • ✕ 데이터가 그대로 전송됨
  • +
  • ✕ 누군가 중간에서 볼 수 있음
  • +
  • ✕ 비밀번호가 노출될 수 있음
  • +
  • ✕ 주소창에 "주의 요함" 표시
  • +
+
+
+

HTTPS (봉투 + 자물쇠)

+
    +
  • ✓ 데이터가 암호화되어 전송
  • +
  • ✓ 중간에서 볼 수 없음
  • +
  • ✓ 비밀번호가 안전하게 전달
  • +
  • ✓ 주소창에 🔒 자물쇠 표시
  • +
+
+
+
+ SAM은 HTTPS를 사용합니다. 주소창의 🔒 자물쇠가 보이면 안전한 상태다. +
+
+ + +
+

+ + 자주 보는 에러 코드 +

+

+ 웹사이트에서 에러가 나면 숫자 코드가 표시된다. 이 숫자만 알면 문제를 빠르게 파악할 수 있다. +

+
+ 에러 코드 인포그래픽 +
+

404 / 500 / 502 / 403 — 에러 코드 카드

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
코드의미비유대처법
404페이지를 찾을 수 없음주소가 틀려서 빈 땅에 도착URL 주소 다시 확인
500서버 내부 오류주방에서 화재 발생개발팀에 연락
502서비스 중단요리사가 퇴근함잠시 후 재시도, 지속 시 문의
403접근 거부출입 금지 구역관리자에게 권한 요청
+
+
+
+
+ + {{-- ============================================================ --}} + {{-- 3. 클라우드와 SaaS --}} + {{-- ============================================================ --}} +
+
+

+ 3 + 클라우드와 SaaS +

+ + +
+

+ + 클라우드란 +

+
+

비유: 내 컴퓨터 vs 공유 오피스

+

+ 설치형은 내 집에서 직접 요리하는 것 — 재료, 도구, 가스레인지를 모두 내가 준비해야 한다.
+ 클라우드는 식당에서 주문하는 것 — 나는 앉아서 주문만 하면 전문 요리사가 만들어 준다. +

+
+
+ 설치형 vs 클라우드 비교 +
+

설치형(내 PC) vs 클라우드(공유 서비스)

+
+ + +
+

+ + SaaS란 무엇인가 +

+
+

+ SaaS(Software as a Service)란 소프트웨어를 사서 설치하는 대신, + 인터넷을 통해 구독해서 사용하는 방식이다. + SAM이 바로 SaaS다. +

+
+
+

비유: 넷플릭스 = 영상 SaaS, SAM = 업무 SaaS

+

+ 넷플릭스에 매달 구독료를 내고 영화를 보듯, + SAM에 매달 이용료를 내고 업무 관리 시스템을 사용한다. + DVD를 사서 설치하는 시대는 끝났다! +

+
+
+ SaaS 구독 모델 +
+

SaaS = 소프트웨어 구독 서비스

+
+ + +
+

+ + 왜 SaaS가 좋은가 +

+
+
+

✓ 설치 불필요

+

브라우저만 있으면 된다. CD나 USB로 설치할 필요 없음.

+
+
+

✓ 자동 업데이트

+

새 기능이 자동으로 추가된다. 업데이트 파일 다운로드 불필요.

+
+
+

✓ 어디서든 접속

+

사무실, 현장, 집 — 인터넷만 되면 어디서든 업무 가능.

+
+
+

✓ 데이터 안전

+

전문 서버에서 자동 백업. 내 PC가 고장나도 데이터는 안전.

+
+
+
+ + +
+

+ + 구독과 라이선스의 차이 +

+
+

비유: 월세(구독) vs 매매(라이선스)

+

+ 라이선스는 집을 사는 것 — 큰 돈이 한번에 필요하고, 수리도 직접 해야 한다.
+ 구독은 집을 월세로 사는 것 — 매달 작은 금액을 내고, 관리는 집주인(업체)이 해준다. +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
항목라이선스 (매매)구독 (월세) = SAM
비용수천만 원 일시불매달 소액 결제
업데이트추가 비용 발생자동 무료 업데이트
유지보수내가 직접 관리업체가 관리
접속설치된 PC에서만어디서든 가능
+
+
+
+
+ + {{-- ============================================================ --}} + {{-- 4. 계정과 보안 --}} + {{-- ============================================================ --}} +
+
+

+ 4 + 계정과 보안 +

+ + +
+

+ + 로그인과 인증 +

+
+

비유: 사원증으로 출입하기

+

+ 회사에 출근하면 사원증을 찍고 들어가듯, + SAM에 접속하면 아이디와 비밀번호로 "나"를 증명해야 한다. + 사원증이 없으면 건물에 못 들어가고, 로그인이 안 되면 시스템을 쓸 수 없다. +

+
+
+ 로그인/인증 흐름도 +
+

로그인 4단계 — 사원증 제시 → 신원확인 → 출입증 발급 → 자유 이동

+
+ + +
+

+ + 비밀번호 관리 +

+
+
+

✓ 안전한 비밀번호

+
    +
  • 8자 이상 (길수록 안전)
  • +
  • 영문 + 숫자 + 특수문자 조합
  • +
  • 사이트마다 다른 비밀번호
  • +
  • 주기적으로 변경 (3~6개월)
  • +
+
+
+

✕ 위험한 비밀번호

+
    +
  • 1234, password 같은 단순한 것
  • +
  • 생일, 전화번호 등 추측 가능한 것
  • +
  • 모든 사이트에 같은 비밀번호
  • +
  • 메모장이나 포스트잇에 적어둠
  • +
+
+
+
+ + +
+

+ + 세션이란 +

+
+

비유: 출입증의 유효시간

+

+ 로그인하면 서버가 출입증(세션)을 발급해준다. + 이 출입증에는 유효시간이 있어서, 시간이 지나면 다시 로그인해야 한다. + "로그인이 풀렸어요" = "출입증 유효시간이 끝났어요" 라는 뜻이다. +

+
+
+
+

로그인 직후

+

출입증 유효!

+

자유롭게 시스템 사용

+
+
+

시간 경과

+

곧 만료 예정

+

작업 중이면 자동 연장

+
+
+

오래 방치

+

세션 만료!

+

다시 로그인 필요

+
+
+
+ + +
+

+ + 개인정보 보호 +

+
+

+ SAM에는 고객 정보, 주문 데이터, 직원 정보 등 중요한 개인정보가 저장되어 있다. + 이 정보가 유출되면 회사와 고객 모두에게 큰 피해가 발생한다. +

+
+
+

SAM이 개인정보를 보호하는 방법

+
    +
  • HTTPS 암호화 — 전송 중인 데이터를 암호화
  • +
  • 비밀번호 해싱 — 비밀번호를 되돌릴 수 없는 형태로 저장
  • +
  • 권한 관리 — 부서별로 볼 수 있는 데이터를 제한
  • +
  • 세션 만료 — 일정 시간 지나면 자동 로그아웃
  • +
  • 자동 백업 — 데이터를 주기적으로 복사본 생성
  • +
+
+
+
+
+ + {{-- ============================================================ --}} + {{-- 5. SAM에서 자주 쓰는 용어 --}} + {{-- ============================================================ --}} +
+
+

+ 5 + SAM에서 자주 쓰는 용어 +

+ + +
+

+ + ERP란 +

+
+

+ ERP(Enterprise Resource Planning)란 회사의 영업, 생산, 재고, 회계 등 + 모든 업무를 하나의 시스템으로 통합 관리하는 소프트웨어다. +

+
+
+

비유: 회사 전체를 관리하는 하나의 시스템

+

+ 예전에는 영업팀은 엑셀, 생산팀은 수기, 회계팀은 별도 프로그램을 사용했다. + ERP는 이 모든 것을 하나의 시스템으로 연결한다. + 영업에서 주문이 들어오면 → 자동으로 생산에 반영 → 출하 → 회계까지 자동 연결. +

+
+
+ ERP 전체 구조도 +
+

ERP — 영업, 생산, 재고, 출하, 회계를 하나로 연결

+
+ + +
+

+ + MES란 +

+
+

비유: 공장 현장의 디지털 관리자

+

+ MES(Manufacturing Execution System)는 공장 현장에서 실시간으로 생산을 관리하는 시스템이다. + ERP가 "무엇을 얼마나 만들지" 결정한다면, MES는 "현장에서 지금 어떻게 만들고 있는지" 관리한다. +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
항목ERPMES
비유본사 사령탑현장 감독관
관점경영 관점 (계획, 비용)현장 관점 (실행, 품질)
데이터일/주/월 단위 집계초/분 단위 실시간
+
+
+ SAM = ERP + MES 통합. 하나의 시스템에서 경영 관리와 현장 관리를 모두 처리한다. +
+
+ + +
+

+ + 데이터베이스란 +

+
+

비유: 초대형 엑셀 파일

+

+ 데이터베이스(DB)는 데이터를 체계적으로 저장하고 관리하는 시스템이다. + 쉽게 말하면, 수백 개의 엑셀 시트를 컴퓨터가 자동으로 관리해주는 초대형 파일이다. +

+
+
+ 데이터베이스 = 엑셀 비유 +
+

데이터베이스 — 엑셀과 비교하면 쉽게 이해된다

+
+
+

테이블

+

= 엑셀의 시트

+

거래처, 주문, 제품 등

+
+
+

행 (Row)

+

= 엑셀의 한 줄

+

데이터 한 건

+
+
+

열 (Column)

+

= 엑셀의 항목

+

이름, 연락처, 금액 등

+
+
+
+ + +
+

+ + API란 +

+
+

비유: 식당의 메뉴판과 주문 시스템

+

+ API(Application Programming Interface)는 프로그램끼리 데이터를 주고받는 창구다. + 식당에서 메뉴판을 보고 주문하면 음식이 나오듯, + 앱이 API 목록을 보고 요청하면 데이터가 돌아온다. +

+
+
+ API 동작 원리 +
+

API — 메뉴판 확인 → 주문 → 요리 → 서빙

+
+ + +
+

+ + 백업이란 +

+
+

비유: 중요 서류의 복사본 보관

+

+ 중요한 계약서를 복사해서 금고에 보관하듯, + 데이터베이스의 모든 데이터를 주기적으로 복사본(백업)을 만들어 안전한 곳에 저장한다. + 원본이 손상되더라도 복사본으로 복구할 수 있다. +

+
+
+
+

💾

+

자동 백업

+

매일 자동으로 복사본 생성

+
+
+

🔄

+

복구 가능

+

문제 발생 시 이전 상태로 복원

+
+
+

🔒

+

안전 보관

+

별도 서버에 암호화 저장

+
+
+
+
+
+ + {{-- ============================================================ --}} + {{-- 6. 실전 가이드 --}} + {{-- ============================================================ --}} +
+
+

+ 6 + 실전 가이드 +

+ + +
+

+ + SAM 접속 방법 +

+
+ SAM 접속 4단계 +
+

SAM 접속 4단계 — 브라우저 → URL → 로그인 → 대시보드

+
+
+

1

+

브라우저 열기

+

Chrome 또는 Edge를
실행한다

+
+
+

2

+

주소 입력

+

주소창에 SAM 주소를
입력하고 Enter

+
+
+

3

+

로그인

+

아이디와 비밀번호를
입력하고 로그인 버튼

+
+
+

4

+

업무 시작!

+

대시보드가 나타나면
메뉴를 선택하여 사용

+
+
+
+ + +
+

+ + 문제가 생겼을 때 +

+

에러가 발생하면 아래 순서대로 시도해보자.

+
+
+ 1 +
+

새로고침 (F5 또는 Ctrl+R)

+

일시적 오류의 80%는 새로고침으로 해결된다.

+
+
+
+ 2 +
+

강력 새로고침 (Ctrl+Shift+R)

+

캐시를 무시하고 최신 페이지를 가져온다.

+
+
+
+ 3 +
+

브라우저 캐시 삭제

+

Chrome: 설정 → 개인정보 → 인터넷 사용 기록 삭제 → 캐시된 이미지 및 파일

+
+
+
+ 4 +
+

담당자에게 문의

+

위 방법으로 해결되지 않으면 에러 화면 스크린샷과 함께 개발팀에 연락.

+
+
+
+
+ + +
+

+ + 자주 묻는 질문 (FAQ) +

+
+
+ + Q. 로그인이 안 돼요. + +
+

A. 다음을 확인한다:

+
    +
  1. Caps Lock이 켜져 있는지 확인 (대소문자 구분)
  2. +
  3. 아이디/비밀번호가 정확한지 확인
  4. +
  5. 인터넷 연결이 되어있는지 확인
  6. +
  7. 여전히 안 되면 관리자에게 비밀번호 초기화 요청
  8. +
+
+
+ +
+ + Q. 화면이 깨져서 나와요. + +
+

A. 브라우저 캐시 문제일 가능성이 높다.

+
    +
  1. Ctrl + Shift + R (강력 새로고침)을 시도
  2. +
  3. 안 되면 브라우저 캐시 삭제 후 재접속
  4. +
  5. 다른 브라우저(Edge, Chrome)로 접속 시도
  6. +
+
+
+ +
+ + Q. 데이터가 안 보여요 / 빈 화면이에요. + +
+

A. 여러 가지 원인이 있을 수 있다:

+
    +
  1. 권한 부족 — 해당 메뉴에 대한 접근 권한이 없을 수 있음
  2. +
  3. 날짜 필터 — 조회 기간이 잘못 설정되었을 수 있음
  4. +
  5. 검색 조건 — 필터를 너무 좁게 설정했을 수 있음
  6. +
  7. 위 사항 확인 후에도 안 보이면 개발팀에 문의
  8. +
+
+
+ +
+ + Q. SAM이 너무 느려요. + +
+

A. 느려지는 원인과 대처법:

+
    +
  1. 인터넷 속도 — 와이파이나 유선랜 연결 상태 확인
  2. +
  3. 브라우저 탭 — 너무 많은 탭이 열려있으면 닫기
  4. +
  5. 브라우저 캐시 — 캐시가 쌓이면 느려지므로 주기적으로 삭제
  6. +
  7. 서버 문제 — 모든 사용자가 느리다면 서버 문제. 개발팀에 문의
  8. +
+
+
+
+ + +
+

핵심 정리

+

+ 인터넷은 "전 세계를 연결하는 도로망"이고, + 웹은 그 도로 위를 달리는 자동차다. + 브라우저(창문)로 웹사이트를 보고, URL(주소)로 원하는 페이지를 찾아간다. + SAM은 SaaS(넷플릭스처럼 구독하는 소프트웨어) 방식의 ERP+MES 통합 시스템이다. + HTTPS로 안전하게 통신하고, 데이터베이스에 모든 정보를 체계적으로 저장한다. + 문제가 생기면 새로고침 → 캐시 삭제 → 개발팀 문의 순서로 대응하면 된다. +

+
+
+
+
+ +
+
+
+ + +
+ + +
+ + + + + +@include('components.academy-glossary', ['domain' => 'web-basics']) +@endsection \ No newline at end of file diff --git a/resources/views/components/academy-glossary.blade.php b/resources/views/components/academy-glossary.blade.php index 712acb10..3f2b1ba2 100644 --- a/resources/views/components/academy-glossary.blade.php +++ b/resources/views/components/academy-glossary.blade.php @@ -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 + 도메인: fire-shutter | it-planning | server-knowledge | frontend-dev | docker-environment | backend-dev | web-basics --}} @push('styles') @@ -226,6 +226,68 @@ "Next.js": "React 기반의 풀스택 프레임워크. 서버 사이드 렌더링(SSR)을 지원한다.", "SSR": "Server-Side Rendering. 서버에서 HTML을 생성하여 브라우저에 전달하는 방식." }; +@elseif($domain === 'backend-dev') +window.__GLOSSARY_DATA['backend-dev'] = { + "백엔드": "사용자 눈에 보이지 않는 서버 측 영역. 데이터 저장, 비즈니스 로직, 인증 등을 처리한다.", + "API": "Application Programming Interface. 프로그램 간 데이터를 주고받는 규격화된 통신 방식.", + "REST": "Representational State Transfer. URL로 자원을 표현하고 HTTP 메서드로 행위를 나타내는 API 설계 방식.", + "JSON": "JavaScript Object Notation. 서버와 클라이언트 간 데이터를 주고받는 경량 텍스트 형식.", + "MySQL": "오픈소스 관계형 데이터베이스 관리 시스템(RDBMS). SQL 언어로 데이터를 관리한다.", + "쿼리": "데이터베이스에 데이터를 요청하거나 조작하는 명령문. SQL로 작성한다.", + "ORM": "Object-Relational Mapping. 데이터베이스 테이블을 프로그래밍 언어의 객체로 다루는 기술.", + "Eloquent": "Laravel의 ORM. 테이블을 PHP 클래스로 표현하여 SQL 없이 데이터를 조작할 수 있다.", + "마이그레이션": "데이터베이스 테이블 구조를 코드로 관리하고 버전별로 적용·롤백하는 기능.", + "MVC": "Model-View-Controller. 데이터(M), 화면(V), 제어 로직(C)을 분리하는 소프트웨어 설계 패턴.", + "컨트롤러": "사용자 요청을 받아 적절한 모델과 뷰를 연결하는 중재자 역할의 클래스.", + "미들웨어": "요청이 컨트롤러에 도달하기 전/후에 실행되는 필터. 인증 확인, 로깅 등을 처리한다.", + "라우팅": "URL 경로를 특정 컨트롤러·메서드에 연결하는 규칙 정의.", + "세션": "서버에 사용자 상태를 저장하는 방식. 브라우저는 세션 ID만 쿠키로 보관한다.", + "토큰": "서버가 발급하는 인증 문자열. 클라이언트가 보유하며 API 요청 시 헤더에 포함한다.", + "해싱": "데이터를 되돌릴 수 없는 고정 길이 문자열로 변환하는 것. 비밀번호 저장에 사용한다.", + "CSRF": "Cross-Site Request Forgery. 사용자 모르게 악의적 요청을 보내는 공격. 토큰으로 방어한다.", + "큐(Queue)": "작업을 대기열에 넣고 순차적으로 처리하는 구조. 이메일 발송, PDF 생성 등에 사용한다.", + "캐시": "자주 사용하는 데이터를 빠른 저장소에 임시 보관하여 응답 속도를 높이는 기법.", + "N+1 문제": "1번의 쿼리로 목록을 가져온 뒤 각 항목마다 추가 쿼리가 발생하는 성능 문제.", + "Eager Loading": "관련 데이터를 미리 한 번에 조회하여 N+1 문제를 방지하는 기법. with() 메서드를 사용한다.", + "트랜잭션": "여러 DB 작업을 하나의 단위로 묶어 모두 성공하거나 모두 취소하는 처리 방식.", + "인덱스": "테이블의 특정 컬럼에 대한 검색 색인. 조회 속도를 크게 향상시킨다.", + "멀티테넌트": "하나의 시스템에서 여러 조직의 데이터를 격리하여 관리하는 아키텍처.", + "스케줄러": "정해진 시간에 자동으로 작업을 실행하는 기능. Laravel의 크론 작업 대체.", + "로그": "시스템·애플리케이션의 동작 기록. 오류 추적과 모니터링에 필수적이다.", + "환경 변수": "운영체제나 앱에 전달되는 설정값. .env 파일로 관리하며 환경마다 다른 값을 사용한다.", + "SQL Injection": "사용자 입력에 악의적 SQL을 삽입하여 DB를 조작하는 보안 공격.", + "Sanctum": "Laravel 공식 API 인증 패키지. SPA와 모바일 앱을 위한 토큰 발급·인증을 처리한다.", + "Artisan": "Laravel의 CLI 도구. 마이그레이션, 시더, 캐시 관리 등 다양한 명령을 제공한다." +}; +@elseif($domain === 'web-basics') +window.__GLOSSARY_DATA['web-basics'] = { + "인터넷": "전 세계의 컴퓨터를 하나로 연결하는 거대한 네트워크. 이메일, 웹, 스트리밍 등 모든 온라인 서비스의 기반.", + "웹(WWW)": "World Wide Web. 인터넷 위에서 동작하는 서비스 중 하나. 브라우저로 웹사이트를 보는 것이 웹 사용.", + "URL": "Uniform Resource Locator. 인터넷에서 원하는 페이지를 찾아가기 위한 주소. 프로토콜+도메인+경로로 구성.", + "IP 주소": "컴퓨터마다 부여된 고유 숫자 주소. 예: 114.203.209.83. 사람이 외우기 어려워 도메인을 사용한다.", + "도메인": "IP 주소 대신 사람이 기억하기 쉽게 만든 이름. 예: sam.jooil.co.kr. DNS가 IP로 변환해준다.", + "DNS": "Domain Name System. 도메인 이름을 IP 주소로 변환하는 시스템. 인터넷의 전화번호부 역할.", + "브라우저": "웹 페이지를 보여주는 프로그램. Chrome, Edge, Safari 등. 인터넷 세상을 보는 창문.", + "HTTP": "HyperText Transfer Protocol. 브라우저와 서버가 데이터를 주고받는 규칙(주문서 양식).", + "HTTPS": "HTTP에 SSL/TLS 암호화를 적용한 보안 통신. 데이터를 봉투에 넣어 잠그고 전송한다.", + "404": "Not Found. 요청한 페이지를 찾을 수 없음. URL 주소가 틀렸거나 삭제된 페이지.", + "500": "Internal Server Error. 서버 내부 오류. 프로그램 코드에 문제가 발생한 상태.", + "502": "Bad Gateway. 백엔드 서비스가 응답하지 않는 상태. 서비스가 중단되었을 수 있음.", + "403": "Forbidden. 접근 권한이 없음. 해당 페이지를 볼 수 있는 권한이 부족한 상태.", + "클라우드": "내 컴퓨터가 아닌 인터넷 상의 서버에서 서비스를 제공하는 방식. 설치 없이 브라우저로 사용.", + "SaaS": "Software as a Service. 소프트웨어를 구독하여 인터넷으로 사용하는 방식. 넷플릭스처럼.", + "구독": "매달 이용료를 내고 서비스를 사용하는 방식. 큰 초기 비용 없이 바로 사용 가능.", + "로그인": "아이디와 비밀번호로 자신을 인증하는 과정. 사원증을 제시하여 출입하는 것과 같다.", + "세션": "로그인 후 서버가 발급하는 임시 출입증. 유효시간이 지나면 다시 로그인이 필요하다.", + "ERP": "Enterprise Resource Planning. 영업·생산·재고·회계 등 회사 전체를 통합 관리하는 시스템.", + "MES": "Manufacturing Execution System. 공장 현장의 생산 공정을 실시간으로 관리하는 시스템.", + "데이터베이스": "데이터를 체계적으로 저장·관리하는 시스템. 수백 개의 엑셀 시트를 자동 관리하는 초대형 파일.", + "API": "Application Programming Interface. 프로그램 간 데이터를 주고받는 창구. 식당의 메뉴판과 주문 시스템.", + "백업": "데이터의 복사본을 안전한 곳에 보관하는 것. 원본 손상 시 복구할 수 있다.", + "캐시": "자주 사용하는 데이터를 임시로 저장하여 속도를 높이는 기법. 쌓이면 오류 원인이 되기도 한다.", + "새로고침": "현재 페이지를 다시 불러오는 것. F5 또는 Ctrl+R. 일시적 오류의 대부분이 해결된다.", + "암호화": "데이터를 제3자가 읽을 수 없는 형태로 변환하는 것. HTTPS가 대표적인 암호화 통신." +}; @elseif($domain === 'server-knowledge') window.__GLOSSARY_DATA['server-knowledge'] = { "Nginx": "고성능 웹 서버 소프트웨어. 리버스 프록시, 로드 밸런싱 등을 처리한다.", diff --git a/routes/web.php b/routes/web.php index 0e6d2a8e..e4d481bf 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1466,6 +1466,8 @@ 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'); + 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'); }); // SAM E-Sign - 인증 필요