Maantano Tickerλ macOS λ©λ΄λ°μ μ€μκ° μ£Όμ μμΈλ₯Ό νμνλ κ²½λ λ°μ€ν¬ν± μ±μ λλ€. νκ΅(λ€μ΄λ² μ¦κΆ API) λ° λ―Έκ΅(Yahoo Finance API) μ£Όμμ λͺ¨λ μ§μνλ©°, κΉλν UIμ νΈλ¦¬ν κΈ°λ₯μΌλ‘ μ£Όμ ν¬μμλ€μ λͺ¨λν°λ§μ λμ΅λλ€.
β οΈ μ£Όμ: λ©λ΄λ°μ μμ ―μ΄ λ무 λ§κ±°λ, ν μ€νΈ ν¬κΈ°κ° λ©λ΄λ°λ³΄λ€ ν΄ κ²½μ° μ λ³΄κ° μλ €μ 보μ΄μ§ μμ μ μμ΅λλ€. μ΄ κ²½μ° μ€μ μμ ν μ€νΈ ν¬κΈ°λ₯Ό μ€μ΄κ±°λ λ€λ₯Έ λ©λ΄λ° μμ ―μ μ κ±°ν΄μ£ΌμΈμ.
- π λ€μ€ μμ₯ μ§μ: νκ΅ μ£Όμ(KOSPI/KOSDAQ) λ° λ―Έκ΅ μ£Όμ(NASDAQ/NYSE/AMEX) λμ μ§μ
- π μ€μκ° μμΈ μ‘°ν: λ€μ΄λ² μ¦κΆ + Yahoo Finance APIλ₯Ό ν΅ν μ€μκ° μ£Όκ° λ°μ΄ν°
- π₯οΈ λ©λ΄λ° ν΅ν©: macOS λ©λ΄λ°μ 첫 λ²μ§Έ μ’ λͺ©μ νμ¬κ°, λ±λ½λ₯ νμ
- π¨ μμ 컀μ€ν°λ§μ΄μ§: λ©λ΄λ° ν μ€νΈ μμμ 10κ°μ§ 컬λ¬λ‘ λ³κ²½ κ°λ₯
- π ν μ€νΈ ν¬κΈ° μ‘°μ : Tiny, Small, Medium, Large 4κ°μ§ ν¬κΈ° μ΅μ
- π λ€μ€ μ’ λͺ© κ΄λ¦¬: μ¬λ¬ μ’ λͺ©μ λμμ μΆμ λ° κ΄λ¦¬
- π μ€λ§νΈ κ²μ: μ’
λͺ©λͺ
/μ½λ μλμμ± κ²μ
- νκ΅: μ½μ€νΌ/μ½μ€λ₯ 4,000+ μ’ λͺ©
- λ―Έκ΅: μ£Όμ 100+ μ’ λͺ© (AAPL, MSFT, TSLA λ±)
- β±οΈ μλ μ λ°μ΄νΈ: 5μ΄ κ°κ²© μλ μμΈ κ°±μ
- π κ±°λ μκ° μ§μ:
- νκ΅: μ κ·μ₯ 09:00-15:30, μκ°μΈ λ¨μΌκ° 08:30-09:00, μκ°μΈ μ’ κ° 15:40-18:00
- λ―Έκ΅: μ κ·μ₯ 09:30-16:00 (EST/EDT)
- macOS 10.14 (Mojave) μ΄μ
- Node.js 20.x μ΄μ
κ°μ₯ κ°νΈν λ°©λ²μ λλ€. Gatekeeper κ²½κ³ μμ΄ λ°λ‘ μ€νλ©λλ€.
# μ€μΉ
brew install --cask maantano/maantano/maantano-ticker
# μ
κ·Έλ μ΄λ
brew upgrade --cask maantano-ticker
# μμ
brew uninstall --cask maantano-ticker# μ μ₯μ ν΄λ‘
git clone https://github.com/YOUR_USERNAME/maantano-ticker.git
cd maantano-ticker
# μμ‘΄μ± μ€μΉ
npm install
# κ°λ° λͺ¨λλ‘ μ€ν
npm run dev
# νλ‘λμ
λΉλ
npm run buildλΉλλ μ±μ dist/ ν΄λμ μμ±λ©λλ€.
- μ±μ μ€ννλ©΄ λ©λ΄λ°μ μ°¨νΈ μμ΄μ½μ΄ νμλ©λλ€
- μμ΄μ½μ ν΄λ¦νμ¬ λ©μΈ μ°½μ μ½λλ€
- νμ λ©μμ§λ₯Ό νμΈνκ³ "νμΈ" λ²νΌμ ν΄λ¦ν©λλ€
- λ©μΈ μ°½μμ "+ μ’ λͺ© μΆκ°" λ²νΌ ν΄λ¦
- κ²μμ°½μ μ’ λͺ©λͺ λλ μ½λ μ λ ₯ (μ: "μΌμ±μ μ", "005930")
- μλμμ± λͺ©λ‘μμ μνλ μ’ λͺ© μ ν
- μ’ λͺ©μ΄ 리μ€νΈμ μΆκ°λ¨
- μμ λ³κ²½: μ’ λͺ©μ λλκ·Έ μ€ λλ‘μΌλ‘ μ΄λ
- μ’ λͺ© μμ : κ° μ’ λͺ© μ°μΈ‘μ "μμ " λ²νΌ ν΄λ¦
- μλ μ λ°μ΄νΈ: νλ¨μ μλ‘κ³ μΉ¨ λ²νΌ ν΄λ¦
- νλ¨μ μ€μ (βοΈ) λ²νΌ ν΄λ¦
- "ν μ€νΈ μμ" μΉμ μμ μνλ μμ μ ν
- λ©λ΄λ° ν μ€νΈ μμμ΄ μ¦μ λ³κ²½λ¨
νλ‘ νΈμλ
- Electron 28.x - λ°μ€ν¬ν± μ± νλ μμν¬
- Vanilla JavaScript - UI λ‘μ§
- CSS3 - μ€νμΌλ§
λ°±μλ
- Node.js - λ°νμ
- axios - HTTP μμ²
- cheerio - HTML νμ± (μΉ μ€ν¬λν)
- canvas - λ©λ΄λ° μμ΄μ½ λ λλ§
- electron-store - λ‘컬 λ°μ΄ν° μ μ₯
κ°λ° λꡬ
- electron-builder - μ± λΉλ λ° ν¨ν€μ§
- standard-version - μλ λ²μ κ΄λ¦¬
- GitHub Actions - CI/CD μλν
μ΄ νλ‘μ νΈλ Semantic Versioningκ³Ό Conventional Commitsλ₯Ό λ°λ¦ λλ€.
μμΈν λ¦΄λ¦¬μ€ νλ‘μΈμ€λ RELEASE.mdλ₯Ό μ°Έμ‘°νμΈμ.
- μ 곡λλ μ£Όμ μμΈ λ°μ΄ν°μ μ νμ±μ 보μ₯νμ§ μμ΅λλ€
- μ΄ λ°μ΄ν°λ₯Ό λ°νμΌλ‘ ν ν¬μ κ²°μ μ λν μ± μμ μ μ μΌλ‘ μ¬μ©μμκ² μμ΅λλ€
- ν¬μ μμ€μ λν΄ κ°λ°μλ μ΄λ ν μ± μλ μ§μ§ μμ΅λλ€
- κ³Όλν API μμ²μΌλ‘ μΈν IP μ°¨λ¨ κ°λ₯μ±μ΄ μμ΅λλ€
- κ°μΈμ μΈ μ©λλ‘λ§ μ¬μ©νμκΈ° λ°λλλ€
- μμ μ μ¬μ© λλ λλ λ°°ν¬ μ λ€μ΄λ² μΈ‘μμ λ²μ μ‘°μΉλ₯Ό μ·¨ν μ μμ΅λλ€
- λ€μ΄λ² κΈμ΅μ robots.txt λ° μ΄μ©μ½κ΄μ μ€μν΄μΌ ν©λλ€
μ΄ μ±μ λ€μ΄λ‘λνκ±°λ μ¬μ©ν¨μΌλ‘μ¨, μμ λͺ¨λ μ‘°νμ λμνλ κ²μΌλ‘ κ°μ£Όλ©λλ€.
μ΄ νλ‘μ νΈλ MIT λΌμ΄μ μ€ νμ λ°°ν¬λ©λλ€. μμΈν λ΄μ©μ LICENSE νμΌμ μ°Έμ‘°νμΈμ.
λ¨, λ€μ΄λ² κΈμ΅ λ°μ΄ν°μ μ μκΆμ λ€μ΄λ²μ μμΌλ©°, μ΄ λΌμ΄μ μ€λ ν΄λΉ λ°μ΄ν°μ μ μ©λμ§ μμ΅λλ€.
- μ°¨νΈ μμ΄μ½: Freepik - Flaticon
- λ€λ‘ νμ΄ν μμ΄μ½: Andrean Prabowo - Flaticon
- μ£Όμ λ°μ΄ν°: λ€μ΄λ² κΈμ΅
- λ²κ·Έ 리ν¬νΈ: Issues
- κΈ°λ₯ μμ²: Issues
- λ¬Έμ: contact@maantano-ticker.com
Maantano Tickerλ‘ λ μ€λ§νΈν ν¬μ λͺ¨λν°λ§μ κ²½ννμΈμ!
β μ΄ νλ‘μ νΈκ° λμμ΄ λμ ¨λ€λ©΄ Starλ₯Ό λλ¬μ£ΌμΈμ!
