İçeriğe geç
parazade

Ortam Değişkeni Nedir?

İngilizce: Environment Variable

Yayın: · Son güncelleme:

Ortam Değişkeni Nedir? Kısaca

Ortam değişkeni (environment variable), işletim sisteminde ya da bir programın çalıştığı ortamda tanımlanan ve programların okuyabildiği ad-değer çiftidir. Ayarları ve gizli bilgileri kodun içine yazmadan programa aktarmak için kullanılır.

Ortam Değişkeni nedir?
İçindekiler
  1. Ortam değişkeni nedir?
  2. Ne işe yarar?
  3. Nasıl kullanılır?
  4. Nelere dikkat etmeli?

Ortam değişkeni nedir?

Ortam değişkeni, bir programın çalıştığı ortamdan okuduğu adlandırılmış bir değerdir. Örneğin DB_PASSWORD=gizli123 gibi bir tanım, veritabanı şifresini program koduna yazmadan programa iletir. Değişkenler işletim sistemi, terminal oturumu ya da sunucu ayarları üzerinden tanımlanır.

Ne işe yarar?

En önemli kullanım, ayarları koddan ayırmaktır. Aynı uygulama geliştirme ortamında test veritabanına, canlı ortamda gerçek veritabanına bağlanmalıdır. Kodu her ortam için değiştirmek yerine, her ortamda farklı ortam değişkeni tanımlanır.

Güvenlik de bir o kadar önemlidir. Bir API anahtarı kodun içine yazılır ve kod herkese açık bir depoya gönderilirse, anahtar kötü niyetli kişilerin eline geçebilir. Anahtar ortam değişkeninde tutulduğunda kodda yalnız değişkenin adı görünür.

Nasıl kullanılır?

Linux ve macOS terminalinde export API_KEY=abc123 komutuyla bir değişken tanımlanır. Python'da bu değer os.environ["API_KEY"], Node.js'te process.env.API_KEY ile okunur.

Projelerde genellikle .env adlı bir dosya kullanılır. Dosyanın her satırında AD=DEĞER biçiminde bir ayar bulunur ve dotenv gibi kütüphaneler bu dosyayı program açılırken okur. Örnek anahtarlar ise boş değerlerle .env.example dosyasında paylaşılır.

Nelere dikkat etmeli?

.env dosyanızı mutlaka .gitignore listesine ekleyin. Yanlışlıkla bir anahtarı paylaştıysanız, dosyayı silmek yetmez; anahtarı hizmet sağlayıcının panelinden iptal edip yenisini oluşturun. Değişken adlarını büyük harf ve alt çizgiyle yazmak yaygın bir alışkanlıktır ve okumayı kolaylaştırır.

Sıkça Sorulan Sorular

PATH ortam değişkeni ne işe yarar?

PATH, işletim sisteminin bir komutu hangi klasörlerde arayacağını belirten listedir. Terminalde `python` yazdığınızda sistem, programı PATH'teki klasörlerde arar; bulamazsa "komut bulunamadı" hatası verir.

.env dosyası Git'e eklenir mi?

Eklenmemelidir. .env dosyası genellikle şifre ve API anahtarı içerir; bu yüzden .gitignore dosyasına yazılarak sürüm kontrolünün dışında tutulur.

İlgili terimler

Konfigürasyon Dosyası(Configuration File)Konfigürasyon dosyası, bir programın nasıl çalışacağını belirleyen ayarların kodun dışında tutulduğu dosyadır. Bağlantı adresleri, port numaraları ve özellik açma kapama seçenekleri gibi bilgiler JSON, YAML, INI ya da .env biçiminde saklanır.API Anahtarı(API Key)API anahtarı (API key), bir uygulamanın ya da kullanıcının bir API'ye istek gönderirken kimliğini kanıtlamak için kullandığı benzersiz ve gizli karakter dizisidir. Parola gibi korunması gerekir.Geliştirme Ortamı(Development Environment)Geliştirme ortamı (development environment), yazılımcının kod yazdığı, çalıştırdığı ve ilk denemeleri yaptığı ortamdır. Genelde kişinin kendi bilgisayarında kurulur ve kod editörü, programlama dili, veritabanı gibi araçları içerir.Canlı Ortam(Production Environment)Canlı ortam (production), yazılımın gerçek kullanıcılara hizmet verdiği, gerçek verilerle çalışan asıl sistemdir. Bir web sitesinin herkesin ziyaret ettiği hâli canlı ortamda çalışır ve buradaki hata doğrudan kullanıcıyı etkiler.TerminalTerminal, bilgisayara fare ve pencereler yerine yazılı komutlarla talimat vermeyi sağlayan metin tabanlı arayüz programıdır. Yazdığınız komutları arka plandaki shell programına iletir ve sonucunu ekranda gösterir.Değişken(Variable)Değişken, programlamada bir değeri bellekte saklamak için kullanılan isimli alandır. İçindeki değer program çalışırken okunabilir ve değiştirilebilir; örneğin `fiyat = 250` satırı fiyat adlı bir değişken oluşturur.PythonPython, okunabilir ve sade sözdizimiyle bilinen, genel amaçlı, açık kaynaklı bir programlama dilidir. Veri bilimi, yapay zekâ, otomasyon ve web geliştirmede en yaygın kullanılan dillerden biridir.