Zum Hauptinhalt springen
Echtzeit-Radar & Feeds
Alle RSS Feeds ➔
👥 Community & Social
IT Security NachrichtenHMD 106 Pure: Ultra-Simpel-Handy startet für nur rund 10 Euro(28.09.2026 um 19:22 Uhr)
•
IT NachrichtenGalaxy S25 Ultra One UI 9 Updates: The Beginning(28.09.2026 um 19:20 Uhr)
•
IT NachrichtenKiteworks lifts shutdown order after incident-free weekend(28.09.2026 um 15:21 Uhr)
•••••
IT NachrichtenSpaceX's latest Starship mission reached low-Earth orbit(28.09.2026 um 19:14 Uhr)
•••
IT Security NachrichtenHMD 106 Pure: Ultra-Simpel-Handy startet für nur rund 10 Euro(28.09.2026 um 19:22 Uhr)
•
IT NachrichtenGalaxy S25 Ultra One UI 9 Updates: The Beginning(28.09.2026 um 19:20 Uhr)
•
IT NachrichtenKiteworks lifts shutdown order after incident-free weekend(28.09.2026 um 15:21 Uhr)
•••••
IT NachrichtenSpaceX's latest Starship mission reached low-Earth orbit(28.09.2026 um 19:14 Uhr)
•••
Intelligence View
⚡ tsecurity.de Intelligence

I Built a Free Korean Astrology Site — Tech Stack and Lessons

Side project: built a free Korean Saju (4-pillar astrology) calculator. Sharing the tech stack and a few non-obvious gotchas. Stack Backend: Python 3.13, Flask Hosting: PythonAnywhere free tier Astronomy: Custom Meeus…

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!

Side project: built a free Korean Saju (4-pillar astrology) calculator. Sharing the tech stack and a few non-obvious gotchas.






Stack





  • Backend: Python 3.13, Flask


  • Hosting: PythonAnywhere free tier


  • Astronomy: Custom Meeus algorithm (no external library, 100s/day CPU limit)


  • No database: Charts are pure functions of input






Live site



https://tarofortune.pythonanywhere.com/en






Non-obvious lessons






1. Free tier CPU is precious



PythonAnywhere free tier gives 100 CPU seconds per day. Each Saju calculation iterates a Newton-style solver for solar term timing. Without caching, ~30 chart computations would burn through the limit.




from functools import lru_cache

@lru_cache(maxsize=4096)
def solar_term_jd(year: int, term_idx: int) -> float:
# ...






Solar terms repeat for the same (year, term) pair, so caching is essentially free.






2. Korean text on Windows console is hell



Default code page on Windows is cp949. Add python -X utf8 script.py or os.environ["PYTHONIOENCODING"] = "utf-8" to avoid UnicodeEncodeError on every print of Korean characters.






3. PythonAnywhere whitelist for outbound HTTPS



Free tier blocks outgoing HTTPS except to whitelisted domains. Plan for this if your app needs to call external APIs.






4. i18n the right way



I added /en/ prefix routing rather than per-template translation logic. Cleaner separation, easier SEO with hreflang.






What's next




  • Multi-language expansion (Japanese, Chinese)

  • Service Worker for offline support (done)

  • IndexNow integration for instant Bing/Naver indexing (done)



Open to feedback on the math or UX. Try the chart reader and let me know what's off.

Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten I Built a Free Korean Astrology Site — Tech Stack and Lessons

Thematisch verwandte Begriffe: Built, Free, Korean, Astrology · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

💬 Kommentare werden geladen…
Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-101073 | A security flaw has been discovered in Netcore NR289-GE 1.4.5102. Impac…
Advisory →
tsecurity.de Icon
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag