Nesterosa

Muhammed Medeni Baykal

Enine Boyuna Serileştirme - 1

clock Ağustos 23, 2008 06:49 by author Tisba

Son durumlarını korumak istediğimiz nesnelerin düzenli ve belli bir biçimde her hangi bir veri saklama ortamında saklanması işlemine serilestirme (serialization), serileştirilmiş bilgilerin saklama ortamından okunup nesnenin yeniden oluşturulması işlemine ters-serileştirme (deserialization) denir. .Net kütüphanesi bu işlemi kolayca yapmamız için bize iki farklı yöntem sunmuştur.

  1. İkili (binary) serileştirme
  2. XML ya da SOAP serileştirme

XML dosyaları metin tabanlıdır. Basit bir metin editörü ile açılıp değiştirilebilirler. Düzenlemesi kolaydır ve bir çok program bu tür dosyaları kullanabilir.

Her ne kadar XML biçimi son zamanlarda popülerleşse de, bence, ikili saklama her zaman tahtını koruyacaktır. Çünkü, ikili dosyaları düzenlemek XML dosyalarını düzenlemek kadar kolay değildir. İmkasız olmasa da ikili dosyalardan bilgi çalmak daha zordur. İkil dosyalar XML'e göre çok daha az yer kaplarlar ve ağ iletimi için daha uygundurlar.

İkili Serileştirme

İkili serileştirme için, System.Runtime.Serialization.Formatters.Binary ad uzayı altında BinaryFormatter nesnesı kullanılır. BinaryFormatter'ın nasıl kullanıldığını basit bir örnekle açıklayacağım. Bu orneğin kodlarını buradan indirebilirsiniz: Serilestirme.rar (6,14 kb)...

Bu örnek için, Ornek ve OrnekCollection isimli iki sınıf yazdım. Kodları aşağıda:

[Serializable]
class Ornek
{
    public string Ad { get; set; }
    public string SoyAd { get; set; }
    public string Aciklama { get; set; }
}

[Serializable]
class OrnekCollection : List<Ornek> { }

Gördüğünüz gibi sınıflar çok basit. Ornek sınıfının yalnızca üç adet özelliği var. OrnekCollection sınıfının ise hiç kodu yok yalnızca System.Collections.Generic altındaki List sınıfını kalıtmış. Fark edebileceğiniz gibi her iki sınıf da Serializable özniteliğiyle işaretlenmiş. Bu, bu kodda ki en önemli nokta, çünkü bir nesneyi serileştirebilmeniz için; nesnenin Serializable özniteliği ile işaretlenmesi gereklidir. Eğer nesne bununla işaretlenmemişse SerializationException fırlatılır.

Örnekte bu iki sınıf dışında bir de Program sınıfı var. Örnek kodları bu sınıfın içinde. Şimdi bu sınıfı inceyelim.

private static OrnekCollection KolleksiyonuOlustur(int elemanSayisi)
{
    OrnekCollection ornekCollection;

    Console.WriteLine(elemanSayisi.ToString() + " elemanli dizi olusturuluyor...");

    for (ornekCollection = new OrnekCollection(); elemanSayisi > 0; elemanSayisi--)
        ornekCollection.Add(new Ornek()
        {
            Ad = "Merve (" + elemanSayisi.ToString() + ")",
            SoyAd = "evrem",
            Aciklama = "Bu, olusturdugumuz " + (10 - elemanSayisi).ToString() + ". elemandir"
        });

    Console.WriteLine(ornekCollection.Count.ToString() + " elemanli dizi olusturuldu.");

    return ornekCollection;
}

Yukarıda kodları verilen KolleksiyonuOlustur fonksiyonu parametre aldığı elemanSayisi kadar eleman oluşturup geri döndürür.

private static void DiziyiListele(OrnekCollection ornekCollection)
{
    Console.WriteLine(ornekCollection.Count.ToString() + " elemanli dizi listeleniyor...\n");

    int eleman = 0;
    string s = "\t{0}. eleman\n\t\tAdi: {1}\n\t\tSoyadi: {2}\n\t\tAciklama: {3}";
    foreach (Ornek i in ornekCollection)
        Console.WriteLine(
            string.Format(s, ++eleman, i.Ad, i.SoyAd, i.Aciklama)
            );

    Console.WriteLine("\n" + ornekCollection.Count.ToString() + " elemanli dizi listelendi.\n");
}

Yukarıda ki fonksiyon ise dizinin elemanlarını ekrana yazdırır.

private static void Serilestir(string file, OrnekCollection o)
{
    Console.WriteLine(o.Count.ToString() + " elemanli dizi serilestiriliyor...");
    BinaryFormatter binaryFormatter;
    binaryFormatter = new BinaryFormatter();

    if (File.Exists(file))
        File.Delete(file);

    FileStream fileStream = new FileStream(file, FileMode.CreateNew);
    binaryFormatter.Serialize(fileStream, o);
    fileStream.Close();
    Console.WriteLine(o.Count.ToString() + " elemanli dizi serilestirildi...");
}

