23 Aralık 2013 Pazartesi

The tail of the log for the database "MEZUN" has not been backed up. Use BACKUP LOG WITH NORECOVERY to backup the log if it contains work you do no

The tail of the log for the database "MEZUN" has not been backed up. Use BACKUP LOG WITH NORECOVERY to backup the log if it contains work you do no

HATA MESAJI:
"Msg 3159, Level 16, State 1, Line 1

The tail of the log for the database "MEZUN" has not been backed up. Use BACKUP LOG WITH NORECOVERY to backup the log if it contains work you do not want to lose. Use the WITH REPLACE or WITH STOPAT clause of the RESTORE statement to just overwrite the contents of the log.

Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally."

AÇIKLAMA:
Bu hata mesajını bir veritabanını açmaya (Restore) çalıştığınızda alırsınız.

Hatanın nedeni ise, açmaya çalıştığınız veritabanının kopyasının, üzerine açmaya çalıştığınız veritabanından daha eski olmasıdır.

Meselâ "MEZUN" isimli veritabanınızın yedeğini en son 22 Aralık 2013tarihinde aldınız. Bundan sonra veritabanı üzerinde tasarım olarak veya veri girişi olarak güncellemeler oldu. Ayın 23' ünde, ayın 22' sinde aldığınız yedeği bir nedenden dolayı MEZUN veritabanının üzerine açmak istediniz. İşte o zaman bu hatayı alırsınız.

ÇÖZÜM:
Aslına bakarsanız bu bir çeşit koruma sistemidir. Maksat, yeni verilerinizin üzerine yanlışlıkla eski verilerinizin yazılmasını önlemektir ve bu özellik SQL Server 2005 ile birlikte geldi.

Bu koruma sistemini açmak için (ki aslında uyarı mesajının içerisinde de çözümü söylüyor) iki yöntem kullanabilirsiniz.

1. Yöntem: Veritabanınızın en güncel Log yedeğini alarak (NO_TRUNCATE ve NORECOVERY parametrelerini kullanarak), yedeğinizi mevcut veritabanının üzerine açabilirsiniz.

2. Yöntem: Bu yöntemde RESTORE komutuyla birlikte REPLACE parametresini kullanarak (hiç yedek almadan) eski yedeğinizi halihazırdaki veritabanınızın üstüne açabilirsiniz. Bu yöntemde dikkate almanız gereken şey, bu açtığınız yedeği aldığınız tarihten sonra veritabanınızdaki yapılan tüm değişiklikler kaybolacaktır.

28 Eylül 2013 Cumartesi

Internet Explorer 10: Uyumluluk Modunu sitelere eklemek

Merhaba Arkadaşlar Internet Explorer 10 web tarayıcısında “Uyumluluk Görünümü” adlı kullanıcı dostu bir özellik yer alıyor. Uyumluluk Görünümü modu internet tarayıcıların eski sürümleri dikkate alınarak hazırlanmış internet sitelerinin bu yeni sürümde sorunsuzca görüntülenmesini sağlıyor.

Bunu yapabilmek için Internet Explorer 10 tarayıcısını açıyoruz. Öncelikle Menü Çubuğu ( Menu Bar ) aktif değilse aşağıdaki gibi boş alana sağ tıklayıp görünür hale getiriyoruz.

Ardından Tools menüsüne tıklıyoruz  açılan menüden "Compatibility View Settings" i seçiyoruz.

sdu.edu.tr sitesini uyumluluk modunda çalışacak şekilde aşağıdaki şekilde yazıp ekliyoruz.  Eğer bir değişiklik olmamışsa uzak.sdu.edu.tr adresinide eklemeniz gerekebilir.


13 Temmuz 2013 Cumartesi

Error 16 Unable to find manifest signing certificate in the certificate store HATASI



Projenizi başka bir bilgisayarda build etmeye çalıştığınızda ya da bilgisayarınıza format attığınız da Projenizi derleme aşamasında böyle bir hata ile karşılaşırsınız " Error 16 Unable to find manifest signing certificate in the certificate store " Bu hata projemizin build edilmesini engellese de çözümü çok basit tek yapmanız gerekenSolution Explorer da projemizin üzerinde sağ tıklayıp Properties > Signing > Create Test Certificate butonunu tıklayıp bir şifre girmemizi isteyecek şifreyi girip Ok butonuna bastığımızda TemporaryKey oluşturulacaktır. . Burada unutmayacağınız bir şifre verin. Projenizi tekrar build etmeyi deneyin.

Bu arada en büyük FENERBAHÇE :}


CREATE FILE encountered operating system error 5 HATASI


CREATE FILE encountered operating system error 5 HATASI 

Merhaba

Uzun bir aradan sonra bilgisayarıma format atmak zorunda kaldım.  O kadar ağırlaşmıştı ki hemde yeni olmayan ama mükemmel olduğuna inandığım gelişmiş toolbox sağlayan devExpress ile uygulamalar geliştirmeye karar verdim. Gerçekten bilgisayarı yoran bir Visual Studio eklentisi. Resmi sitesini google amcamızdan bulabilirsiniz zaten. Ama crackli indirebileceğiniz bir site var. Tabi ki bu paylaşım ticari bir amaç gütmüyor ve kendinizi geliştirmeniz içindir ;) . http://www.ibrahimakgun.net/devexpress-universal-2012/

Gelelim asıl sorunumuza. Formatı atınca sql server a veritabanlarımı attach etmeye çalıştığımda

CREATE FILE encountered operating system error 5(failed to retrieve text for this error. Reason: 15105) while attempting to open or create the physical file (Microsoft SQL Server, Error: 5123)

şeklinde bir hata aldım. Çözümü ise başlat > tüm programlar > Microsoft Sql Server 2008 > SQL Server Management Studio kısayolunu sağ tıklayıp yönetici olarak çalıştırmanız. Bu şekilde yaparsanız sorunsuz şekilde veritabanlarınızı attach edebilirsiniz..

 DexExpress ile yapılmış form tasarımlarına örnekler resimde var. ben gibi visual studio daki componentler ile  yazılım geliştirenler ve bu tasarımları ilk defa görenler vay be diyecekler. Sadece sürükleyip bırakıyorsunuz bu sıradan olmayan nesneleri ;) Bu arada Office 2007 ve Office 2010 u kodlayan yazılımcılarda Dev Express ile geliştirmişler bu devasa programları...
İyi Çalışmalar...

11 Temmuz 2013 Perşembe

18 Haziran 2013 Salı

C# Kapsülleme (Encapsulation)

Kapsülleme (Encapsulation): Verilerin ve kodların dış etkenlerden korumaktır.
Özellikleri:
* Bir nesnenin dış dünyadan soyutlanıp iç dünyasında işlem yapması
* Başka kod ve sınıflar tarafından kulanılmaması için koruyucu bariyer görevi görür.
*Kodları erişilmez hale getirir.
*Nesne tabanlı programlamanın temel ilkelerinden birisidir.
Not : Class içinde bir değişkene ulaşılmaması için private olarak tanımlamalsınız.

Encapsulation programcıya nesneleri koruma gücünü verir.



 Örneğin emlak işlemleri yapan bir programımız olduğunu varsayalım. Emlak programında olması gereken bir ev nesnemiz bulunmaktadır. Bu ev nesnemizin kaç metrekare olduğu, kaç odasının olduğu, hangi semtte olduğu gibi bir sürü özelliği bulunmaktadır. Visual Studio yu açarak ConsoleApplication projesi açıyoruz. EmlakciApp ismini veriyoruz. Kodlarımız aşağıda ki gibi. Açıklama satırlarında açıklamaları yaptım.

EmlakciApp: Console Application
EmlakciLib: Class Libary










using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EmlakciLib;

namespace EmlakciApp
{
    class Program
    {

        static void Main(string[] args)
        {
            Ev evim = new Ev(); // ev class ından yeni evim isminde türetiyoruz.
            //Ev classının elemanlarına değer atıyoruz.
            evim.Alan = 85; // burada -85 şeklinde negatif bir değer girseydik kapsülleme özelliği sayesinde
            //bize mutlak değerini alıp o şekilde değerini getirecekti.
            evim.Semt = "Isparta-Cunur";
            evim.Katno = 5;
            evim.Odasayisi = 3;

           Console.WriteLine( evim.EvBilgileriniGetir()); // EvBilgileriniGetir metodu string döndürdüğü için Console.WriteLine metodu ile kullanılması gerekir.
           Console.ReadKey();


        }

    }
}

Programımız main bloğundan itibaren çalışmaya başlayacak. Namaspace kısmında

using EmlakciLib; bu satır bulunmaktadır. Aslında ev class ını EmlakciApp projesinin içersinde de yazabilirdik fakat ayrı bir ClassLibary projesi açarak ev class ını oluşturduk ve özelliklerini kapsülledik. Class Libary projesi oluşturmak için Solution üzerinde sağ tıklayıp Add > New Project adımlarını takip ederek Windows C# menüsü altında Windows un altında Class Libary seçiyoruz ve  Name ine EmlakciLib adını veriyoruz.


//Class Libary projemizin kodları.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace EmlakciLib
{
    public class Ev // Class Libary projesi. Çıktısı dll dosyasıdır. İstenilen projede add reference diyerek kullanılabilir.
    {
        // hiyerarşi namespace, sınıf, metod
        //field ları kapsüllemek için field e (örneğin semt in üzerine) sağ tıklayıp refactor sonra encapsuolate field seçeneği ile otomatik oluşturabilir.
        //Yada klavyeden control + r + e tuş kombinasyonları

        private string semt;

        public string Semt // Control + r + e kısayolu kullanarak semt alanını kapsülledik
        {
            get { return semt; }
            set { semt = value; }
        }
        private int katno;

        public int Katno // Control + r + e kısayolu kullanarak Katno alanını kapsülledik
        {
            get { return katno; }
            set { katno = value; }
        }
        private int odasayisi;

        public int Odasayisi // Control + r + e kısayolu kullanarak Odasayisi alanını kapsülledik
        {
            get { return odasayisi; }
            set { odasayisi = value; }
        }
       private double alan; // Control + r + e kısayolu kullanarak alan alanını kapsülledik

       public double Alan // privare double alan field nın properties i
       {
           get
           {
               return alan;
           }

           set  // Burada sadece değerleri kontrol etmedik. Şart deyimleri ile loglama işlemlerinide yaptık
           {
               if (value < 0)
               {
                   // FileMode.Append eğer gösterilen dizinde dosya yoksa hata verir. Dosyayı açar üzerine yazar
                   //OpenOrCreate olursa her seferinde aynı dosyayı yolu gösterilen dizine üretir.
                   FileInfo fi = new FileInfo("c:/loglar.txt");
                   FileStream fs;
                   
                   if (fi.Exists) // Eğer dosya daha önce oluşmuşsa append ile aç
                   {
                       fs = new FileStream("c:/loglar.txt", FileMode.Append);
                   }
                   else // eğer açılmamışsa dosya yazılan dizine verilen isim ve türde dosya oluştur.
                   {
                       fs = new FileStream("c:/loglar.txt", FileMode.Create);

                   }
                  
                   StreamWriter sw = new StreamWriter(fs);
                   sw.WriteLine("Alan bilgisi " + DateTime.Now + " tarihinde hatalı girildi. Girilen değer: " + value);
                   sw.Flush();
                   fs.Close();                  
               }
               alan = Math.Abs(value);  // mutlak değer fonksiyonu ile değerler pozitif yapılıyor
           }
       }


        public string EvBilgileriniGetir() // Dışarıya yani çağrıldığı yere biçimlenmiş string olarak ev bilgilerini gönderen metod
        {
            return string.Format("Kat No : {0} \n Oda Sayisi: {0} \n Semt: {2} \n Alan: {3}", katno, odasayisi, semt, alan);
        }


    }
}





25 Mayıs 2013 Cumartesi

".. Seni beklediğim kadar!.."


Üniversiteli delikanlı Kolejli kıza bir voleybol maçında rastladı. Okul salonundaydı maç. Tribünsüz, minik bir salon.. Seyircilerle, oyuncular arasında, sahanın çizgisi vardı sadece.. O kadar yakındılar..
Delikanlı, bu tatlı, bu güzel, bu dünyalar şirini kızı ilk defa görüyordu takımda.. Hoşlandığını, fena halde hoşlandığını hissetti. Az sonra bir şeyi daha hissetti. Uzun zamandan beri maçı değil, o güzel kızı izlediğini.. Kız servis atarken hemen önünden geçti. Göz göze geldiler.. Kız gülümsedi.. Delikanlı, çok popülerdi o yıllarda..
Kız onu tanımış olmalıydı. Kim bilir, belki kız da ondan hoşlanmıştı.. Belki de delikanlı öyle olmasını istediği için ona öyle gelmişti.. Set değişip, takım karşıya gidince, delikanlıda yerini değiştirdi, o da karşıya gitti.. Üçüncü sette tekrar eski yerine döndü.. Kızda gidiş gelişleri fark etmişti galiba.. Bir defa daha gülümsedi. Manidar..
"Anladım" der gibi bir gülümseyişti bu.. Delikanlı o hafta boyu hep bu dünyalar şirini kızı düşündü.. Pazar günü, sabahın köründe kalktı, erkenden oynanacak maçı, ne maçı canım, o dünyalar şirini kızı görmek için.. Delikanlı artık kızın hiçbir maçını kaçırmıyordu..
Dahası..
Ankara Koleji'nin her dağılış saatinde, okul civarında oluyordu, onu bir kez daha görmek için.. Karşılaştıklarında, hafif çok hafif bir gülümseme, çok minik bir baş eğmesi ile selamlaşır olmuşlardı..
Bir defasında, yaptığına sonra kendisi de günlerce güldü.. O gün gene tesadüfmüş gibi, okul dağılımı kızın karşısına çıkmış, gülümseyerek selamlamış, sonra arka sokaklara dalıp, yıldırım gibi koşarak, bir blok ötede gene karşısına çıkmıştı.. Kız bu defa, iyice gülmüştü.. Karşısında, sözüm ona ağır ağır yürüyen, ama nefes nefese delikanlıyı görünce..
Delikanlı, voleybol takımının kaptanını iyi tanıyordu. Arkadaştılar. Sonunda bütün cesaretini topladı, kaptana açıldı.. O kızdan fena halde hoşlanıyordu. Galiba kız da ona karşı boş değildi. Bir yerde, bir şekilde tanışmaları gerekiyordu.. O zamanlar, bu işler böyle oluyordu çünkü.. Kaptan: "Tabii" dedi.. "Bu hafta sonu güzel bir konser var. Biz onunla gitmeye karar vermiştik zaten. Sen de gel. Hem konseri birlikte izleriz, hem de tanışırsınız.."
"Mutluluk işte bu olmalı" diye düşündü delikanlı.. "Mutluluk işte bu.." Ve konser gününe kadar geceleri hiç uyuyamadı.. Konser gününü de hiç ama hiç unutmadı..
O ne heyecandı öyle.. Konserin verildiği sinemanın kapısında tanıştılar.. El sıkıştılar.. O güzel ele dokunduğu anı da hiç unutmadı delikanlı.. Kaptan, salona girdiklerinde, ustaca bir manevra daha yaptı. Delikanlı ile dünyalar şirini kız yan yana düştüler. İnanamıyordu delikanlı.. Onunla nihayet yan yana oturduğuna, onun sıcaklığını hissettiğine, onun nefesini duyduğuna inanamıyordu.. Biraz önce tanışırken tuttuğu el, bir karış ötesinde öylesine duruyor, delikanlı, sahnede dünyanın en romantik şarkısı söylenirken ki, o an dünyanın bütün şarkıları dünyanın en romantik şarkısıydı ya, o eli tutmak için öylesine büyük bir arzu duyuyordu ki içinde.. Ama uzatamıyordu işte elini.. Her şey böyle iyi giderken, yanlış bir hareketle, onu ürkütebileceğinden, incitebileceğinden öylesine korkuyordu ki.. Sonunda dayanamadı, sanki kolu uyuşmuş gibi, uzandı.. Kolunu kızın koltuğunun arkasına koydu.. Kızın omzuna değil.. Koltuğun üzerine.. Sonra kız arkaya yaslandı.. Birkaç saç teli, delikanlının elinin üzerine dokundu.. Kalbi yerinden fırlayacak gibi atıyordu artık genç adamın.. Dünyalar şirini kızın saçları eline dokunuyordu çünkü..
Konserden çıkarken, kız, şakalaştı.. "Sizi her maçımızda görüyoruz. Alıştık nerdeyse.. Yarın Adana'da maçımız var.. Gözlerimiz sizi arayacak.."
Hayır, aramayacaktı..
Delikanlı o anda kararını vermişti çünkü.. Cebinde onu otobüsle Adana'ya götürüp getirecek, hatta öğle yemeğinde bir de Adana kebap yedirecek kadar para vardı.. Gece yarısı kalkan otobüse bindi..
Sabah erkenden Adana'ya indi. Maç saatine kadar başı boş dolaştı.
Salona erkenden girdi, en ön sıraya tam servis köşesine en yakın yere oturdu.. Takımlar sahaya çıkarken, salondaki en heyecanlı seyirci oydu. Maç falan değildi sebep tabii.. İlk sette kız farkında bile değildi onun.. Nerden olsundu ki.. İkinci sette öbür tarafa gittiler.. Döndüklerinde, üçüncü sette kız fark etti delikanlıyı..Yüzünde çok ama çok şaşkın bir ifade, biraz mutluluk, birazda gurur vardı sanki.. Ankara'nın hele Kolej'de çok popüler bu delikanlısının onun için ta oralara geldiğini bilmenin gururu..
Maç bitti. Kız soyunma odasına, delikanlı garajlara gitti. Tek kelime konuşmadan.. Konuşmaya gelmemişti ki..
Kız "Keşke orada olsaydın" demişti. O da olmuştu işte.. Hepsi o.. Ona o kadar çok şey söylemek istiyordu ki aslında..
Bir gün üniversite kantininde gazete okurken, iç sayfalarda bir şiire rastladı. Daha doğrusu bir şiirden alınmış bir dörtlüğe..
Söylemek istediği her şey bu dört satırda vardı sanki..
Bembeyaz bir karta yazdı o dört satırı.. Öğleden sonrayı zor etti, Kolejin önüne gitmek için.. Kızın karşıdan geldiğini gördü. Koşarak yanına gitti. "Bu sana" diye kartı eline tutuşturdu ve kayboldu ortadan, kız, dizeleri okurken..
"Ne hasta beklerdi sabahı
Ne taze ölüyü mezar
Ne de şeytan bir günahı
Seni beklediğim kadar!.."
Ertesi gün öğleden sonra, tarif edilemez heyecanlar içinde Kolej'in önündeydi gene.. Kız karşıdan geliyordu.. Bu defa yanında arkadaşları yoktu. Yalnızdı..Yaklaştığında işaret etti delikanlıya.. Gözlerine inanamadı genç adam.. Onu yanına mı çağırıyordu yoksa.. Evet, çağırıyordu işte.. Kalbinin duracağını sandı yaklaşırken.. "Sana bir şeyler söylemek istiyorum" dedi kız.. O da heyecanlıydı, belli..
"Bak iyi dinle.. Dünkü satırlar için çok teşekkürler.. Herhalde hissettin, ben de senden hoşlanıyorum. Ama senden evvel tanıdığım birisi daha var. Ondan da hoşlanıyorum ve henüz karar veremedim, hanginizden daha çok hoşlandığıma.. Ve de şu anda, onu terk etmem için bir sebep yok."
"O zaman karar verdiğinde ve de eğer seçtiğin ben olursam, hayatında başka kimse olmazsa, ara beni" dedi delikanlı ikiletmeden.. Ayrıldı kızın yanından.. Bir daha voleybol maçına gitmeden, bir daha okul yolunda önüne çıkmadan.. Bir daha onu hiç görmeden..
Yıllarca sonra Levent'in söyleyeceği şarkıdaki Sezen'in sözlerini o, o zaman biliyordu sanki. Aşk onurlu olmalıydı.. Günlerce, haftalarca, aylarca bekledi.. Tıpkı, kıza verdiği o dörtlükteki gibi bekledi.. Hastanın sabahı, seytanın günahı beklediği gibi bekledi.. Heyecanla bekledi. Hırsla, arzuyla bekledi. Umutla, umutsuzlukla bekledi. Bazen öfkeyle bekledi.. Ama bekledi.. Başka hiç kimseye bakmadan, başka hiç kimseyi bulmadan bekledi.
Bir gün bir şiir antolojisinde şiirin tamamını buldu.. İki dörtlüktü şiir aslında.. İlki kıza verdiği.. Bir ikinci dörtlük daha vardı o kadar.. O dörtlüğü de bir kartın arkasına dikkatle yazdı.. Cebine koydu..
Bekleyiş sürüyor, sürüyordu..
Okullar kapandı, açıldı.. Aylar, aylar geçti.. Bir gün delikanlı kızı aniden karşısında gördü.. "Günlerdir seni arıyorum" dedi kız. "Günlerdir seni arıyorum. İşte sana haber.. Artık hayatımda hiç kimse yok!.."
"Yaa" dedi delikanlı.. "Yaa" dedi sadece..
Kalbi heyecandan ölesiye çarparken, aylardır ölesiye beklediği an gelip çatmışken, ağzından sadece bu ses çıkmıştı..
"Yaaa!.."
Cebinde artık iyice eskimiş kartı uzattı kıza.. "Sana bir şiirin ilk dörtlüğünü vermiştim ya bir gün" dedi.. "Bu da ikinci ve son dörtlüğü onun.."
Sonra yürüdü gitti, arkasına bile bakmadan.. Kız dizelere bakarken..
"Geçti istemem gelmeni
Yokluğunda buldum seni.
Bırak vehmimde gölgeni
Gelme artık neye yarar!.."

