Skip to content

Instantly share code, notes, and snippets.

@hongsw
Last active April 4, 2025 06:12
Show Gist options
  • Save hongsw/29240966a95623b076c3cb9e58592aa6 to your computer and use it in GitHub Desktop.
Save hongsw/29240966a95623b076c3cb9e58592aa6 to your computer and use it in GitHub Desktop.
flowchart TD
    %% 중심 노드
    OSS[오픈소스 소프트웨어 교육 경로] 
    
    %% 서브그래프 레벨 정의
    subgraph 레벨1[레벨 1 - 핵심 기반 기술]
        direction TB
        TERMINAL[터미널 기본]
        SHELL[쉘 스크립트]
        LINUX[리눅스 기본]
        GIT[Git]
        DATAFORMAT[데이터 포맷]
        COMPSYS[컴퓨터 구조]
        NETWORK[네트워크 기초]
        
        subgraph 터미널스킬[터미널 활용 스킬]
            TERM1[명령어 기본]
            TERM2[파일 시스템 탐색]
            TERM3[권한 관리]
            TERM4[프로세스 관리]
            TERM5[파이프와 리다이렉션]
            
            TERM1 --- TERM2
            TERM2 --- TERM3
            TERM3 --- TERM4
            TERM4 --- TERM5
        end
        
        subgraph 쉘환경설정[쉘 환경 설정]
            RC[bashrc zshrc]
            PROFILE[profile bash_profile]
            PATH[PATH 설정]
            ENV[환경 변수]
            ALIAS[별칭 설정]
            
            RC --- PROFILE
            PROFILE --- PATH
            PATH --- ENV
            ENV --- ALIAS
        end
        
        subgraph LLM기본[LLM 기본 활용]
            LLM1[ChatGPT 기본]
            LLM2[Claude 기본]
            LLM3[프롬프트 작성법]
            LLM4[코드 보조 질문법]
            
            LLM1 --- LLM2
            LLM2 --- LLM3
            LLM3 --- LLM4
        end
        
        subgraph 데이터포맷[데이터 포맷 기초]
            DF1[JSON 구조와 문법]
            DF2[YAML 구조와 문법]
            DF3[직렬화와 역직렬화]
            DF4[설정 파일 관리]
            
            DF1 --- DF2
            DF2 --- DF3
            DF3 --- DF4
        end
        
        subgraph 컴퓨터구조[컴퓨터 구조 기초]
            CS1[파일 시스템 계층]
            CS2[프로세스와 스레드]
            CS3[메모리 관리]
            CS4[I/O 작동 원리]
            
            CS1 --- CS2
            CS2 --- CS3
            CS3 --- CS4
        end
        
        subgraph 네트워크기초[네트워크 기초]
            NET1[TCP/IP 모델]
            NET2[기본 명령어 ping nc curl]
            NET3[소켓 통신 기본]
            NET4[포트와 프로토콜]
            
            NET1 --- NET2
            NET2 --- NET3
            NET3 --- NET4
        end
        
        %% 레벨 1 내부 연결
        TERMINAL --- 터미널스킬
        TERMINAL --- SHELL
        SHELL --- 쉘환경설정
        TERMINAL --- LINUX
        SHELL --- LINUX
        LINUX --- GIT
        GIT --- LLM기본
        DATAFORMAT --- 데이터포맷
        COMPSYS --- 컴퓨터구조
        NETWORK --- 네트워크기초
        
        TERMINAL --- COMPSYS
        LINUX --- COMPSYS
        TERMINAL --- NETWORK
        DATAFORMAT --- GIT
    end
    
    subgraph 레벨2[레벨 2 - 도구 및 플랫폼]
        direction TB
        GITHUB[GitHub]
        DOCKER[Docker]
        REMOTE[원격 서버 관리]
        DATAADV[데이터 포맷 응용]
        SYSADV[시스템 레벨 이해]
        NETADV[네트워크 활용]
        
        subgraph 개발환경[개발 환경 관리]
            VER1[버전 관리 nvm pyenv]
            VER2[패키지 관리 npm pip]
            RESHIM[쉘 리심 rehash]
            VENV[가상 환경]
            
            VER1 --- VER2
            VER2 --- RESHIM
            RESHIM --- VENV
        end
        
        subgraph CI도구[CI/CD 도구]
            ACTIONS[GitHub Actions]
            JENKINS[Jenkins]
            GITLAB[GitLab CI]
            
            ACTIONS --- JENKINS
            JENKINS --- GITLAB
        end
        
        subgraph 서버관리[서버 접속 및 원격 작업]
            SSH[SSH 보안 설정]
            SCP[SCP SFTP 파일 전송]
            BARE[베어본 서버 구성]
            SCREEN[Screen Tmux 세션]
            
            SSH --- SCP
            SCP --- BARE
            BARE --- SCREEN
        end
        
        subgraph LLM도구[LLM 도구 기본]
            CURSOR[Cursor]
            VSCODE[VS Copilot]
            MCP[MCP]
            OLLAMA[Ollama]
            
            CURSOR --- VSCODE
            VSCODE --- MCP
            MCP --- OLLAMA
        end
        
        subgraph 데이터응용[데이터 포맷 응용]
            DFA1[RESTful API와 JSON]
            DFA2[설정 자동화와 YAML]
            DFA3[스키마 검증]
            DFA4[데이터 변환 도구]
            
            DFA1 --- DFA2
            DFA2 --- DFA3
            DFA3 --- DFA4
        end
        
        subgraph 시스템이해[시스템 레벨 이해]
            SYS1[컨테이너와 가상화]
            SYS2[리소스 할당 및 제한]
            SYS3[시스템 모니터링]
            SYS4[파일 디스크립터 관리]
            
            SYS1 --- SYS2
            SYS2 --- SYS3
            SYS3 --- SYS4
        end
        
        subgraph 네트워크응용[네트워크 활용]
            NETA1[네트워크 디버깅]
            NETA2[프록시와 로드밸런싱]
            NETA3[방화벽 설정]
            NETA4[SSL/TLS와 인증서]
            
            NETA1 --- NETA2
            NETA2 --- NETA3
            NETA3 --- NETA4
        end
        
        %% 레벨 2 내부 연결
        GITHUB --- 개발환경
        GITHUB --- CI도구
        DOCKER --- 시스템이해
        REMOTE --- 서버관리
        REMOTE --- DOCKER
        개발환경 --- LLM도구
        CI도구 --- LLM도구
        DATAADV --- 데이터응용
        SYSADV --- 시스템이해
        NETADV --- 네트워크응용
        
        DATAADV --- GITHUB
        DATAADV --- CI도구
        SYSADV --- DOCKER
        NETADV --- REMOTE
        NETADV --- 서버관리
    end
    
    subgraph 레벨3[레벨 3 - 전문 영역]
        direction TB
        subgraph 웹인[웹 개발자 전문 과정]
            W1[React Vue.js]
            W2[Express Django Rails]
            W3[MySQL PostgreSQL MongoDB]
            W4[GraphQL REST API]
            
            W1 <--> W2
            W2 <--> W3
            W2 <--> W4
            W1 <--> W4
        end
        
        subgraph 클인[클라우드 전문 과정]
            CL1[컨테이너 오케스트레이션]
            CL2[서버리스]
            CL3[마이크로서비스]
            CL4[서비스 메시]
            CL5[쿠버네티스]
            
            CL1 <--> CL2
            CL2 <--> CL3
            CL3 <--> CL4
            CL4 <--> CL5
            CL5 <--> CL1
        end
        
        subgraph 데인[데이터 전문 과정]
            DS1[Hadoop Spark]
            DS2[Pandas NumPy R]
            DS3[TensorFlow PyTorch]
            DS4[D3.js Tableau]
            
            DS1 <--> DS2
            DS2 <--> DS3
            DS3 <--> DS4
            DS4 <--> DS1
        end
        
        subgraph 인인[인프라 전문 과정]
            INF1[Nginx Apache]
            INF2[Prometheus Grafana]
            INF3[Terraform Ansible]
            INF4[Vault Secrets]
            
            INF1 <--> INF2
            INF2 <--> INF3
            INF3 <--> INF4
            INF4 <--> INF1
        end
        
        subgraph AI인[AI 전문 과정]
            AI1[LangChain LlamaIndex]
            AI2[Hugging Face]
            AI3[벡터 데이터베이스]
            AI4[RAG 응용]
            AI5[MCP 프로토콜]
            AI6[멀티모달 AI]
            
            AI1 <--> AI2
            AI2 <--> AI3
            AI3 <--> AI4
            AI4 <--> AI5
            AI5 <--> AI6
            AI6 <--> AI1
        end
        
        subgraph WEB3인[Web3 전문 과정]
            WEB31[블록체인 기본]
            WEB32[스마트 컨트랙트]
            WEB33[이더리움 솔리디티]
            WEB34[탈중앙화 앱 DApp]
            WEB35[NFT 개발]
            WEB36[Web3.js Ethers.js]
            
            WEB31 <--> WEB32
            WEB32 <--> WEB33
            WEB33 <--> WEB34
            WEB34 <--> WEB35
            WEB35 <--> WEB36
            WEB36 <--> WEB31
        end
        
        subgraph 오픈인[오픈소스 운영 전문 과정]
            OS1[커뮤니티 관리]
            OS2[오픈소스 라이센스]
            OS3[기여자 가이드라인]
            OS4[이슈 PR 관리]
            OS5[오픈소스 거버넌스]
            OS6[기술 문서화]
            
            OS1 <--> OS2
            OS2 <--> OS3
            OS3 <--> OS4
            OS4 <--> OS5
            OS5 <--> OS6
            OS6 <--> OS1
        end
    end
    
    %% OSS에서 레벨 1로의 연결
    OSS --> 레벨1
    
    %% 레벨 1에서 레벨 2로 연결
    레벨1 ==> 레벨2
    
    %% 레벨 2에서 레벨 3으로 연결 (선택 과정)
    레벨2 --> 선택[학생 전문 영역 선택]
    선택 --> 웹인
    선택 --> 클인
    선택 --> 데인
    선택 --> 인인
    선택 --> AI인
    선택 --> WEB3인
    선택 --> 오픈인
    
    %% 실습 및 과제
    웹인 --> 웹과제[웹 개발 프로젝트<br>- SPA 구현<br>- REST API 개발<br>- 데이터베이스 연동]
    클인 --> 클과제[클라우드 프로젝트<br>- 컨테이너 배포<br>- 클러스터 구성<br>- 서비스 오케스트레이션]
    데인 --> 데과제[데이터 프로젝트<br>- 데이터 분석<br>- 머신러닝 모델 구현<br>- 데이터 시각화]
    인인 --> 인과제[인프라 프로젝트<br>- 서버 구성<br>- 모니터링 시스템<br>- IaC 실습]
    AI인 --> AI과제[AI 프로젝트<br>- RAG 시스템 구축<br>- 멀티모달 AI 응용<br>- LLM 서비스 개발]
    WEB3인 --> WEB3과제[Web3 프로젝트<br>- 스마트 컨트랙트 개발<br>- DApp 구현<br>- NFT 마켓플레이스]
    오픈인 --> 오픈과제[오픈소스 프로젝트<br>- 프로젝트 런칭<br>- 커뮤니티 구축<br>- 기여자 가이드 작성]
    
    %% 레벨 1 종합 과제
    레벨1 -.-> 레벨1과제[레벨 1 종합 과제<br>- 설정 관리 도구 개발<br>- 네트워크 진단 스크립트<br>- 개발 환경 자동화]
    
    %% 레벨 2 종합 과제
    레벨2 -.-> 레벨2과제[레벨 2 종합 과제<br>- 원격 베어본 서버 구성<br>- Docker 기반 배포 자동화<br>- JSON API 테스트 시스템]
    
    %% 영향 영역 정의
    subgraph 최종목표[전문가 역량 목표]
        G1[실무 개발 능력]
        G2[문제 해결 능력]
        G3[협업 능력]
        G4[지속적 학습 능력]
        G5[AI 활용 효율성]
        G6[생태계 기여 능력]
        
        %% 영향 영역 내부 연결
        G1 --- G2
        G2 --- G3
        G3 --- G4
        G4 --- G5
        G5 --- G6
        G6 --- G1
    end
    
    %% 과제에서 최종 목표로
    웹과제 --> 최종목표
    클과제 --> 최종목표
    데과제 --> 최종목표
    인과제 --> 최종목표
    AI과제 --> 최종목표
    WEB3과제 --> 최종목표
    오픈과제 --> 최종목표
    레벨1과제 --> 레벨2과제
    레벨2과제 --> 최종목표
    
    %% 스타일 설정
    classDef level1 fill:#ffcccc,stroke:#333,stroke-width:2px,font-weight:bold
    classDef level1sub fill:#ffeeee,stroke:#333,stroke-width:1px
    classDef level2 fill:#ccffcc,stroke:#333,stroke-width:2px,font-weight:bold
    classDef level2sub fill:#eeffee,stroke:#333,stroke-width:1px
    classDef level3 fill:#ccccff,stroke:#333,stroke-width:1px
    classDef web fill:#ccddff,stroke:#333,stroke-width:1px
    classDef cloud fill:#ccffdd,stroke:#333,stroke-width:1px
    classDef data fill:#ffccdd,stroke:#333,stroke-width:1px
    classDef infra fill:#ffffcc,stroke:#333,stroke-width:1px
    classDef ai fill:#f8d8ff,stroke:#333,stroke-width:1px
    classDef web3 fill:#d8f8ff,stroke:#333,stroke-width:1px
    classDef opensource fill:#ffe8d8,stroke:#333,stroke-width:1px
    classDef task fill:#dddddd,stroke:#333,stroke-width:1px
    classDef goal fill:#ddffff,stroke:#333,stroke-width:1px
    classDef center fill:#ffff99,stroke:#333,stroke-width:3px,font-weight:bold
    classDef select fill:#ffddaa,stroke:#333,stroke-width:2px,font-weight:bold
    classDef llm fill:#ffe6cc,stroke:#333,stroke-width:1px,font-style:italic
    
    class OSS center
    class 레벨1,TERMINAL,SHELL,LINUX,GIT,DATAFORMAT,COMPSYS,NETWORK level1
    class 터미널스킬,쉘환경설정,LLM기본,데이터포맷,컴퓨터구조,네트워크기초 level1sub
    class TERM1,TERM2,TERM3,TERM4,TERM5,RC,PROFILE,PATH,ENV,ALIAS level1sub
    class DF1,DF2,DF3,DF4,CS1,CS2,CS3,CS4,NET1,NET2,NET3,NET4 level1sub
    class LLM1,LLM2,LLM3,LLM4 llm
    class 레벨2,GITHUB,DOCKER,REMOTE,DATAADV,SYSADV,NETADV level2
    class 개발환경,CI도구,서버관리,LLM도구,데이터응용,시스템이해,네트워크응용 level2sub
    class VER1,VER2,RESHIM,VENV,ACTIONS,JENKINS,GITLAB level2sub
    class SSH,SCP,BARE,SCREEN level2sub
    class DFA1,DFA2,DFA3,DFA4,SYS1,SYS2,SYS3,SYS4,NETA1,NETA2,NETA3,NETA4 level2sub
    class CURSOR,VSCODE,MCP,OLLAMA llm
    class 웹인 web
    class 클인 cloud
    class 데인 data
    class 인인 infra
    class AI인 ai
    class WEB3인 web3
    class 오픈인 opensource
    class W1,W2,W3,W4 web
    class CL1,CL2,CL3,CL4,CL5 cloud
    class DS1,DS2,DS3,DS4 data
    class INF1,INF2,INF3,INF4 infra
    class AI1,AI2,AI3,AI4,AI5,AI6 ai
    class WEB31,WEB32,WEB33,WEB34,WEB35,WEB36 web3
    class OS1,OS2,OS3,OS4,OS5,OS6 opensource
    class 웹과제,클과제,데과제,인과제,AI과제,WEB3과제,오픈과제,레벨1과제,레벨2과제 task
    class 최종목표,G1,G2,G3,G4,G5,G6 goal
    class 선택 select
Loading
@hongsw
Copy link
Author

hongsw commented Apr 3, 2025

@hongsw
Copy link
Author

hongsw commented Apr 4, 2025

[ByteByteGo] Why Everyone’s Talking About MCP?
https://www.youtube.com/watch?v=_d0duu3dED4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment