GitHub에 올라온 수억 개의 프로젝트 — 여기에 세상에서 가장 쩌는 코드가 전부 공개되어 있습니다. 무료로요. 전 세계 1억 명의 개발자가 자기 코드를 공짜로 내놓고, 서로 도우며, 함께 만들어갑니다. 이 문화를 이해하면 프로그래밍의 세계가 완전히 다르게 보입니다. 이 글에서는 GitHub을 실전에서 활용하는 법부터, 앱을 만드는 여러 방법, 그리고 2026년 현재 가장 뜨거운 미래 기술까지 한 번에 다룹니다.
GitHub에는 3억 개 이상의 저장소가 있습니다. 보물이 산더미인데 어디서부터 찾아야 할까요?
"awesome-{주제}"라는 이름의 저장소는 해당 분야의 최고 도구/라이브러리/자료를 정리한 큐레이션 리스트입니다. GitHub 문화의 핵심입니다.
awesome — Awesome 리스트들의 Awesome 리스트 (메타 리스트). Star 33만+awesome-python — Python 라이브러리 총정리. 웹, 데이터, AI, 자동화 분야별awesome-javascript — JS 프레임워크, 도구, 유틸리티awesome-react — React 컴포넌트, 라이브러리, 튜토리얼awesome-selfhosted — 직접 서버에 설치해서 쓸 수 있는 소프트웨어. Notion 대체, Slack 대체 등awesome-docker — Docker 이미지, 도구, 튜토리얼awesome-machine-learning — ML/DL 프레임워크, 데이터셋, 논문free-programming-books — 무료 프로그래밍 책 모음 (한국어 포함!)public-apis — 무료로 쓸 수 있는 API 1400+ 목록the-book-of-secret-knowledge — 시스템 관리자/DevOps 도구 총정리GitHub Issues는 프로젝트의 "게시판"입니다. 버그를 제보하거나 기능을 요청하거나 질문할 수 있습니다.
오픈소스에 기여하는 핵심 방법입니다. "이 코드를 이렇게 고쳤는데, 원본에 반영해주세요"라는 제안입니다.
Vol.4에서 CI/CD 파트에서 다뤘지만, GitHub Actions는 CI/CD 말고도 다양하게 씁니다.
GitHub 저장소의 HTML/CSS/JS 파일을 무료로 웹사이트로 배포할 수 있습니다. 서버 없이!
GitHub 프로필을 포트폴리오처럼 꾸밀 수 있습니다. "내 이름과 같은 저장소"에 README.md를 만들면 프로필 페이지에 표시됩니다.
github-readme-stats — 커밋/PR/이슈 통계 뱃지github-readme-streak-stats — 연속 커밋 스트릭github-profile-trophy — 트로피 뱃지shields.io — 기술 스택 뱃지 생성GitHub에서 프로그램을 설치하는 방법은 여러 가지입니다. 프로젝트마다 다르므로 README를 먼저 읽는 게 중요합니다.
개발자가 미리 컴파일해놓은 실행 파일을 다운로드합니다.
pip install yt-dlp 또는 Release에서 exe 다운로드. yt-dlp "https://youtube.com/watch?v=xxx"brew install ripgrep 또는 cargo install ripgrep. grep보다 10배 빠름brew install bat. 문법 강조 + 줄번호가 있는 cat 대체brew install fzf. 파일, 명령어 히스토리를 초고속 검색. 터미널 생산성 5배↑brew install lazygit. 터미널에서 Git을 시각적으로 관리. 커밋, 브랜치, 머지를 GUI처럼npm install -g tldr. tldr tar 하면 tar의 핵심 사용법만 보여줌pip install httpie. http GET api.example.com — 컬러 출력, 자동 JSON 포맷git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui → ./webui.sh. GPU 필요curl -fsSL https://ollama.com/install.sh | sh → ollama run llama3. 내 PC에서 AI 모델 실행git clone → npm install → npm start. 또는 excalidraw.com에서 바로 사용docker run -d -p 3001:3001 louislam/uptime-kuma. 서버가 죽으면 알림. BruDash에도 적용 가능프로그래밍 언어마다 고유한 패키지 매니저가 있고, 그 위에 다양한 도구들이 쌓여 있습니다. 이 생태계를 이해하면 어떤 프로젝트든 빠르게 환경을 세팅할 수 있습니다.
| 언어 | 패키지 매니저 | 레지스트리 | 설정 파일 | 잠금 파일 |
|---|---|---|---|---|
| Python | pip, pipenv, poetry, uv | PyPI | requirements.txt / pyproject.toml | requirements.txt / poetry.lock |
| JavaScript | npm, yarn, pnpm, bun | npmjs.com | package.json | package-lock.json / yarn.lock |
| Rust | cargo | crates.io | Cargo.toml | Cargo.lock |
| Go | go mod | pkg.go.dev | go.mod | go.sum |
| Ruby | gem, bundler | RubyGems | Gemfile | Gemfile.lock |
| PHP | composer | Packagist | composer.json | composer.lock |
| Java | Maven, Gradle | Maven Central | pom.xml / build.gradle | - |
| Swift | Swift Package Manager | Swift Package Index | Package.swift | Package.resolved |
package.json에 "express": "^4.18.0"이라고 쓰면 4.18.0 이상 아무 버전이나 설치됩니다. 오늘은 4.18.2가 설치되고, 한 달 후에는 4.19.0이 설치될 수 있죠. 잠금 파일은 "지금 정확히 이 버전을 설치해라"를 기록합니다. 팀원 모두가 동일한 버전을 쓰게 되어 "내 컴퓨터에서는 되는데?" 문제를 방지합니다.
"오픈소스 = 뭐든 해도 된다"가 아닙니다. 라이선스마다 조건이 다릅니다.
| 라이선스 | 조건 | 상업적 사용 | 대표 프로젝트 |
|---|---|---|---|
| MIT | 거의 제한 없음. 저작권 표시만 하면 됨 | ✅ 자유 | React, jQuery, Node.js |
| Apache 2.0 | MIT와 비슷 + 특허권 허여 | ✅ 자유 | Kubernetes, TensorFlow |
| BSD | MIT와 거의 동일 | ✅ 자유 | Nginx, FreeBSD |
| GPL v3 | 수정한 코드도 GPL로 공개해야 함 (감염성) | ⚠️ 조건부 | Linux 커널, GCC, WordPress |
| LGPL | 라이브러리로 사용 시 내 코드는 공개 안 해도 됨 | ✅ 대부분 OK | FFmpeg, GTK |
| AGPL | GPL + 웹 서비스로 제공해도 소스 공개 필요 | ⚠️ 매우 제한적 | MongoDB (구 버전) |
| Unlicense | 퍼블릭 도메인. 아무 제한 없음 | ✅ 완전 자유 | 일부 소형 프로젝트 |
feat: 기능 추가, fix: 버그 수정, docs: 문서 수정, refactor: 코드 정리오픈소스의 이면: 수백만 명이 쓰는 프로젝트의 메인테이너가 무급 봉사로 유지보수하는 경우가 많습니다. 2024년 xz 백도어 사건에서 드러난 것처럼, 번아웃된 메인테이너의 프로젝트에 악의적 기여자가 침투해 보안 위협이 되기도 합니다. GitHub Sponsors, Open Collective 등을 통해 후원하는 문화가 퍼지고 있습니다.
앱을 만드는 방법은 놀라울 정도로 다양합니다. 각 방법의 특성을 이해하면 프로젝트에 맞는 최적의 선택을 할 수 있습니다.
| 방식 | 언어 | 플랫폼 | 성능 | 적합한 곳 |
|---|---|---|---|---|
| 네이티브 iOS | Swift | iOS만 | 최고 | 카카오뱅크, 배민 |
| 네이티브 Android | Kotlin | Android만 | 최고 | 삼성 앱들 |
| React Native | JavaScript | iOS + Android | 좋음 | Instagram, Discord |
| Flutter | Dart | iOS + Android + Web + Desktop | 매우 좋음 | Google Pay, BMW |
| PWA | HTML/CSS/JS | 모든 플랫폼 | 보통 | Twitter Lite, Starbucks |
| Electron | HTML/CSS/JS | Windows + Mac + Linux | 무거움 | VS Code, Slack, Discord |
| Tauri | HTML/CSS/JS + Rust | Windows + Mac + Linux | 가벼움 | Electron 대체 |
애플의 Xcode + Swift, 구글의 Android Studio + Kotlin으로 각 플랫폼에 최적화된 앱을 만듭니다. 카메라, GPS, 푸시 알림 등 기기의 모든 기능을 100% 활용할 수 있습니다.
Meta(페이스북)가 2015년에 만든 크로스플랫폼 프레임워크. JavaScript/TypeScript 하나로 iOS와 Android 앱을 동시에 만듭니다.
Google이 2018년에 만든 크로스플랫폼 프레임워크. Dart 언어를 사용하며, iOS/Android/Web/Desktop 4개 플랫폼을 모두 지원합니다. 자체 렌더링 엔진(Skia/Impeller)을 사용해서 모든 플랫폼에서 동일한 UI를 보장합니다.
| Apple App Store | Google Play Store | |
|---|---|---|
| 개발자 등록비 | $99/년 (매년 갱신) | $25 (1회) |
| 심사 기간 | 1~7일 (까다로움) | 1~3일 (상대적으로 관대) |
| 수수료 | 매출의 15~30% | 매출의 15~30% |
| 필요 장비 | Mac 필수 (Xcode) | Mac/Windows/Linux |
| 테스트 배포 | TestFlight | 내부/비공개 테스트 트랙 |
웹사이트를 앱처럼 만드는 기술입니다. 앱스토어에 올리지 않아도 브라우저에서 "홈 화면에 추가"하면 앱처럼 사용할 수 있습니다.
Electron은 Chrome 브라우저를 통째로 내장해서 웹 기술로 데스크톱 앱을 만듭니다. VS Code, Slack, Discord, Notion이 전부 Electron입니다. 편리하지만 무겁습니다 (Slack만 RAM 500MB+).
Tauri는 Electron의 대안입니다. OS 기본 웹뷰를 사용하고 백엔드를 Rust로 작성해서, Electron보다 앱 크기 1/100, 메모리 1/10 수준입니다. 2022년 정식 출시 후 빠르게 성장 중입니다.
Python은 인터프리터 언어라 python3 script.py로 실행합니다. Python이 설치 안 된 컴퓨터에서는 실행이 안 되죠. PyInstaller는 Python 스크립트를 독립 실행 파일(.exe, .app)로 변환합니다. Python 없이도 더블클릭으로 실행 가능!
BruDash의 자동매매 프로그램은 윈도우 PC에서 키움 API를 사용합니다. 이 Python 스크립트를 PyInstaller로 exe로 만들면, 키움 자동매매 프로그램을 독립적으로 실행할 수 있습니다.
API (Application Programming Interface)는 프로그램끼리 대화하는 방법입니다. 레스토랑에서 메뉴판이 API이고, 주문하는 행위가 API 호출이며, 음식이 나오는 게 응답(Response)입니다.
좋은 API는 일관성 있는 규칙을 따릅니다. REST(Representational State Transfer) 원칙을 따르는 API를 RESTful API라 합니다.
대부분의 API는 일정 시간에 보낼 수 있는 요청 수를 제한합니다. 이를 Rate Limit이라 합니다.
| API | 무료 제한 | 초과 시 |
|---|---|---|
| GitHub API | 인증: 5,000 요청/시간, 비인증: 60 요청/시간 | 429 Too Many Requests |
| OpenAI | 티어별 다름 (TPM/RPM) | 429 + Retry-After 헤더 |
| Telegram Bot | 30 메시지/초 (그룹: 20/분) | 429 + retry_after 필드 |
| 네이버 API | 25,000 요청/일 | 429 |
| Yahoo Finance | 비공식 — 과도하면 IP 차단 | 연결 거부 |
일반 API는 "요청 → 응답" 구조입니다. Webhook은 반대로, 이벤트가 발생하면 서버가 먼저 우리에게 알려줍니다.
웹 스크래핑은 웹페이지에서 데이터를 자동으로 수집하는 기술입니다. BruDash도 뉴스, 주가, 텔레그램 데이터를 스크래핑으로 수집합니다.
Microsoft가 만든 브라우저 자동화 도구. Selenium보다 빠르고, 설정이 쉽고, 안정적입니다. 2026년 기준 새 프로젝트에서는 Playwright를 권장합니다.
수만 페이지를 체계적으로 수집해야 할 때 사용합니다. 비동기로 동작해서 매우 빠르고, 데이터 파이프라인(수집→정제→저장)을 한 번에 관리합니다.
웹사이트들은 봇을 차단하기 위해 다양한 방어 기법을 씁니다. 이를 이해하면 정당한 데이터 수집 시 "왜 차단되는지" 파악할 수 있습니다.
| 방어 기법 | 원리 | 대응 (정당한 용도) |
|---|---|---|
| User-Agent 체크 | 봇의 기본 User-Agent 차단 | 브라우저와 동일한 User-Agent 사용 |
| IP Rate Limit | 같은 IP에서 과도한 요청 차단 | 요청 간격 유지 (1~3초), 프록시 로테이션 |
| JavaScript 렌더링 | HTML에 데이터를 안 넣고 JS로 로딩 | Selenium/Playwright 사용 |
| CAPTCHA | 사람/봇 구분 퍼즐 | 수동 해결 또는 API 서비스 |
| Cloudflare 챌린지 | JS 퍼즐 + 봇 탐지 | cloudscraper 라이브러리 |
| Honeypot | 숨겨진 링크를 봇만 클릭 | display:none 요소 무시 |
BruDash는 다양한 소스에서 데이터를 수집합니다:
- 키움 API — COM 인터페이스로 실시간 주가/호가/체결 데이터
- pykrx — KRX(한국거래소) 공식 데이터 (OHLCV, 투자자별 매매동향)
- 텔레그램 Bot API — 증권 뉴스 채널, 핫멘션, 특징주 수집
- 웹 스크래핑 — 38커뮤니케이션(IPO), 네이버증권, 뉴스 사이트
- yfinance — 미국 주식, 원자재, 환율 데이터
- 증권사 리포트 PDF — expert_rag.py로 RAG 검색
모든 데이터는 SQLite(kiwoom_data.db, sector_cache.db)에 저장되어 시황 보고서에 활용됩니다.
| 도구 | 환경 | 난이도 | 강점 | 적합한 곳 |
|---|---|---|---|---|
| Chart.js | 웹 (JavaScript) | 쉬움 | 빠른 구현, 반응형 | 대시보드, 간단한 차트 |
| D3.js | 웹 (JavaScript) | 어려움 | 무한한 자유도, SVG 제어 | 뉴욕타임즈급 인포그래픽 |
| ECharts | 웹 (JavaScript) | 중간 | 차트 종류 풍부, 인터랙티브 | 대시보드, 금융 차트 |
| TradingView | 웹 (embed) | 쉬움 | 주식 차트 전문 | 주식/코인 사이트 |
| matplotlib | Python | 중간 | 과학/분석 표준 | Jupyter 노트북, 리서치 |
| Plotly | Python/웹 | 중간 | 인터랙티브, 3D | 데이터 분석 대시보드 |
D3(Data-Driven Documents)는 뉴욕타임즈, 워싱턴포스트 등 유명 미디어의 인터랙티브 차트에 사용되는 라이브러리입니다. SVG를 직접 제어해서 상상 가능한 거의 모든 시각화를 만들 수 있지만, 학습 난이도가 높습니다.
TradingView는 주식/코인/원자재 차트를 무료로 임베드할 수 있는 위젯을 제공합니다. 코드 몇 줄이면 전문가급 차트가 웹페이지에 들어갑니다.
내가 필요한 건:
• 빠르게 웹에 차트 넣기 → Chart.js (쉬움, 반응형)
• 주식 전용 차트 → TradingView 위젯 (무료, 전문가급)
• Python에서 분석+시각화 → matplotlib (정적) 또는 Plotly (인터랙티브)
• 뉴욕타임즈급 커스텀 차트 → D3.js (어렵지만 무한 자유)
• 대시보드 앱 → Plotly Dash 또는 Streamlit
• 코드 없이 → Google Sheets 차트 또는 Tableau Public
BruDash 시황 보고서는 순수 HTML/CSS로 시각화합니다. 외부 라이브러리 의존 없이, CSS Grid, Flexbox, 색상 코딩만으로 정보를 시각화합니다. 이 방식은 로딩이 빠르고, 어떤 기기에서든 안정적으로 동작합니다. Chart.js나 D3.js를 쓰면 더 화려하지만 로딩 속도와 모바일 호환성 면에서 트레이드오프가 있습니다.
기술은 가속도적으로 발전합니다. 10년 전에는 상상도 못한 것들이 이미 현실이 되고 있습니다. 지금 개발 중인 기술들이 5~10년 후에 우리 일상을 어떻게 바꿀지 살펴봅니다.
현재 인터넷(Web2)은 구글, 아마존, 메타 같은 거대 기업이 데이터를 소유합니다. Web3는 블록체인 기술로 사용자가 자신의 데이터를 직접 소유하는 인터넷을 추구합니다.
기존 컴퓨터는 0 또는 1(비트)을 처리합니다. 양자 컴퓨터는 0과 1을 동시에(큐비트) 처리할 수 있어서, 특정 문제에서 기존 컴퓨터보다 기하급수적으로 빠릅니다.
AR(증강현실)은 현실 위에 디지털 정보를 입히는 것(포켓몬GO), VR(가상현실)은 완전히 디지털 세계에 들어가는 것(메타 퀘스트), XR(확장현실)은 이 모든 것을 아우르는 용어입니다.
일론 머스크의 Neuralink가 2024년 첫 인체 이식 수술에 성공했습니다. 전신마비 환자가 뇌파로 마우스 커서를 움직여 체스를 두는 영상이 공개되었습니다.
자율주행은 Level 0(수동) ~ Level 5(완전 자율)로 구분됩니다. 2026년 현재 대부분 Level 2~3 수준이며, Waymo(구글)가 미국 일부 도시에서 Level 4 무인 택시를 운영 중입니다.
5G가 상용화된 지 얼마 안 됐는데 벌써 6G 연구가 진행 중입니다. 2030년경 상용화 목표.
테슬라 Optimus, Boston Dynamics Atlas, Figure 01 — 범용 휴머노이드 로봇이 빠르게 발전하고 있습니다.
2026년 현재 IT 업계에서 가장 뜨거운 키워드들입니다.
2025년까지는 "AI에게 질문하고 답을 받는" 방식(ChatGPT)이었다면, 2026년은 AI가 스스로 판단하고, 도구를 사용하고, 작업을 완수하는 "에이전트" 시대입니다.
클라우드 없이 내 PC/스마트폰에서 AI 모델을 돌리는 트렌드입니다.
Rust는 2015년 출시 후 매년 "가장 사랑받는 프로그래밍 언어" 1위를 차지하고 있습니다. 2026년에는 Linux 커널, Windows, Android, Chrome 등 핵심 소프트웨어에 Rust가 도입되면서 "이제 진짜 대세"가 되었습니다.
JavaScript는 빠르지만 C++만큼은 아닙니다. WebAssembly는 C/C++/Rust로 작성한 코드를 브라우저에서 네이티브에 가까운 속도로 실행하는 기술입니다.
실제 공장, 도시, 인체를 가상 공간에 1:1로 복제해서 시뮬레이션하는 기술입니다.
AI 학습에 엄청난 전력이 소모됩니다. GPT-4 한 번 학습에 소형 발전소 1년 전력이 필요합니다.
기존: "회사 네트워크 안에 있으면 안전" → 재택근무 시대에 맞지 않음. Zero Trust: "모든 접근을 의심하고, 매번 검증하라."
코드를 한 줄도 안 쓰고 드래그 앤 드롭으로 앱과 자동화를 만드는 플랫폼들입니다.
Vol.1부터 Vol.5까지, IT의 기초부터 미래 기술까지 모든 것을 다뤘습니다.
💬 브루대시 텔레그램 채널
매일 아침 모닝브리핑, 장중 긴급 알림, 새 분석글 소식을 먼저 받아 보세요.
텔레그램 채널 입장하기 →