Aradan yıllar, çok ama çok uzun yıllar geçti. Delikanlı bugün hâlâ düşünüyor..
O uzun, çok uzun bekleyiş aşkını öldürmüş müydü, acaba?.
Ya da beklerken, ölesiye beklerken hayalinde öylesine bir sevgili yaratmıştı ki, artık yaşayan hiç kimse bu hayali dolduramazdı.. O sevgilinin kendisi bile.. Hayalindekini yaşatmak için mi, yaşayanı silmişti yani?.. Yokluğunda bulmak bu mu demek oluyordu?..
Ya da.. Ya da..
Bir şiirin romantizmine mi kapılmış, bir delikanlılık jesti uğruna, mutluluğunun üzerinden öylece yürüyüp gitmişti, acaba?
Delikanlı bu soruların yanıtını bugün hâlâ bilmiyor..
Bilmediğini de en iyi ben biliyorum.. Çünkü, delikanlı..
..bendim!..(*)

***
Delikanlının kıza verdiği dizeler Necip Fazıl Kısakürek'indi.. Beklenen adlı bir şiir..
Gençliğimin kilometre taşlarından birinde buluşmuştuk şairle.. Dizeleri yön vermişti bana.. Hayatımı kimbilir nasıl değiştirmişti, sekiz satırıyla..
Büyük şair, yazar, romancı, hikâyeci, oyun yazarı Necip Fazıl'ı 22 yıl önce bugün, 25 Mayıs 1983'te kaybetmiştik. Yarın, 26 Mayıs da, onun doğumunun yüzüncü yılı.. Yurdun dört bir yanında törenler düzenleniyor üstada..
Ben de onu böyle anmak istedim.. Yıllar önce kaleme aldığım ve çok sevdiğim bir yazımı "Tam da yeridir" diye tekrarlayarak!.. 



(*)http://www.sabah.com.tr/Yazarlar/uluc/2005/05/25/_Seni_bekledigim_kadar