Tüm örneğin iki can alıcı noktasından birincisi, yukarıda ki kodda altı çizili olan kısım. BinaryFormatter nesnesinin, Serialize fonsiyonu bir nesneyi serileştirir. Bu fonksiyon iki parametre alır, birinci parametresi serileştirilmiş bilginin yazılacağı Stream, ikincisi ise serileştirilecek nesnedir. Bu fonksiyonun çalıştırılması sırasında üç farklı istisnai durum oluşabilir, bunlar:

  1. System.ArgumentNullException
    Parametre olarak verilen iki değerden birisi null ise, bu istisnai durum fırlatılırç
  2. System.Runtime.Serialization.SerializationException
    Serileştirme sırasında, serileştirme ile ilgili bir hata oluşursa, bu istisnai durum fırtlatılır. Bu istisnai durum genelde, ikinci parametrede belirtilen nesnenin Serializable özniteği ile işaretlenmemiş olması durumunda fırlatılır.
  3. System.Security.SecurityException
    Serileştirme istiğini yapan uyguluma yeterli güvenlik seviyesinde değilse bu istisnai durum fırlatılır.
private static OrnekCollection TersSerilestir(string file)
{
    Console.WriteLine("Nesne ters-serilestiriliyor...");
    BinaryFormatter binaryFormatter = new BinaryFormatter();
    FileStream fileStream = new FileStream(file, FileMode.Open);
OrnekCollection ornekCollection = (OrnekCollection)binaryFormatter.Deserialize(fileStream);
fileStream.Close(); Console.WriteLine(ornekCollection.Count.ToString() + " elemanli dizi ters-serilestirildi..."); return ornekCollection; }

Tüm örneğin en can alıcı ikinci kısmı ise, yukarıdaki kodda ki altı çizili kısım. BinaryFormatter nesnesinin Deserialize fonksiyonu bir Stream üzerinden ters-serileştirme işlemi yapar. Bu fonksiyon parametre olarak bir Stream nesnesi alır. Parametre olarak aldığı akımdan ikil okuma yapar ve nesneyi yeniden oluşturur. Fonksiyonun geri dönüş değeri object'tir. Bu nedenle, oluşturulan nesneyi bir yere atamadan önce tür dönüşümü yapmalıyız.

Bu fonksıyonun da çalışması esnasında üç adet istisnai durum oluşabilir. Bu durumlar, Serialize fonksiyonuyla aynı olmakla birlikte; SerializationException, parametre olarak belirtilen akımın Seek işlemini desteklememesi, uzunluğunun 0 olması ya da belirtilen akımın bir Serileştirilmiş bir nesne olmaması durumunda oluşur.

XML Serileştirme

XML serileştirmede de neredeyse aynı kodları kullanıyoruz. XML serileştirmenin bir kaç fark var, bunlar:

  1. System.Runtime.Serialization.Formatters.Binary.BinaryFormatter yerine System.Xml.Serialization.XmlSerializer kullanıyoruz.
  2. Nesneyi boş yaratıcı metodla oluşturamıyoruz. Nesneyi oluşturmak için, XmlSerializer xmlSerializer = new XmlSerializer(typeof(OrnekCollection)); gibi bir kod kullanıyoruz.

Bu yöntemin örneği için, diğer örnekteki; TersSerilestir ve Serilestir fonksiyonlarında ilgili yerleri değiştirmeniz yeterlidir, ya da kısaca buradan indirebilirsiniz: SerilestirmeXML.rar (6,33 kb)

Xml Serileştirmede, akımdakı verinin serileştilip serileştiremeyeceğini, nesnenin CanDeserialize fonksiyonu ile öğrenebiliriz. Bu fonksiyon System.Xml.XmlReader türünden bir parametre alır.

private static OrnekCollection TersSerilestir(string file)
{
    Console.WriteLine("Nesne ters-serilestiriliyor...");
    XmlSerializer xmlSerializer = new XmlSerializer(typeof(OrnekCollection));

    FileStream fileStream = new FileStream(file, FileMode.Open);

    System.Xml.XmlReader xmlReader = System.Xml.XmlReader.Create(fileStream);
    OrnekCollection ornekCollection;
    if(xmlSerializer.CanDeserialize(xmlReader))
     ornekCollection = (OrnekCollection)xmlSerializer.Deserialize(xmlReader);
    else
    {
        Console.WriteLine("Nesne ters-serilestirilemez. Gecersiz dosya.");
        Console.ReadKey(false);
        return null;
    }

    fileStream.Close();
    Console.WriteLine(ornekCollection.Count.ToString() + " elemanli dizi ters-serilestirildi...");
    return ornekCollection;
}

Yukarıda ki kodu örnekte ki ile değiştirirseniz, hata oluşma ihtimalini biraz daha azaltabilirsiniz.

Sonunda bu makaleyi/yazıyı da bitirdim. İnşallah size bir yararı dokumuştur. Bir sorunuz varsa bana her zaman eposta atabilirsiniz ve son olarak bir defa daha örnekleri vereyim:

  1. İkili serileştirme örneği: Serilestirme.rar (6,14 kb)
  2. XML serileştirme örneği: SerilestirmeXML.rar (6,33 kb)

İlk puanı siz verin

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Visual Studio 2008 ve .Net Framework 3.5 Service Pack 1

clock Ağustos 13, 2008 08:26 by author Tisba

Visual Studio 2008 ve.Net Framework 3.5 Service Pack 1; bu ayın onbirinde yayınlandı.

İndirmek için aşağıdaki ilişimleri kullanabilirsiniz...

    • .Net Framework 3.5 Service Pack 1: İndir
    • Visual Studio 2008 Service Pack 1: İndir
    • Detaylı Bilgi: Oku (İngilizce)

İlk puanı siz verin

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Visual Basic'ebildiklerim, C Sharp'amadıklarım 1...

clock Ağustos 7, 2008 22:14 by author Tisba

Microsoft teknolojileri üzerine yazılım geliştiren yazılımcılardan birisine (yanlışlıkla) "hangi dille başlamalıyım" sorusunu sorarsanız;

- tabii ki, c#!

cevabını alırsınız. Peki neden? Microsoft'un henüz ergenlik çağına bile giremeyen dili, Visual Basic'ten daha mı hızlı? Daha mı pratik? Bu yazımda bunu anlamaya çalışacağız...

Öncelikle, bu diller elinizde yoksa ve öğrenciyseniz DreamSpark programı kapsamında Visual Studio 2008'i buradan indirebilirsiniz. DreamSpark hakkında bir fikriniz yoksa onunla ilgili yazdığım yazıları buradan inceleyebilirsiniz. Eğer benim gibi üşengeç birisiyseniz, Visual C# .Net Express'i ve Visual Basic .Net'i buradan indirebilirsiniz.

Kısa Tarihçeler

Öncelikle bu iki dilin kısa tarihçelerine verelim (tarihçeler azalan alfabetik sırada alınmıştır. :p)

Visual Basic .Net

Basic, 1963'de Darmouth College’de John G. Kemeny ve Thomas E. Kurtz tarafından geliştirilmiştir. Microsoft bu dili daha sonra Quick Basic olarak kişisel bilgisayarlara uyarlamıştır. Zamanla COM ve ActiveX gibi teknolojiler dile eklenmiş, adı Visual Basic olarak değiştirilmiştir. Visual Basic daha en başından üzerinde hızlı uygulama geliştirilmesine izin verdiği için bir çok programcının tercihi olmuştur. 6. sürümünden sonra .Net ailesine katılıp nesne yönelimli bir dile dönüşmüş ve arkasına Framework kütüphanesinin gücü almıştır.

C#

C#, ilk olarak 2002 (yanılıyorsam düzeltin) de Visual Studio 2003 ve .Net Framework 1.0 ile piyasaya sürüldü. Microsoft; C, Java, Delphi, vs.ç iyi dillerin iyi özelliklerini toplayıp bu dilde birleştirdiğini öne sürüyordu. (idda nasıl yazılır bulamadım :p) Bu dil için büyük bir reklam kampanyası başlatılmıştı. Hatta tümleşik geliştirme ortamı'da (Visual Studio) bu dille yazılmıştı. Yine o günlerde Microsoft Office'in yeni sürümünün C# ile yazıldığı dedikiduları vardı...

Karşılaştırmalara başlamadan önce şunu söylemek isterim. İki dil arasında kesinlikle bir performans farkı yoktur. İki dilde de yazılan programlar derleme esnasında MSIL koduna dönüştürülür, bu nedenle bir performans farkı söz konusu değildir.

Karşılaştırmalar

Case Problemi

Visual Basic'i kullanırken, Case yapılarını çok rahat bir şekilde aşagıdaki gibi kullanabilirsiniz.

Module Program
    Public Function Main() As Integer
        Dim sayi As Integer = Val(System.Console.ReadLine)
        Dim mesaj As String
        Select Case sayi
            Case 0
                mesaj = "Sifir girdiniz."
            Case 1 To 100
                mesaj = "Bir ile yuz arasinda bir sayi girdiniz.."
            Case Is > 900
                mesaj = "Abarttiniz!"
            Case Else
                mesaj = "diger"
        End Select
        Console.WriteLine(mesaj)
    End Function
End Module

Peki ya aynı kodu C#'da yazmak isteseydik ne yapacaktık?

