Part I: Foundation

현대적인 연구 환경 구축에 필요한 핵심 기술들을 학습합니다.

🎯 Part I 학습 목표

재현 가능성(Reproducibility)효율적인 협업(Collaboration) 을 통해 모든 연구자가 동일하고 안전한 환경에서 작업할 수 있도록 합니다.

graph TD
    A[Linux & Shell] --> B[Development Environment]
    B --> C[Version Control]
    C --> D[Security & Cryptography]

    A --> A1[Unix Philosophy]
    A --> A2[File System]
    A --> A3[Process Management]

    B --> B1[Programming Paradigms]
    B --> B2[Nix Package Manager]
    B --> B3[Environment Management]

    C --> C1[Git Version Control]
    C --> C2[Collaboration Workflow]
    C --> C3[Research Data Versioning]

    D --> D1[Cryptography Fundamentals]
    D --> D2[Key Management]
    D --> D3[Data Security]

📚 Chapter 구성

Chapter 1: Linux & Shell Fundamentals

"모든 것의 기초가 되는 명령줄 환경"

연구 환경의 기반이 되는 Linux/Unix 시스템과 Shell 환경을 마스터합니다. 생물정보학과 데이터 분석에서 필수적인 명령줄 도구들을 학습합니다.

핵심 도구: bash, grep, awk, sed, find, xargs

Chapter 2: Development Environment

"재현 가능한 연구 환경 구축"

함수형 패키지 관리자 Nix를 통해 완전히 재현 가능한 개발 환경을 구축합니다. 의존성 충돌 없이 다양한 도구를 격리된 환경에서 사용하는 방법을 학습합니다.

핵심 도구: nix, nix-shell, flakes, direnv

Chapter 3: Version Control & Collaboration

"연구 코드와 데이터의 체계적 관리"

Git을 활용한 버전 관리와 GitHub을 통한 협업 워크플로우를 학습합니다. 연구 데이터의 버전 관리와 재현 가능한 분석 파이프라인 구축 방법을 다룹니다.

핵심 도구: git, github, git-lfs, dvc

Chapter 4: Security & Cryptography

"연구 데이터와 시스템 보안"

연구 환경에서 필요한 기본적인 보안 개념과 암호화 도구를 학습합니다. SSH 키 관리, 데이터 암호화, 비밀 정보 관리 방법을 다룹니다.

핵심 도구: ssh, gpg, age, sops


시작하기: Chapter 1: Linux & Shell Fundamentals에서 첫 번째 단계를 시작하세요