Bu site emekli olmuştur. Arşiv amaçlı olarak
BT AKADEMİ
sponsorluğunda yayın hayatına devam etmektedir.
Ana Sayfa
.net TV
Makaleler
Kaynak Kod
Haberler
Serbest Köşe
Canlı Köşe
Forum
C#nedir?
Ekibimiz
RSS
ASP.NET
C# / VC#/.NET
Mono ve .NET
Yazılım Müh.
YAZAR HAKKINDA
Caner Şahan
http://www.csharpnedir.com/
İletişme geçmek için
tıklayın
.
24
Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için
tıklayın
.
Yayınlanan diğer makaleleri için
tıklayın
.
İlgili etiketler:
altinda
anahtar
anahtarin
aracini
database?
diyebiliriz.
gconf?
kullanarak
kullanisli
okunabilir
oldugu
semalar
sisteminde
uygulamalarin
yapmak
Mono ve .NET
Caner Şahan
YAZI HAKKINDA
Türü
:
Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır.
Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi
:
Başlangıç
Kategori
:
Mono ve .NET
Yayınlanma Tarihi
:
17.5.2005
Okunma Sayısı
:
28183
Yorum Sayısı
:
0
yorum yaz
SİTE İÇİ ARAMA
Üye
GİRİŞİ
Üye girişi için
tıklayın
.
Kullanıcı Adı
Şifre
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
Şifremi / Kullanıcı Adımı unuttum.
C#nedir? hesabınız yok mu?
Üye olabilmek için
tıklayın
.
Serbest KÖŞE
(?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır.
Bu yazılar editör incelemesine girmeden yayınlanır.
Silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
Bende Yazmak İstiyorum
Blogroll
Turhal Temizer
Conda install environment.yml Package
24.11.2024
Turhal Temizer
Mac OS/X Removing CUDA
24.11.2024
Burak Selim Şenyurt
Rust ile ECS Yaklaşımını Anlamak
24.11.2024
Burak Selim Şenyurt
Birlikte Rust Öğrenelim Serisi
24.11.2024
Diğer Herşey
»
Makaleler RSS
»
Video Gönder
»
Makale Gönder
»
Serbest Köşeye Yazı Gönder
»
Yazar Başvurusu
»
C#nedir? Ekibinde Olmalıyım!
Sponsorlar
Ana Sayfa
/
Makaleler
/
Caner Şahan
/
Mono ve .NET
/
GConf ve Mono Bölüm 1
GConf ve Mono Bölüm 1
Favorilerime Ekle
Gönderiliyor lütfen bekleyin...
arkadaşıma gönder
Arkadaşınızın email adresi:
*
Mesajınız:
Mononun gconf ile çalışmasını incelemeden önce gconfun ne olduğuna, ne işe yaradığına bakmakta yarar olduğu kanısındayım. GConf a gnome masaüstü yönetim sisteminde uygulamaların referanslarının tutulduğu bir bilgi database i diyebiliriz. GConf modern uygulamalar geliştirmek için çok kullanışlı bir database dir. Buradaki database kelimesinden aklımıza Ms SQL veya MySql gelebilir fakat bahsi geçen database in çalışma şekli diğer gelişmiş veritabanı yönetim sistemlerinden biraz daha farklıdır. Hala daha neden bahsediyor bu adam yav diyerek kendi kendinize düşünüyor olabilirsiniz. Bu noktada hemen bir benzetme yaparak kafalardaki soru işaretlerini kaldırmak istiyorum. GConf için windows işletim sisteminde sıklıkla kullanılan Registry Editor un Gnome üzerindeki hali diyebiliriz. Umarım şimdi çoğu windows programcısı şöyle bir "hımmmm" diyerek koltuklarına yaslandılar. GConf, Gnome masaüstünü kurarken yüklenir. Eğer yüklemediyseniz de sorun değil çünkü açık kaynak kodlu yazılımlarda internet bağlantınızın olması yeterli. GConfu
ftp://ftp.gnome.org/pub/GNOME/sources/GConf/1.2
adresinden rahatlıkla günün 24 saati indirebilirsiniz.
şekil-1 registry editorunden bir görünüm
Şekil-2 GConf-Editorunden bir görünüm
GConf kendi içerisinde mantıksal olarak düzenlenmiş bir anahtar hiyararşisine sahiptir. Bu hiyararşinin sağlanması masaüstü uygulamalarının yönetimini kolaylaştırmıştır. Her bir dosyanın kendi anahtarı olabileceği gibi birden fazla da anahtara sahip olabilir. Anahtardan kastedilen kavram ise saklanacak ve referans gösterilecek olan değerlerdir. Mesela
/apps/metacity/general/titlebar_font
gibi bir hiyararşi lokasyonunu incelersek buradaki titlebar_font anahtarı integer bir deger tutmakta ve titlebar ın yazı karakteri boyutunu saklamaktadır.
Şekil-3 Anahtar ile ilgili bir örnek
Dosyaların altındaki her bir anahtarın çok güzel bir şekilde dökümante edildiğini görmekteyiz. Buda GConf un estetik ve yararlı bir yönü. Yukarıdaki şekillerde görmekte olduğumuz GConf-editor çok kullanışlı bir arayüz olmasına karşın tam olarak tamamlanamadığı için bazı özel işlemleri konsol ekranına girerek yapmak durumunda kalmaktayız. Bunun için
gconftool-2
konsol aracını kullanarak bu işlemleri rahatlıkla yapabiliyoruz. Bu aracı kullanarak Gconf içerisinde bir dizinin tüm altdizinlerini listeleyebiliriz. Örneğin, /desktop/gnome dizinin alltındaki tüm dosyaları;
Şekil-4 gconftool aracı kullanımı
GConf ta her değerin saklandığı lokasyonlar konfigürasyon kaynağı(configuration source) olarak isimlendirilir. Konfigürasyon kaynakları sistemizde /etc/gconf/<version>/ adresi altında bulunurlar. Bu lokasyonlarda gezinirken dosya ve dizin hiyararşisinden başka birşey olmadığının farkına varabilirsiniz. Bu dizinlerdeki dosyaların xml dosyaları olduğunu görüceksiniz.
Şekil-5 konfigürasyon kaynakları
Şekil-6 anahtarın metadatası
GConf ta bazı değerler kendiliğinden konfigüre edilmiş olarak gelirler ve değiştirilmelerine izin verilmez yani sadece okunabilir özelliğe sahiptirler. Bu özel konfigürasyonların sadece okunabilir olması bilmeyerekte olsa silinmesi gibi hataları önlemek içindir. Sadece okunabilir şekildeki konfigurasyonlar tüm sistem kullanıcıları için zorunlu(mandatory) edilen ayarlardır.
gconftool-2 xml:readonly: /etc/gconf/.xml.mandatory
gconftool-2 include "$(Home) /.gconf.path
gconftool-2 xml:readwrite: $(Home) /.gconf
gconftool-2 xml:readonly :/etc/gconf/gconf.xml.defaults
Görmüş olduğunuz komutlar gconftool-2 aracını kullanarak çeşitli ayarlamalar yapmak için kullanılır.
include
komutu kullanıcıların kendi konfigurasyon dosyalarını belirterek HOME dizin adresini içermesini sağlar.
readwrite
komutuda kullanıcının yapmış olduğu ayarların sonradan değiştirilebileceği anlamında kullanıcılara sunulmasıdır. readonly de yapmış olduğumuz ayarların sadece okunabilir olmasını ve sonradan değiştirilememesini sağlar.
Şemalar
Daha önce anahtarımın aslında bir xml dosyası altında tutulduğunu görmüştük. Bu xml dosyaları bir çok türden (int,string,boolean...) değerleri saklamaktadır. Bu değişkenler saklanırken belirli şemalar kullanılmaktadır. Şemalar bir demet metabilgisinin konfigürasyon ayarlarını tutar. Bu metabilgisi değerin tipini, ayarlar hakkında kısa bilgileri ve factory default değerlerini tutarlar. Şemalar /schemas dizin başlığı altında toplanırlar. gconftool-2 aracını kullanarak anahtarın kullandığı şema bilgilerini görebiliriz.
şekil-7 şemaların özellikleri
Genelde uygulama geliştiriciler bir yazılım geliştirirken kullandıkları şemayı kendileri yaratmak isterler ve geleneksel olarak bunu
.schemas
uzantısı ile kaydederler. Bu format insanların okuyabileceği bir yöntemdir. Fakat bu dosyalar gconf ile doğrudan kullanılamaz. Bunun yerine uygulamayı "make install" veya rpm/deb paketlerini yüklediğimiz zaman gconftool u kullanarak uygun şemalara geçmesini sağlarız. Şema dosyalarının bulunduğu yer ise /etc/gconf/schemas lokasyonudur.
Şekil-8 şema dosyalarının lokasyonları
GCong kullanıcılar için bekletici bir programdır(daemon)(gconfd)
GConf un ana olarak sağladığı her kullanıcı için bekletici bir program(daemon) olmasıdır. Bu daemon ın birinci özelliği uygulamanın konfigurasyon değeri değiştiği zaman uygulamayı uyarmasıdır. Daemon ların ikinci önemli bir görevide cache de değerleri tutması ve bu yüzden uygulamaların xml dosyalarını parse etme zorunluluğunu ortadan kaldırmasıdır. Daeman ın cachedeki değerini yeniden yüklemek ve tazeleme yapmak için gconftool-2 aracına SIGHUP sinyalini göndermemiz yeterlidir.
Uygulama geliştirici olarak dikkat edilmesi gereken önemli noktalar vardır. Bunlar anahtar isimlendirmeleridir. Genel olarak uygulamalarımız /app lokasyonu altında yerleşirler. Ayrıca anahtarları küçük harfle ve her kelime alt çizgi ile ayrılacak şekilde düzenlenir. Anahtar isimlendirmelerini bu şekilde yapmamız zorunlu değildir ama bu şekilde yapmamız okunabilirliği büyük oranda arttıracaktır. /app dizini altına açtığımız dosyaya direkt olarak deger vermekten sakınmalıyız. Bunun yerine mantıksal olarak düzenlenmiş altdosyalara değerler vermek çok daha doğru olacaktır. GConf içinde herşeyi saklamak önerilmemekte ve referans olabilecek değerlerin saklanması önerilmektedir. GConf u detaylı bir şekilde inceledikten sonra Mono ile kullanımına bir sonraki makalede geçeceğiz.
Diğer makalede görüşmek üzere...
kaynaklar:
www.go-mono.com
www.gnome.org/projects/gconf/
Makale:
GConf ve Mono Bölüm 1 Mono - Linux'ta .NET Caner Şahan
Yazılan Yorumlar
Yorum Yaz
Bu konu hakkında yayınlanan yorum bulunmamaktadır.
"Yorum Yaz" tabını kullanarak sizde yorumlarınızı yazabilirsiniz.
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için
tıklayın
.
Üye değilseniz
Üyel Ol
linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
Bu Konuda Son 10
Eklenen Son 10
Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
Dizayn ve Kodlama
bt
akademi
. Tüm Hakları Saklıdır © Copyright 2002-2009 c#nedir?com
Makaleler
Serbest Köşe
Makale Gönder
.Net TV
Video Gönder
Canlı Köşe
Kaynak Kod
Forum
Haberler
Röportajlar
Anketler
C# Nedir?
İletişim
Site Haritası
RSS
Favorilere Ekle
Üyelik
Hesap Aktivasyon
Ekibimiz
Ekibe Katıl