Konfigurasi Environment (Dev/Prod)
Penjelasan
Genie memisahkan konfigurasi berdasarkan environment lewat file di `config/env/`, misalnya `dev.jl` dan `prod.jl`, yang otomatis dimuat sesuai variabel environment `GENIE_ENV`. Ini memungkinkan pengaturan berbeda seperti level logging, kredensial database, atau mode debug tanpa mengubah kode aplikasi. Saat development, Genie biasanya aktifkan hot-reload dan pesan error detail; saat production, pengaturan ini dimatikan demi performa dan keamanan, mirip konvensi environment di framework web pada umumnya.
Contoh Konsep
# config/env/dev.jl
Genie.Configuration.config!(
server_port = 8000,
log_level = :debug,
format_julia_builtin_exceptions = true
)
# config/env/prod.jl
Genie.Configuration.config!(
server_port = 80,
log_level = :error,
format_julia_builtin_exceptions = false
)
# Menjalankan dengan environment tertentu (dari shell)
# GENIE_ENV=prod julia bin/server
Praktikum
Tulis konfigurasi environment production yang mematikan mode debug dan mengatur port ke 80.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Jangan pernah menjalankan aplikasi production dengan environment dev secara tidak sengaja — cek variabel `GENIE_ENV` sebagai bagian dari checklist deployment.