namespace csharpamadiklarim
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            string mesaj;
            int sayi = (int)Math.Round(Conversion.Val(Console.ReadLine()));
            switch(sayi)
                {
                case 0:
                        mesaj = "Sifir girdiniz.";
                        break;
                case 1 to 100:
                        mesaj = "Bir ile yuz arasinda bir sayi girdiniz..";
                        break;
                case is > 900:
                        mesaj = "Abarttiniz!";
                        break;
                default:
                        mesaj = "diger";
                        break;
                }
            Console.WriteLine(mesaj);
        }
    }
}

Yukarıda ki gibi yazabilir miydik? Eğer biraz C# biliyorsanız altı çizili satırların yanlış olduğunu hemen farketmişsinizdir. Çünkü C#'da switch ifadelerinde is ve to gibi anahtar sözcükler kullanamıyoruz. Bunu c# kullanarak aşağıda ki gibi yapmalıydık.

namespace csharpamadiklarim
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            string mesaj;
            int sayi = (int)Math.Round(Conversion.Val(Console.ReadLine()));
            if (0 == sayi)
            {
                mesaj = "Sifir girdiniz.";
            }
            else if ((sayi >= 1) && (sayi <= 100))
            {
                mesaj = "Bir ile yuz arasinda bir sayi girdiniz..";
            }
            else if (sayi > 900)
            {
                mesaj = "Abarttiniz!";
            }
            else
            {
                mesaj = "diger";
            }
            Console.WriteLine(mesaj);
        }
    }
}

Bunu switch kullanarak yapmak isteseydik, ikinci case'imiz şu şekilde olacaktı:

case 1:
case 2:
case 3:
...
case 99:
case 100:
     mesaj = "Bir ile yuz arasinda bir sayi girdiniz..";
        break;

Sizde fark ettiniz ki bu biraz ameleliğe kaçıyor...

