Geniş Dua Kartı-Ey Kalpleri Çeviren Allahım...

Elhamdülillahi rabbil-alemin. Vessalatü vessamu alaresulina Muhammedin ve ala alihi ve eshabihi ecmain. Ey kalpleri çeviren Allahım, beni ve kalbimi dinin üzerinde sabit kıl. Senin rızana uygun şekilde yaşamayı nasib et. Bizleri biran bile nefsimizle baş başa bırakma.Nefsimizin emrinde gezenlerden eyleme.Ya rabbel-alemin, hakkımızda hayırlı olanı nasib et. İşlerimizi kolaylaştır.Önümüzdeki engelleri kaldır. Bizleri senin rızana uygun işlerde istihdam et. İslam dininin yücelmesinde, insanlığın maddeten ve manen bizleri istihdam eyle. Bütün bunlara bizleri muvaffak kıl.Allahım. Ya rabbi bilmediklerimizi bize bildir. Bildiklerimizle yaşamayı nasib et. Faydasız ilimden, ürpermeyen kalpten, yaşarmayan gözden sana sığınırız. Sen bizleri koru Allahım. İlahi;beni,ana babamı, ailemi,evlatlarımı ve iman edenleri cehennem azabından ve dünyadaki kötülüklerden koru.Allahım , bizi Müslüman olarak vefat ettir ve cennette Salihlerde beraber eyle.İmanımızı yok etmeye çalışan şeytana fırsat verme. Şeytana karşı mağlup eyleme. Allahım, günahlara karşı,musibetlere karşı bizlere sabır ver, direnme gücü ver.İbadetleri terk etmeyen,ibadetlere sabırla devam eden kullarından eyle. Bizlere ibadetleri ihsan sırrıyla yapmayı nasib et. İbadetleri bize sevdir Allahım.Ya rabbi . Bizleri iman ve kur’an hizmetlerinden ayırma. Bizleri her zaman senin övdüğün cemaatinle eyle. Kur’an hizmetindeki büyüklerimizi başımızdan eksik etme. Onlara uzun ömür ver. Kur’an hizmetinde bulunan insanlar arasındaki muhabbeti artır. Onların arasına fitne sokma. Onları her türlü fitne ve kötülüklere karşı koru. Onlara hizmet etme aşkı ver. Onlara hizmetle dolu uzun ömür ver. Ecelleri geldiğinde onları şehit olarak yanına al Allahım.Dini için, vatanı ve millet için samimi olarak hizmet edenler üzerinde kurulan tuzakları boz Allahım. Ya rabbi onların önündeki engelleri kaldır, işlerini kolaylaştır.


 Allahım geçmiş ümmetlere merhamet ettiğin gibi bizlerede merhamet et, günahlarımızı bağışla,helak ettiğin milletler gibi bizleride helak etme. Ya rabbi bizlere kaldıramayacağımız yük yükleme. Kaldıramayacağımız yüklerle imtihan etme. İmtihanı kazananlardan eyle. Bizleri başıboş bırakma. Bizlere adaletinle değil rahmetinle muamele et. Bizleri insi ve cinni şeylerin şerrinden koru. Günahlarımızı bağışla. Bizlere ibadet neşesi ver. İçimizi dışımız gibi, dışımızı içimiz gibi eyle. Bizleri söz ve fiil bütünlüğüne muvaffak kıl. Bilerek veya bilmeyerek hata ettiysek bizleri hesaba çekme. Yaptıklarımızdan ötürü yüzümüzü ak et. Bizim Efendimiz(sav) utandırma. Onu ümmetinin yaptıklarıyla sevindir. Dünyada çok çekti ahirette güldür Allahım. Onun şefaatinden bizleri mahrum etme. Ya Rabbi, idarecilerimize basiret ver. Onları adaletten ayırma. Onlara senin rızan istikametinden ayırma. Allahım acizliklten, tembellikten, korkaklıktan, cimrilikten akli bedeni gücünü kaybedecek kadar çok yaşlanmaktan, katı kalplilikten, gaflete düşmekten, yoksulluktan, zelil ve miskin olmaktan, sana sığınırız. Fakirlikten, kafir olmaktan yalancılıktan, sapıklıktan, hakikate karşı gelmekten, münafıklıktan, sağırlıktan, dilsizlikten, hastalıklardan, deccalin fitnelerinden, kötü ölümden sana sığınırız. Sen bizleri koru ya Rabbi. Ya Rabbi, kendisiyle dua edildiği zaman kabul ettiğin, kendisiyle istendiği zaman verdiğin, kendisiyle merhamet dilendiği zaman merhamet ettiğin, senin indinde kıymetli olanlar hürmetine dualarımızı geri çevirme. Ahrette bizleri Peygamberimizle beraber haşret. Bütün insanlara hidayet et. AMİN


NOT:Word dosyası aşağıdadır.İndirebilirsiniz.

Hash (Hesaba dayalı adresleme) ve Hashing nedir ?(java)

Hashing (Hesaba Dayalı Adresleme)?
Bilgiye tekrardan erişmek için iki genel teknik vardır: Sıralı erişim ve Doğrudan erişim.Sıralı erişime örnek teyp kasetleri verilebilirken doğrudan erişime müzik Cd leri verilebilir.Örneğin 100 tane ismi tutan bir listemiz olduğunu düşünelim. Bu liste içinde bir isim arayacak olursak listenin başından sonuna kadar bu ismi aramamız gerekecek. Eğer aradığımız elemanı bulursak arama sonlandırılacak aksi halde arama başarısız olacaktır. Bu işlem sıralı erişim olarak adlandırılmaktadır. Bu tür bir aramada en kötü durum liste boyutunun n olduğu bir durum için O(n) arama zamanı olacaktır. Eğer liste sıralı bir liste olsaydı, ikili arama kullanacaktık ve arama zamanı O(log n) olacaktı.
Anahtar karşılaştırmalı bir aramada, n elemanlı bir liste için aramanın ”log n” den daha az karşılaştırma sonucu tamamlanması mümkün değildir. Sıralı ve ikili arama metotları anahtar karşılaştırma tekniğini kullanırlar. Verilen elamanı doğrudan ve daha hızlı konumlayabilmek için verileri düzenleyebileceğimiz başka teknikler geliştirebiliriz.
Elimizde 1000 öğrencinin kayıtları var diyelim, her birine 0 ile 999 arasında indis numaraları verilmiş olsun bu durumda herhangi bir kaydı bulmak için sıralı veya ikili arama tekniklerini kullanmayı düşünmeyiz. Kayıtlarımızı basitçe 1000 boyutlu bir diziye kaydedeceğiz. Şekil 15.1 de gösterildiği gibi k elemanı için k. indis numarasının atanması ile oluşan dizi basit bir başvuru çizelgesidir (Table lookup). Tabloyu kayit[1000] olarak isimlendirdik. Bu bir kayıt dizisidir. Her bir kayıt öğrenci kayıt numarası, isim v.b. şeklinde alanlar içermektedir. Öğrenci numarası anahtar olarak seçilmiştir ve aynı zamanda kayit dizisi için indis görevi de görmektedir. Örneğin kayit[659] ile Ahmet ERCAN kaydına doğrudan erişebiliriz.
Kayıt Numarası
Öğrenci İsmi
Diğer Detaylar…
000
Zeynep UĞUR

001
Ali TÜRK


kayit[659]
 
002
Hakan MERT

003
Deniz KELEK


659
Ahmet ERCAN

660
Ramazan DURAN


998
Gülcan TEMİZGİL

999
Alparslan Bilge DÜRÜST

Şekil 15.1:Başvuru Çizelgesi (Table Lookup)
Başvuru çizelgesi ve arama işleminin temel amacı verilere yeniden erişimi sağlamaktır. Hem başvuru çizelgeleri hem de arama algoritmaları bir grup anahtardan liste veya dizinin belli bir yerini bulan işlevler (fonksiyonlar) sunar. Fonksiyonlar bir grup anahtardan hesaplanan belli yerlere birebir ilişki kurar. Her bir kayıt için bir anahtar olduğunu düşünürsek, bu anahtar için sadece bir kayıt bulunabilir. Bu tür başvuru çizelgelerinde herhangi bir kayda ulaşmak için  gereken süre O(1) dir ve sabittir. Yani erişim süresi tablo boyutundan bağımsızdır. Bu yüzden başvuru çizelgesi herhangi bir arama algoritmasından daha verimlidir.
Veri ekleme ve yer belirleme işlemlerini sabit bir zaman dilimi içinde yapabilmek için bu işlemlerin herhangi bir arama işlemi yapmadan gerçekleşmesi gerekir. Yani verilen bir x elemanı için, x in kaydedileceği dizi veya liste yerini doğrudan x in kendisini kullanarak belirlememiz gerekmektedir.
Eğer kayıt anahtarları sayısal bir değer ise bunlar dizinin indisleri olarak kullanılabilir. Öğrenci örneğini düşünürsek birbirinden farklı olan kayıt numaraları buna örnek olabilir. Burada eğer 5 haneli bir sayı kullanacak olsaydık, 100000 elemanlı bir dizimizin olması gerekirdi. Böylece çok büyük bir alan israfı yapmış olurduk.
Öğrenci kayıt tablosunu göz önüne alırsak;
Her bir öğrenci için sadece bir kayıt bulunmaktadır. Dolaysıyla 1000 elemanlı bir dizi bize yeterli olacaktır. Bu dizi 0-999 arasında sayısal değerlerle indislenmiştir. Öğrenci kayıt numarasının son 3 hanesi öğrenci kaydının dizideki yerini bulmak için indis olarak kullanılmıştır.74361 ve 75961 birbirlerine çok benziyor gibi gözükse de kayıt tablosunda çok farklıdırlar (361-961). Çünkü kayıt numaralarının son 3 hanesi kullanılmıştır.
Hash tablosu ;herhangi bir elemanın indis bilgisine gereksinim duymadan elamana doğrudan ulaşmayı sağlayan kayıtlar dizisidir. Bu elemanın anahtarından indis bilgisini hesaplayan bir hash fonksiyonu tarafından gerçekleştirilir.   “hash” kelimesi elemanların herhangi bir sıralama olmadan karıştırılmış olduğunu gösterir. Bir kayıt bir veya birden fazla alanı barındıran birleşik bir veri yapısıdır. Her bir alan kendi tipi ve adı vardır.COBOL gibi bazı programlama dillerinde kayıtlar standart tiplerdedir. JAVA da ise kayıtlar bir nesne olabilir.
Bu bölümde java.util paketinde bulunanlar gibi  , farklı tipte hash tablolarını açıklamaktadır.
Hash tabloları?
Anahtarları değiştirerek yada eşleştirme yaparak tablo indislerine dönüştüren fonksiyona hash fonksiyonları denir. Eğer h bir hash fonksiyonu , k bir anahtar ise h(k) ye k nin hashi denir ve anahtarı k olan kadın tablo indisidir.Yani k anahtarlı kayıt h(k) ye kaydedilir. Öğrenci örneğimizde h(k)=key%1000 dir. h fonksiyonunun ürettiği tüm değerler tablodaki tüm indisleri kapsar. Örneğin x%1000 fonksiyonu x in değerine göre 0 ile 999 arasında tamsayılar üretir. Hash tablosunun üretilmesi işlemine hashing denir.
Genelde hash fonksiyonu tarafından tanımlanan değişiklikler çoktan-teke eşleşmiş olabilmektedir.Yani  fonksiyon çıktısı birbirine eşit olan birden fazla x , y, z anahtarları olabilir h(x)=h(y)=h(z).  Başka bir ifadeyle iki yada daha fazla kayıt anahtarı aynı dizi indisi ile eşleşebilir. Bu  durum çakışma (collision) olarak adlandırılır.  Bu tür çakışmalarla başa çıkmak için geliştirilmiş birkaç yaklaşım sonraki bölümlerde incelenecektir.
İyi bir hash fonksiyonunun karakteristikleri:
§  İyi bir hash fonksiyonu çakışmalardan uzak olmalıdır. Gerçek hayatta eğer seçilen anahtarlar hakkında bir bilgimiz yok ise çakışmaların olmayacağı garantisini veremeyiz. Ancak bazı uygulamalarda anahtarlar hakkında bazı önbilgilere sahip oluruz ve bu anahtarları çakışmaları engellemek için kullanırız.
§  İyi bir hash fonksiyonu  dizi indislerini eşit bir şekilde dağıtmalıdır. Yani hash fonksiyonunun ürettiği değerler eşit oranda dağıtık olmalıdır.  Eşit anahtar numaraları aynı dizi posizyonuna eşleştirilmelidir.

§  İyi bir hash fonksiyonu kolaylıkla hesaplanmalıdır. Bu hash fonksiyonunun gerçekleştirme zamanının O(1) olması gerektiğini göstermektedir.

Popüler Yayınlar