Parametre Alan Özellikler (property'ler)

C#'da geliştirdiğim bir projeden XML dosyasında ayarları yükleyen bir sınıf yazıyordum. XML dosyasında birden çok ayar saklanıyordu. Dosya temel anlamda aşağıda ki gibiydi.

<?xml version="1.0" encoding="utf-8"?>
<applications>
  <application id="fos">
    <information name="FaturaOdeme"><![CDATA[Aciklama]]></information>
    <settings>
      <setting key="username"><![CDATA[serilestirilmis nesne]]></setting>
      <setting key="password"><![CDATA[serilestirilmis nesne]]></setting>
    </settings>
  </application>
  <application id="secu">
    <information name="blabla"><![CDATA[Aciklama]]></information>
    <settings>
      <setting key="username"><![CDATA[serilestirilmis nesne]]></setting>
      <setting key="password"><![CDATA[serilestirilmis nesne]]></setting>
    </settings>
  </application>
</applications>

Yazdığım kodla söyle bir yapı kurmak istiyordum. Applications.Application("fos").Settings.Setting("username") bunu nasıl yapacaktım?

public ApplicationBase Application(string ApplicationKey)

Gibi bir özellik tanımlayacaktım, tabii c# buna izin vermedi. Buna benzer bir yapıyı c#'da kurabilmek için, ApplicationBase sınıfının numaralandırıcı operatörünü aşırı yüklemeliydim, ölme eşeğim ölme...

Oysa, Visual Basic'te bunu

Public Property Application(ByVal ApplicationKey As String) As ApplicationBase

kadar basit bir şekilde halledebiliyoruz.

Bu kadar da değil. Daha bir çok şey var. Onları da zamanla yazacağım. Bu yazının son sözü olarak, C#'ın üretkenliği düşürdüğünü düşündüğümü söylemek istiyorum. Yalnızca burada anlattıklarım bile bazen çok ciddi dert olabiliyor. Bunlar henüz başlangıçtı. Visual Basic'e yeni eklenen Inline XML gibi özellikler üretkenliğe çok fayda sağlıyor. Bu özellik sayesinde LINQ to XML, Visual Basic'te çok pratik. Bunu da bir daha ki yazımda anlatacağım.

İlk puanı siz verin

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


SQL Server 2008 RTM

clock Ağustos 6, 2008 04:23 by author Tisba

SQL Server 2008 Logo

 

Sql Server 2008 bugun yayınlandı. MSDN aboneleri şu anda buradan indirebiliyorlar. En yakın zamanda ürünle ilgili uzun bir yazı yazacağım.

İlk puanı siz verin

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


ISIC Kart Üyeliği

clock Ağustos 5, 2008 04:24 by author Tisba

Bugün ISIC kartımı alıp DreamSpark'a kaydettim. Şu an Microsoft'un ilgili ürünlerine ücretsiz ulaşabiliyorum. Kart alma süreci aslında çok basitmiş. Bahsetmeye bile değmez. Buradaki ajanslardan birine gidiyorsunuz, öğrenci belgeniz (üniversite kimlik kartınız da iş görür, ama liseliyseniz öğrenci belgesi şart) ve bir adet fotografınızla başvuruyorsunuz. (15 YTL başvuru ücreti var.) Kart 5-10 dakika da hazır oluyor.

Asıl problem kartı DreamSpark'a kaydederken başlıyor. Kartınızın S 000 000 000 000 X şeklinde bir numrası var ve DreamSpark da numarayı bu şekilde girmenizi istiyor, ancak; numarayı bu şekilde girmenize izin vermiyor. S000000000000X şeklinde girebiliyorsunuz sadece, tabii bunu da kabul etmiyor. Kart numarasının sonunda ki harfi yazmamanız gerekiyor. Bu aşamayı kazasız belasız atlattıktan sonra, size tavsiyem DreamSpark oturumunuzu bir defa kapatıp, sonra yeniden açmanız. Yoksa site kafayı yiyiyor.

Tüm bu işlemler bittikten sonra, sizde bir DreamSpark üyesi oluyorsunuz...

İlk puanı siz verin

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Microsoft Student Partner başvuruları başladı

clock Ağustos 4, 2008 08:42 by author Tisba

header_Top

Kimi kandırıyorum ben? Başvurular başlamışmış. Neredeyse bitecek ve ben daha yeni yazıyorum günlüğümde. İnsan bu kadar üşengeç olunca normaldir böyle seyler. Eğer, MSP olmak istiyorsanız Microsoft Akademik Yazılım Geliştiriciler topluluğunda gerekli bilgileri bulabilirsiniz. Başvuru 10 Ağustos Pazar, saat 23:59 da bitecek.

Tabii, MSP de ne olaki diyenlerden olabilirsiniz. Programı kısaca size tanıtayım. MSP'lerin öncelikli görevi üniversite ile Microsoft arasındaki bağlantıyı sağlamak aslında. Düzenlenecek seminerleri ayarlamak falan filan. Tabii, bu kadar da değil. MSP olduğunuz zaman bazı getirileri de var bunun:

  • MSP programına başlangıç seti
  • Programa katılım belgesi
  • MSDN üyeliği
  • MSP kartvizit kullanım hakkı
  • Microsoft teknolojileriyle ilgili gelişmeleri yakın takip için yazılım
  • Microsoft Student Partners topluluk portaline erişim
  • Bilgisayar teknolojileri ile ilgili bölümlerden mez
  • un olacak program üyesi öğrencilere, Microsoft Corp. (Redmond, ABD) bünyesinde açık olan teknik pozisyonlar için telefonla iş görüşmesi fırsatı
  • Türkiye MSP Toplantısı
  • Microsoft Türkiye etkinliklerinden, duyurulardan öncelikli haberdar olma
  • Teknik yeterliliğin geliştirilebilmesi için Microsoft Türkiye etkinliklerine davet
  • Microsoft çalışanları ile tanışma, tecrübelerinden yararlanabilme fırsatı
  • Microsoft Press yayınlarından yararlanabilme
  • Microsoft MVPleriyle tanışma ve yakın çalışma fırsatı (Mentorship)
  • Ünvanın gerektirdiği teknik ve/veya soft skill eğitimlerine katılım olanağı

Ben MSP olmak için başvurdum. Eğer üniversite öğrencisi iseniz, biraz sosyalsanız, 3 ya da 4. sınıftaysanız ve bilgisayarla da biraz ilgileniyorsanız sizde başvurabilirsiniz.

İlk puanı siz verin

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Microsoft Surface Reklamı

clock Ağustos 1, 2008 00:01 by author Tisba

Microsoft'un 10.000 dolarlık bilgisayarı Surface'in reklamını sağ duyusu olan bir arkadaş güzelce bir düzenlemiş; dehşet komik olmuş

daha fazla...

İlk puanı siz verin

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Neden Bilim-Kurgu İzleriz

clock Temmuz 31, 2008 02:29 by author Tisba

Dün Battlestar Galactica'nın 4. sezon yarı finalini seğrettim. Daha önce de Stargate: SG-1, Stargate: Atlantis ve Statrek serisini seyretmiştim. Evet, hiç görmemiş gibi tüm bilim-kurgu dizileri seğrettim. O kadar ki diziler bitince; BBC'nin uzayla ilgili belgesellerini izledim. 

Bunları izlerken biliyordum ki, hepsi kurgu. Yetenekli bir kaç senaristin hayalleri; ama gerçek hayata o kadar sağlam tutunmuşlar kı insan bu neyin örtme hikayesi diye düşünmeye başlıyor. Dediğim gibi öyle sağlam tutulmuşlar ki!

Bilim-kurgu serüvenime Stargate: SG-1 ile başladığıma inanıyorum. Bundan önce izlediklerim 1 sezon anca dayanabilmiş dizilerdi. Oysa SG1 kafadan 10 sezon ve 3 film kadar devam etmişti. O kadar oturaklı bir hiyakeydi ki, diziyi izleyince firavunların aslında uzaylı, piramitlerin ise bir tür uzay gemisi iniş sahası olduğuna inanmaya başlıyordunuz. Dizi o kadar iyi kurgulanmıştı ki izlerken, Amerikan başkanlarına küfretmeye başlıyordunuz. Neden bizden tüm galaksiye açılan bir kapıyı gizlerlerdi. Sonra bir de Asgard'lar vardı. İşimlerinin de çağrıştırdığı gibi (Ass gard ~ Ass Guard) sürekli kıçımızı kurtarıyorlardı. Dünya'yı kurtarmaktan yalama olan o dört kahramanı nasıl olurda kamuoyuna açıklamazlardı?

Sonra Stargate: Atlantis başladı. O da aynı SG1 gibi mükemmel bir diziydi. Kurgusu mükemmel, oyuncular mükemmel...

Ama, Battlestar: Galactica'da birşeyler farklı idi. İzlerken, elimi uzatsam, dokunacakmışım gibi hissediyordum. İşin komiği insanlardan en uzak dizi de BSG. Dünyalı bile değildi anlattıkları. Ama, daha uzaygemilerinde başlıyordu kabullenme. BSG'nin Galactica'sı; SG serisinin X-303'lerinden daha gerçekçi. Startrek'in, Enterprise'ini, Deep Space 9'unu ve Voyager'ini kıyaslamıyorum bile çünkü onlar direk 22-24. yüzyıl gemileri. Hatta Startrek -afedersiniz- olayın bokunu çıkartıp 29. yy gemilerini de gösterdi bize.

Ama elimi uzatsam dokunacağımı hissettiğim, tek dizi Battlestar: Galactica. Bunun sebebi, belki "tamam öldü, geberdi" dediğimiz yerde, her defasında mucize olmaması olabilir. Sebebini bilmiyorum, ama BSG'yi izlerken, kendimi Galactica'nın bir mürettebatı gibi hissediyorum. Gemiye vuran her bomba, beni bir ölüm korkusunun almasına neden oluyor. Geçen her saniyeden sonra, Dünya'ya biraz daha yaklaştığım için seviniyordum.

İşte dün, 4. sezonun yayınlanan son bölümünü de izledim. Ocak 2009'a kadar bekleyeceğim şimdi.

İlk puanı siz verin

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


DreamSpark + ISIC = DreamSpark Türkiye de!

clock Temmuz 28, 2008 07:27 by author Tisba

DreamSpark ile ilgili daha önce yazdığım yazıda, bu hizmetin henüz Türkiye'de olmadığından bahsetmiştim. Ben umudu artık kesmiş olsam bile, ara sırasiteyi kontrol ediyordum. Dün fark ettim ki listede Türkiye de var. Türkiye'yi seçince ISIC diye bir şeçenek çıkıyor. Nedir, ne değildir diye şeçip tıkladım. Tıklayınca, ISIC kart numarası istiyor. Biraz araştırdım bu ISIC ne diye...

ISIC - International Student Identity Card

ISIC Card 2

Bu kart uluslararası olarak tanınan tek öğrenci kimlik kartıymış. 1968'den beri dünya genelinde 40 milyon öğrencinin seyehat tecrübelerinin çoğunu kazanmalarına yardım etmiş. ISIC kartı sayesinde dünyanın 105 den fazla ülkesinde 32,000'den fazla yerde indirim kazanabiliyormuşuz.

ISIC Sahibi Olarak Neler Kazanıyormuşuz?

  • Uluslararası olarak, öğrenciliğinizin tanınması
  • Trenler de, uçaklar da, feribotlarda ve otobüslerde 1200 indirim
  • 2800 müzede indirim
  • 24 saat, çok-dilli yardım merkezine ulaşım

ISIC ile UNESCO arasında da işbirliği varmış. ISIC hakkında daha fazla bilgiye buradan ulaşabilirsiniz.

Bu Kartı Nasıl Edineceğiz?

Bu kartı Türkiye de üç şehirden alabiliyormuşuz. İstanbul, Ankara, İznir. İstanbul'da ki ajanslardan birisyle görüştüm ve kartı 15 YTL karşılığında 4-5 dakika da çıkarabildilerini söyledi. Karı alabilmek için 2 adet vesikalık fotoğraf ve bir adet öğrenci belgesi gerekliymiş. (Öğrenci kartının fotokopisi de yeterliymiş.) Yarın gidip kartı alacagim, kartı aldıktan sonra yücelip, yücelmediğimi de yazacağım.

İlk puanı siz verin

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Süreksiz Duygular

clock Temmuz 23, 2008 17:22 by author Dream Raider //

Boşluk sevgimin kalıbına oturuyor. Geçen her saniye daha fazla acı getiriyor. Sensizliğin unutturduğu sevinçleri günler uzaklaştırıyor. Sana yaklaştıkça, silikleşiyorsun. Boşluk sevginin kalıbını alıyor ve zaman yok oluyor. Hiç bir yerde olamıyorum, hiç bir yere gidemiyorum. Her şeyden sonra varlık sıfatlarımın başına “hiç” geliyor…

Uzak diyarlarda dostlukları istismar edenleri asarlarmış. Tüm varlıkları ile sonsuz yokluğa gönderirlermiş. Üç senelik bir kısmi-dostluğu katleden ben’e bir ceza bulamıyorum. Tam da atlayacakken denize, “dur” diyor bir ses, daha cezanı çekmedin.

Onca sessizlikten sonra senden hiç bir şey istemiyorum. Sen noktayı koydun ve artık yoktum senin için. Hayır, seni istemiyorum. Mutlu bir son istemiyorum. Çünkü o zaman biter bu aşkın büyüsü ve kendimi astıramam uzak diyarlar ülkesinde.

Kızdığımda, sen suçlusundur. Giren kramplardan sen sorumlusundur. Her fırsatta seni yere vuruyor ama çizemiyorum hatıranı. Geçmişe o kadar, kenetlisin ki. Beni o kadar iyi anlıyorsun ki… Lise bir çömezinin eliyle yazılmış, bir günlük sayfasından bile gerçekleri çıkartabilmiştin. Daha ben bile, seni sevdiğimi bilmezken, sen benden uzaklaşıyordun ve “ben sana uygun değilim,  heybetim altında ezilirsin” diyordun. Anlamıyordum. Sen suçluydun! Bir dostluğa gölge düşürüyordun, selam vermiyordun. Yetersiz aklımla anlayamıyordum ki…

Onca zaman sonra sadece bilmen için yazıyorum sana. Bu bir vicdan rahatlatma. Belki gelirsin umudu bu. Seninle ilgili hiç bir düşünceyi kirletmediğimi sana anlatma çabası. Ben hâlâ yaşıyorum, ölmedim haykırışı… Sırf senle karsılaşma umuduyla Fatih caddelerinde dolaştığımızın itirafı. Bir gülümsemenin bile haftalar süren mutluluğun sebebi olduğunu sana söyleme fırsatı.

Bu yazı giderek edebiliğini kaybederken kendimi yazmaktan alıkoyamıyorum. Aylarca düşünüp ancak başlayabildiğim bu yazının basından kalkarsam, devam etme cesareti bulamam diye korkuyorum. Sana senden sakladığım her şeyi anlatmak istiyorum ama hala bir cesaretsizlik ile kaplı içim ve dışım. Önce Merve ile seni etkilemeye çalıştım, başaramadım…

Oysa hala aklımda o güzel günler, lise birde benimle otobüs beklemeni bile hatırlıyorum. Sana o kadar şey söylemek istiyorum ki; ama özeline tecavüz etmiş gibi hissediyorum. Benden telefon bile almak istemezken acaba eposta almak ister misin? Almak isteyeceğini farz edip yazmaya devam edeceğim.

Senden özür dilerim Gamze, sana karsı dürüst olmadım; ama senin hakkında kötü bir şey de düşünmedim hiç. Lise bir saflığıyla; bir gün yanına gelip “o serseri Murat var ya Gamzeciğim, senin hakkında pek arkadaş canlısı düşünmüyor; seninle çıkmak istiyor.” demiştim. İstiyordum ki, arkadaşlarını ve arkandan iş çevirenleri bil; böylece kendimi gizleyebilecektim. Sonra Murat ve sen çıkmaya başladınız. Üzülüyordum.

O kadar sansızdım ki, sen çok güzel bir kızdın. Her zaman sana birilileri asılıyordu ve ben ateş yağıyordum bu şehre, kalbimde! “Oysa, ” diyordum. “ben onu kişiliği için seviyorum”. Birileri ile çıkmadığın zamanlarda beni takmasan da sineye çekebiliyordum.

Her zaman değil tabi. Bir gün yine patlamıştım. Seninle konuşmak istiyordum. Sınıfına geldim, sana bir şey diyecektim ki; Duygu hanim “mektup yazsan, biraz isimiz var” dedi. Benliğime ve varlığıma ters geliyordu bu, bir nevi sana olan sevgimi kendime itiraf etmem gerekecekti çünkü. O zeki ben, kendime; senin benimle görülmek istemediğini bir türlü anlatamıyordum.

Görüyor musun, güzelim yazıyı batırdım. Oysa ne güzel yazmaya başlamıştım. Aklımda sana yazmak hiç yoktu. Seni düşünemezdim, adını hiç bir kâğıda yazamazdım. Bu arkadaşlarımın aklındaki Merve imajını çürütürdü. Oysa ben senin gizli ve gizemli kalmanı istiyordum. Seni anlatmadan da duramıyordum ki, sana olan sevgimi Merve’yeymiş gibi anlatıyordum. Hiç isim kullanmadım yazılarımda, o zaman daha rahat yazıyordum.

Hayır, yok yok, etkileyicilik kaygısı taşımayı bırakıyorum. Daha içten yazmaya başlıyorum. İmla hatalarım için de kusura bakma birinci tekil şahısla yazmaya pek alışık değilim, bazen üçüncü çoğul şâhısa kaymış olabilirim…

Sonra bir gün sen, Cuma’yla çıkmaya başladığını söyledin. Pek mutlu olduğum söylenemezdi; ama sen mutluysan bu da benin için yeterli idi. Sana hiç olmayan tecrübemle yardım etmeye çalıştım; ama zaten onunla çıktığın sure içinde sadece iki defa konuşabildik. Aslında, böyle hissedeceğimi hiç düşünmezdim; ama senin ondan ayrıldığını duyunca üzüldüm. Sanki senin acının bir kısmını ben taşımak istercesine somurtkan dolaştım. Çünkü sen üzülüyordun.

Zamanla senin üzüntünü paylaşmaya çalışırken bile çekinmeye başladım, çünkü sana olan duygularım gün ışığına çıktıkça daha fazla suçluluk duyuyordum. En büyük acılarını bile paylaşmayı hak etmiyormuş gibi hissetmeye başladım.

Masum değiliz hiç birimiz. Kötü düşüncelerle, kötü duygularla bu sevgiyi kirletmekten korktum. Hepimizin aklından geçen ama asla itiraf edemediğimiz o kötü düşüncelerden uzak durmaya çalıştım. O kadar paranoyak olmuştum ki seni düşünmeye bile korkmaya başlamıştım. “Bir aşkı yârin ak teni kirletir” demiş şair, sanırım Yunus Emre. Seni sakınmaya başladım. Yine de dalıp gidiyorduk, gözüne kaşına…

Aslında sana ve Merve’ye çok şey borçluyum. Merve sayesinde ilkokulda hiç kimse ile çıkmadım. Senin sayende ise lise de. Şuan ikimiz ayrı üniversitelerdeyiz ve ben hâlâ kimseyle çıkmadım.

Bu, kader sanırım. O kız bana asık, ben ona bakmıyorum ve bana takılmasını istemediğim için ona hiç iyi davranmıyorum. Umut beslemesin. Ben sana asığım, ama sen benim sana takılmamı istemediğin için bana hiç iyi davranmadın. Umut beslemeyeyim. Sen ona âşıksın… Aşk kavuşmayınca güzel herhalde Gamze…

Ne yapayım Gamze, herkesi kendim gibi zannediyorum. Umutlanmamam için benden uzaklaşınca seni daha çok seviyorum. Çünkü öyle ya da böyle beni düşündüğünün farkına varıyorum.

İnsanlar varlıklarını başkalarına dayayıp, var olduklarını hissetmek isterler. Ben birileri tarafından seviliyorsam, değerliyim; değerliysem var olmayı hak ediyorumdur. Öte yandan birileri tarafından sevilmiyorsam, değersizim; değersizsem var olmayı hak etmiyorumdur. Var olmak kadar tatlı bir şey yok Gamze, o yüzden tüm bu cabalar.

Sana burada yazanlardan başka bir şey söyleyemeyecekmişim gibi hissediyorum; o yüzden yazdıkça yazmak istiyorum. İste ikinci sayfa da bitti; ama korkuyorum işte, uzunluğundan üşenip, okumadan sileceksin diye. Daha da yazmak istiyorum, anlatmak. Senelerin sessizliğini bir kaç harfle daha tükürmek istiyorum.

Seni kazanmak için ne yapmam gerektiğini bilmiyorum. Bende ne dokuz ay peşinden koşacak kendine güven var ne her daim sana serenat yapacak yüz. Ben yalnızca pasif bir seviciyim ve bu da bir aşk mektubu değil çünkü biliyorum seni kaybetmem için yapmam gereken tek şey aşk mektubu yazmak.

Eğer buraya kadar okuduysan, sana teşekkür etmek istiyorum. Büyük ihtimalle çok fazla sıkıldın. Hatta buraya kadar seni tutan nedir bilmiyorum. Sadece bundan sonra sana yazmamı istemeyeceğini bildiğim için, uzattım biraz. Farkındaysan ha kapattım; ha kapatıyorum paragrafları bile yarım sayfa sürdü. Birincilik ödülün için seni kutlarım Gamze.

Muhammed Medeni Baykal
5 Haziran 2008 Perşembe
23:28:58

İlk puanı siz verin

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5



Bu sitede ki tüm dökümanlar Tasdiks ile tasdiklenmiştir.

Telif Bilgileri

Ajanda

<<  Ağustos 2008  >>
PaSaÇaPeCuCuPa
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567

Geniş Ajandayı Göster

Katalog Ivır-Zıvırları

My BlogCatalog BlogRank

Sign in