Hilmi BEYDEŞ's profileHilmi BEYDEŞPhotosBlogLists Tools Help

Blog


    December 13

    www.hilmibeydes.com

    Yeni adresim budur.
    Bilginize....
    June 10

    Windows 7.0

    Wall Street Journal tarafından düzenlenen D6 “D: All Things Digital” Konferansında Bill Gates ve Steve Ballmer birlikte sahne aldılar ve ilk defa Windows 7’nin özelliklerinden birini gösterdiler. Microsoft Surface teknolojisinin SDK olarak dahil edildiği Windows 7 üzerinde dokunarak işlem yapmak mümkün olacak, çoklu dokunma teknolojisi videoda da göreceğiniz gibi Dell Lattitude XT gibi bir dizüstü bilgisayarında kolayca çalışabiliyor, böylelikle 2010 yılında çıkması planlanan yeni Windows ile her yüzeyin bilgisayara dönüşmesi için önemli bir adım atılmış olacak. Windows 7 hakkında konuşmak için çok erken ama bu yılın sonunda ve özellikle de 2009’da ürünü daha yakından tanımamız mümkün olacak.

    Sayfanın altındaki videoyu mutlaka izleyin. Daha önceden de bahsettiğim surface teknolojisi artık windows a gömülü olacak.

    June 07

    C# ile Registry İşlemleri

    Windows’ un tüm bilgileri bildiğiniz gibi registry de saklanmakta. Bu yazımda registry e bilgi kaydetme ve okuma işlemleri üzerinde duracağım. Öncelikle registry e nasıl ulaştığımızı söyleyeyim. Başlat, Çalıştır, Regedit dediğimizde Kayıt Defteri Düzenleyicisi yani Registry bilgilerini görmüş oluyoruz. Registry de 5 ana kök var. Bunlar:

    HKEY_CLASSES_ROOT
    HKEY_CURRENT_USER
    HKEY_LOCAL_MACHINE
    HKEY_USERS
    HKEY_CURRENT_CONFIG

    Bunlara herhangi bir veri ekleyip okuyabilmekteyiz. Peki nasıl? Yine örnek proje üzerinden gideceğim. C# da bu işlemleri yapabilmek için
    using Microsoft.Win32;
    ifadesini eklemek zorundayız.
    Planımız şöyle: Önce bir ana köke veri yazıp okuyacağım, sonra da alt rootlara yazıp okuma yapıp konuyu toparlayacağım. BaşlıyoruzJ
    Şimdi Current User altında KullanıcıAdı verisi oluşturup textbox tan alınan veriyi ekliyoruz:

    private void button1_Click(object sender, EventArgs e)

    {

    string text = textBox1.Text;
    RegistryKey rk = Registry.CurrentUser;
    rk.SetValue("UserName",text);

    }

    Okuma işlemi de benzer şekilde:

    private void button2_Click(object sender, EventArgs e)

    {

    string text = Registry.CurrentUser.GetValue("UserName").ToString();
    this.Text = "Kullanıcı Adı: " + text;

    }

    Ana rootların altına klasör eklemek için örneğin şöyle yapabiliriz.
    Registry.CurrentUser.CreateSubKey("UserName");
    Bu oluşturduğumuz klasörlere bilgi ekleme ve okuma da aynı şekilde.
    Siz de ana köklerin altındaki metodları inceleyebilirsiniz. Örneğin DeleteSubKey, DeleteSubKeyTree, SubKeyCount gibi…

    Bu yazımda C# da registry işlemleri nasıl yapılır öğrenmiş olduk. Çok kolay olduğunu görebiliyorsunuz. Zaten Microsoft ile proje geliştirmek gayet kolaylaştı. Tek tıkla her şey elinizin altında.

    Herkese İyi Çalışmalar!

    June 05

    SharePoint İçin Kilit Site

    Microsoft yeni bir site ile karşımızda. Önümüzdeki yıllarda geniş yankı uyandıracağına inandığım ve benim de biraz ilgilendiğin SharePoint ürünü ile alakalı harika bir site hazırlandı. Sıfırdan başlayıp geniş bilgiler elde edebileceğiniz bu siteyi mutlaka ziyaret edin ve ilgi duyarsanız mutlaka tüm linkleri bitirin:). Öncelikle sharepoint kurulu virtual harddiski indirmenizi öneririm.

    http://MSSharePointDeveloper.com

    Herkese İyi Çalışmalar!

    Windows XP de Bilgisayarı Otomatik Kapatmak

    Windows XPde bilgisayarı Otomatik Kapatmak için hazır bir program vs. gerek yok aslında.. Basit bir komutla bu işlemi yapabilirsiniz..
    Yapacağınız işlem;
    Başlat > Çalıştır > alanına tsshutdn 3600 yazmanız. 3600 saniye 1 saat yapar. Burada ki değeri değiştirerek otomatik kapanma süresini düşürebilir ya da uzatabilirsiniz. Bu şekilde hiç programla falan uğraşmadan bilgisayarı otomatik kapatabilirsiniz.
    Herkese İyi Çalışmalar!!!

    May 30

    Gün ve Ay İsimleri Nereden Geliyor?

    Ntvmsnbc.com da rastladığım ilginç bir bilgiyi paylaşmak istedim. İşte gün ve ay isimlerimizin kökenleri:

    Cuma-Arapça-toplama, toplanma
    Cumartesi-Arapça-(ertesi - Türkçe)
    Pazar-Farsça-(ba = yemek, zar = yer)
    Pazartesi-Farsça-(ertesi - Türkçe)
    Salı-İbrânice-(üçüncü)
    Çarşamba-Farsça-(cehar şenbe = dördüncü gün)
    Perşembe-Farsça-(penç şenbe = beşinci gün)
    Günümüzde kullandığımız ay isimlerinin geldikleri yerler de karışık. Hicri takvimdeki Arabi ay isimlerinin bugün hiçbirini kullanmamamıza rağmen yine de Şubat, Nisan, Haziran, Temmuz ve Eylül aylarının isimlerinin kökenleri Arapça ve Süryanice, Kasım ayının ise Arapça. İşin daha ilginç yanı bunlardan Şubat, Nisan, Temmuz ve Eylül hemen hemen aynı telaffuzla Yahudi takviminde de yer alıyorlar. Gelin ayların isimleri ve kökenlerine bir göz atalım.
    Ocak = Türkçe (Kışın evlerde ateş yakılan yer)
    Şubat = Süryanice
    Mart = Latince (Maritus - mitolojik isim Mars’tan)
    Nisan = Süryanice
    Mayıs = Latince (Tanrıça Maria’nın ayı)
    Haziran = Süryanice
    Temmuz = Arapça / Süryanice
    Ağustos = Latince (Roma İmparatoru Augustus’un adından)
    Eylül = Süryanice
    Ekim = Türkçe (Toprağı ekmekten)
    Kasım = Arapça (Bölen)
    Aralık = Türkçe (İki zaman dilimi arası)

    May 29

    C# ile Drag&Drop

    Hepimizin bildiği sürükle bırak… Peki implementasyonu nasıl? Bir kontrolün mouse ile tutulup taşınması mantığını içerdiğinden genellikle kontrolün MouseDown eventine kodlarımızı yazmalıyız. Burada önemli olan metot ve özellikleri inceleyelim.

    DoDragDrop: Sürüklenecek bilginin belirlenmesini sağlar.
    AllowDrop: Sürüklenen verinin kontrol içine bırakılabilir olup olmamasını sağlar.
    DragDropEffects: Bir enum sınıfıdır. Bu sayede sürükleme ile kopyalama, taşıma gibi işlem yapacağımızı belirleriz.

    Genel olarak mantık şöyledir. Öncelikle mousedown eventinde DoDragDrop ile taşınacak veriyi seçeriz. Sürüklenecek kontrolün AllowDrop özelliğini true yaparız. DragDropEffects ile de sürükleme tipini belirleriz. Son olarak da sürüklenen veriyi bırakılan kontrole ekleriz. Yaptığım örneği 5sn den kısa sürede indirip deneyebilirsiniz.
    http://cid-ecd27a5458288d23.skydrive.live.com/self.aspx/Ortak/dragdrop.rar

    Herkese İyi Çalışmalar!

    May 28

    Neden MSDN?

    İtalyanlar MSDN in önemini anlatan güzel ve eğlenceli bir video yapmışlar:). Silverlight teknolojisi ile hazırlanmış iki sevimli yazılımcının 3 gününü gülerek izleyeceksiniz. Mutlaka izleyin!

    http://www.microsoft.com/italy/msdn/prodotti/promozioni/value/default.aspx

    May 27

    DataTable da Filtreleme ve Sıralama- 2

    filterExpression: Filtreleme ifadesi. WHERE ifadesi
    sort: Sıralama ifadesi. ORDER BY ifadesi
    recordStates: DataTable içerisindeki veriler üzerinde değişiklikler yapabilmekteyiz. recordStates parametresi DataTable içerisindeki verilerin durumuna göre seçme işleminin hangi kayıtlar arasından yapılacağını belirler. RecordStates e DataViewRowState enum class ı üzerinden erişebilirsiniz. Aynı proje üzerinde hemen bir örnek yapalım:

    private void button1_Click(object sender, EventArgs e)

            {

                dataGridView1.DataSource = dt;

                DataRow[] satir = dt.Select("musteri_id<30 and musteri_id>20");

                foreach (DataRow dr in satir)

                {

                    MessageBox.Show(dr["musteri_adi"].ToString());

                }

            }

    DataTable da var olan bu özellikler sayesinde projelerimiz üzerindeki performans yükünü büyük bir oranda azaltmış oluyoruz. Zira eğer her sıralama veya filtreleme işlemi için server a gidecek olursak performansımız doğal olarak düşük olur. Her şeyden önce bu biz mühendislerin tercih etmeyeceği bir noktadır.

    Bu arada yaptığım projeyi skydrive a upload ettim. Dileyen indirebilir.

    http://cid-ecd27a5458288d23.skydrive.live.com/self.aspx/Ortak/datatable.rar

    Herkese İyi Çalışmalar!!!

    May 26

    DataTable da Filtreleme ve Sıralama -1

     

    Ado.Net sıklıkla kullandığımız sınıflardan biridir DataTable. DataTable a ait DataRow ve DataColumn sınıfları ile işlemler yapabilmekteyiz. Bu yazımda genel olarak kullandığımız datatable da filtreleme ve sıralama işlemlerine göz atacağız. DataRow özelliği altında filtreleme işlemleri find metodu ile yapabiliyoruz. Ancak bu metottan tek bir kayıt geri dönüyor. Zira Find() primary key üzerinden arama yapıyor. Şu örnek koda bakalım:

    private void Form1_Load(object sender, EventArgs e)

            {

                SqlConnection con = new SqlConnection(@"data source=HILMIPC\HILMI;integrated security=sspi;initial catalog=ilk");

                SqlDataAdapter da = new SqlDataAdapter("Select * from musteri", con);

                dt = new DataTable("musteri"); // dt global olarak tanımlanmıştı

                da.Fill(dt);

                DataColumn[] dc = { dt.Columns["musteri_id"] };

                dt.PrimaryKey = dc;

            }

     

            private void button1_Click(object sender, EventArgs e)

            {

                dataGridView1.DataSource = dt;

               DataRow satir= dt.Rows.Find(19);//varolan bir ID girin. aksi halde hata verecektir.veya try catch de kullanabilirsiniz:)

               MessageBox.Show(satir["musteri_adi"].ToString());

            }

    Hemen kısa bir izahatta bulunayım. Bağlantıyı kurup DataTable doldurulduktan sonra onun üzerinde hangi kolonların primary key olacağını belirlememiz gerekiyor ki find metodu çalışabilsin. Daha sonra da buton click te datarow un find metodunun kullanılışını görüyoruz.

    Peki primary keyden başka alan üzerinden işlem yapamıyor muyuz? Tabi ki yapabiliyoruz. DataTable a ait Select() bu işi yapıyor ve 3 adet override a sahip.

    Select();
    DataTable içerisindeki tüm satırları getirir.

    Select(string filterExpression);
    DataTable içerisinden sadece filtrelenen kayıtları getirir.

    Select(string filterExpression, string sort);
    DataTable içerisinden sadece filtrelenen kayıtları, belirtilen sıralamada getirir.

    Select(string filterExpression, string sort, DataViewRowState recordStates);
    DataTable içerisinden DataRowViewState'i belirtilen kayıtlar içerisinden filtrelenen kayıtları, belirtilen sıralamada getirir.

    (devam edecek)

    May 25

    Genel Exception Sınıfları

    C# da hata yakalama işlemlerini try-catch-finally blogları ile yapıyoruz. Bu yazımda .Net framework içerisinde tanımlanmış olan exception sınıflarından yaygın olanları inceleyeceğim.
    SystemException
    Sistem namespace i içindeki önceden tanımlanmış hatalar için ana sınıftır.
    AccessViolationException
    Bu sınıf hafızada korunan bir yere okuma veya yazma teşebbüsünde bulunulduğunda kullanılan hata sınıfıdır.
    StackOverflowException
    Çalışan bir yığın çok fazla metod çağrısı içerdiğinde yığında taşma meydana geldiğinde tetiklenen hata sınıfıdır.
    ArgumentNullException
    Bu hatayla çoğumuz karşılaşmıştır sanırım. Bu sınıf da bir metod null değer almadığı halde null değer dönüyorsa throw edilir.
    ArgumentOutOfRangeException
    Gelen değer hafızada ayrılmış değeri taşıyorsa throw edilir.
    ArithmeticException
    Bu sınıf aritmetik, casting ve dönüşüm işlemlerinde oluşan hatalarda kullanılır.
    ArrayTypeMismatchException
    Diziye dizi türünden başka türde eleman ataması yapmak istediğinizde tetiklenen hata sınıfıdır.
    NotSupportedException
    Bu metod işletilmek istenen metod desteklenmediğinde veya okuma, yazma, arama desteklenmeyen bir stream e bu işlemler yapılmak istendiğinde throw edilen sınıftır.
    FormatException
    Bu sınıfı format uyumsuzluğu olduğunda tetiklenen sınıftır.
    IndexOutOfRangeException
    Bu hatayı dizilerle işlem yaparken almayanımız yoktur herhaldeJ. Gönderilen index dizinin sınırlarını aşıyorsa throw edilen sınıftır.
    InvalidCastException
    Geçersiz casting işlemi uygulanmaya çalışıldığında tetiklenen sınıftır.
    InvalidOperationException
    nesnenin o anki durumuna göre bir metodun çağırılması geçersiz ise throw edilen hata sınıfıdır.
    MissingMemberException
    Var olmayan bir sınıf üyesine erişim sağlanmak istendiğinde throw edilir.
    DivideByZeroException
    Sıfıra bölme hatası ile karşılaşıldığında tetiklenen sınıftır.
    NullReferenceException
    Bir null nesneyi referans olarak gösterildiğinde hata throw edilen sınıftır.
    Burada birçok hata sınıfına genel bir bakış yaptım. Ancak tabi daha birçok hata sınıfı var:
    ArgumentException, MissingFieldException, MissingMethodException, OutOfMemoryException, OverflowException, NotFiniteNumberException, NotImplementedException, InvalidFilterCriteriaException, InvalidProgramException, InvalidTimeZoneException gibi hata sınıfları da exception handling işlemlerinde bizlere yardımcı oluyor. Tabi bunların yanında bizler de User-Defined exception handling yapabiliyoruz.

    Herkese İyi Çalışmalar!!!

    May 24

    Asp.net ile vCalendar Oluşturmak

    Asp.net ile hazırladığımız bir sitede etkinlik duyurusu yaptık diyelim. Bunu kullanıcının Outlook takvimine randevu olarak eklemek istiyoruz. Nasıl yaparız sorusunun cevabını bu yazımda bulabilirsiniz.

    Öncelikle veri tabanımızda tabloyu oluşturalım.

     

    Daha sonra bir web Project açalım. Sayfamızın source kısmına geçip page bölümüne ResponseEncoding="iso-8859-9"  ibaresini ekliyoruz.  Bunu eklememiz Türkçe karakter desteğini sağlayacaktır.

    Sonra Body kısmına aşağıdaki kodu ekleyelim:

    <asp:Repeater ID="Repeater1" runat="server" DataSourceID="vcalendar" OnItemCommand="onClick">

            <ItemTemplate>

                <asp:Label ID="lblBaslik" runat="server" text='<%#Eval("baslik")%>'></asp:Label>

            <br/>

                <asp:Label ID="lblOzet" runat="server" Text='<%#Eval("ozet")%>'></asp:Label>

            <br/>

                <asp:Label ID="lblbaslangic" runat="server" Text='<%#Eval("bitis")%>'></asp:Label>

            <br/>

                <asp:Label ID="lblbitis" runat="server" Text='<%#Eval("baslangic")%>'></asp:Label>

            <br/>

                <asp:LinkButton ID="linkbutton1" runat="server" CommandName="vcalendar">Takvime Ekle</asp:LinkButton>

            <br />

            </ItemTemplate>

            <SeparatorTemplate>

            <br />

            ________________________________

            <br />

            </SeparatorTemplate>

            </asp:Repeater>

    Tasarımdan sonra asıl kod sayfamız aşağıdaki gibi olacak:

    protected void Page_Load(object sender, EventArgs e)

        {

            if (!Page.IsPostBack)

            {

                SqlConnection con = new SqlConnection(@"Data Source=HILMIPC\HILMI;Initial Catalog=vcalendar;Integrated Security=True");

                SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM[etkinlik]", con);

                DataSet ds = new DataSet();

                da.Fill(ds);

              

                Repeater1.DataBind();

            }

        }

     

        protected void onClick(object source,RepeaterCommandEventArgs e)

        {

            if (e.CommandName == "vcalendar")

            {

                string baslik = ((Label)e.Item.FindControl("lblbaslik")).Text;

                string ozet = ((Label)e.Item.FindControl("lblozet")).Text;

                string baslangic = Convert.ToDateTime(((Label)e.Item.FindControl("lblbaslangic")).Text).ToString("yyyyMMddTHH0000");

                string bitis = Convert.ToDateTime(((Label)e.Item.FindControl("lblbitis")).Text).ToString("yyyyMMddTHH0000");

                string UID = Guid.NewGuid().ToString().Replace("-", "");

     

                StringBuilder sb = new StringBuilder();

                sb.Append("BEGIN:VCALENDAR\n");

                sb.Append("BEGIN:VEVENT\n");

                sb.Append("DTSTART:" + baslangic + "\n");

                sb.Append("DTEND:" + bitis + "\n");

                sb.Append("UID:" + UID + "\n");

                sb.Append("DESCRIPTION:" + ozet + "\n");

                sb.Append("SUMMARY:" + baslik + "\n");

                sb.Append("END:VEVENT" + "\n");

                sb.Append("END:VCALENDAR");

                Response.ContentType = "text/x-vCalendar";

                Response.AddHeader("Dosya","filename=" + UID + ".vcs;");

                Response.Write(sb.ToString());

                Response.End();

            }

        }

    Bu sayede Outlook randevusu ayarlamış olduk. Kodu biraz incelemenizi  tavsiye ederim.

    İyi Çalışmalar!

    May 22

    Photosynth ve CSI:NY

    CSI:NY dizisi içerisinde Microsoft Live Labs ürünlerinden olan Photosynth ürünü kullanılarak bir okul cinayetinin suçlusu dedektifler tarafından arandı. Dizi içerisinde geçen sahnede öğrencilerin parti esnasında fotoğraf makineleri ve cep telefonlarıyla çekmiş oldukları tüm fotoğraflar Photosynth sayesinde biraraya getirildi ve böylelikle muhtemel suçlunun bulunması sağlanmış oldu.

    CSI yönetmenleri geçtiğimiz yaz Microsoft’u ziyaret ettiklerinde onlara Photosynth demosu yapılmıştı ve ekip bunu dizi içerisinde kullanmak istediklerini belirtmişlerdi, bunun üzerine Microsoft Live Labs takımı ile yakın çalışarak yan tarafta izleyebileceğiniz bölüm içerisindeki sahne ortaya çıktı. Photosynth’in gücünü gösteren çok güzel bir örnek oldu, bildiğiniz gibi biz de Microsoft Türkiye olarak bugüne kadar Sultanahmet Meydanı ve Anıtkabir’in binlerce fotoğrafını Photosyth kullarak biraraya getirmiştik. Gençsen Geleceksin seminer dizisinde de bunları paylaşmıştık.

    Photosynth i denemek ve incelemek için tıklayınız: http://labs.live.com/photosynth/

    May 21

    Imagine Cup 09 Temasını Seçin!

    Bir Imagine Cup yılını da en azından Türkiye olarak geride bıraktık. Finalistimiz dünya finali için hazırlanırken dünyada gelecek senenin Imagine Cup teması oluşturma çabaları başladı. Aşağıdaki linke tıklayıp siz de yeni temaları görünteleyip seçim aşamasında oy kullanabilirsiniz.

    http://www.mondorobot.com/microsoft/IC2009

    Herkese iyi çalışmalar!

    May 16

    SOA Semineri

    Yazılım dünyasının popüler ve önemli kavramları hakkında, örneklerle bilgi edinin.
    MSAkademik lider editörleri'nden Pamir Erdem, "Katmanlı Mimari ve SOA" ana başlığı altında, aşağıdaki konuları kapsayacak bir seminer gerçekleştirecek.

    SOA
    - Service definition
    - Explictness
    - Coupling
    - Configuration
    - RPC/XML, SOAP/XML, Remoting, Web Services , COM, DCOM, COM+

    Katmanlı Mimari
    - Database mimarisi
    - Database tasarımı
    - Design Patterns
    - ADO.NET
    - Katmanlar
    - NHibernate

    Tarih / Saat : 24 Mayıs 2008, Saat 13:00
    Yer : Microsoft İstanbul Ofisi, Marmara Salonu
    Seminere katılmak için tıklayın: http://www.msakademik.net/seminer_kayit.aspx?etkinlik_id=241
    May 15

    Not So Naive Algorithm

    Diskten bir metin arama algoritması olan Not So Naive Algoritmasını inceleyeceğim bugün. Gerçek hayattaki performansında hemen tüm metin arama algoritmaları genellikle diskten okuma işlemlerinde pek farklı değildir. Ancak Not So Naive Algoritması kodlama açısından en uygulanabilir algoritmadır.

    C Kodu 

    void NSN(char *x, int m, char *y, int n)

    {

       /* Burada x aranacak metin; y metim yığını; m metin yığınının uzunluğu ve n ise aranacak metinin uzunluğudur. */       

       int j, k, ell;

     

       /* Önişlem */

       if (x[0] == x[1]) {

          k = 2;

          ell = 1;

       }

       else {

          k = 1;

          ell = 2;

       }

     

       /* Arama */

       j = 0;

       while (j <= n - m)

          if (x[1] != y[j + 1])

             j += k;

          else {

             if (memcmp(x + 2, y + j + 2, m - 2) == 0 &&

                 x[0] == y[j])

                OUTPUT(j);

             j += ell;

          }

    }

    Buradaki memcmp komutunu kısaca açıklayalım:

    MEMCMP :
    İşlevi : n baytlık bir uzunluk için s1 ve s2 stringini karşılaştırır.Bu fonksiyon baytları unsigned char olarak karşılaştırır. Bu yüzden
    Memcmp(“\xFF”,”\x7F”,1);
    İfadesi pozitif bir değer gönderir.
    Formatı : int memcmp (const void *s1, const void *s2, size_t n);

    Herkese İyi Çalışmalar

    May 14

    PopFly GameCreator

    Artık aramızda popfly ı bilmeyen yok. Ancak Alfa aşamasında olan Game kısmını tanıtmak istiyorum. popfly.com a girdiğinizde Create Game butonuna tıkladığınızda küçük çaplı oyunlar yapabilmeye başlıyoruz. Tabiki popfly ın mantığı ile paralel şekilde. Yani tek bir satır kod yazmadan:).
    Sıkıldığınızda mash-uplar veya web sayfalar oluşturmaya devam edebilirsiniz.
    Şimdi live hesabınızla girip deneyin.
    May 13

    Voice Over Internet Protocol SON

    Voice Over IP ile İlgili Tanımlar

    VoIP: İnternet Protokolü üzerinden ses aktarımı ( IP Telefonculuğu, Internet Telefonculuğu ve Dijital Telefon olarak adlandırılır), sesli görüşmelerin İnternet veya diğer IP tabanlı ağ üzerinden yapılmasıdır.

    SIP: Oturum Başlatma Protokolü - IETF MMUSIC Çalışan Grup tarafından geliştirilmiştir ve video, ses, anında mesajlaşma, online oyunlar ve sanal gerçeklik gibi çoklu ortamı kapsayan bir etkileşimli kullanıcı oturumunu başlatma, değiştirme ve son vermek için önerilen standarttır.

    PSTN: Kullanıcı anahtarlamalı telefon şebekesi - İnternetin dünya üzerindeki kullanıcı IP tabanlı paket anahtarlamalı şebekelerinin yoğunlaşmış haline çok benzer şekilde, dünya üzerindeki kullanıcı çevrim-anahtarlı telefon şebekelerinin yoğunlaşmış halidir.

    ISDN: Entegre Hizmetler Dijital Şebeke- ses ve verinin sıradan bakır telefon kabloları üzerinden analog sistemlerden daha iyi kalitede ve daha hızlı dijital (analog'un tersine) aktarımını sağlayacak şekilde tasarlanmış bir çevrim anahtarlı telefon şebeke sistemidir.

    PBX: Özel Şube Santrali (Özel İşletme Santrali olarakta bilinir) - Genel bir taşıyıcı ya da telefon firmasının sahip olduğu santrale karşılık özel kurumların kendilerinin sahip olduğu bir telefon santralidir.

    IVR: Telefonculukta, Etkileşimli Sesli Yanıt - genellikle telefonla arama yapan bir kişinin sesli menüden bir seçim yapmasına imkan veren ve aksi takdirde bir bilgisayar sistemi arayüzü ile karşılaşılan bilgisayarlaştırılmış bir sistemdir.

    DID: Direkt Dahili Arama (Avrupa'da DDI olarak da bilinir) telefon şirketlerinin (telco), müşterilerinin PBX sistemleri ile kullanılmak üzere onların PBX'ine bağlı bir dizi numara tahsis etme yoluyla sundukları bir özelliktir.

    RFC: Yorumlar Talebi (RFCs için Yorumlar Talepleri) İnternet ve Unix toplumlarındaki ticari yazılımlar ve bedava yazılımlar tarafından yaygın olarak takip edilen bir dizi numaralı Internet bilgilendirici belge ve standartlarından birisidir.

    Son Söz

    Voice Over Internet Protocol kısaca VoIp, internette veya da diğer packet switch ağlarında ses iletiminin optimize edilerek sağlandığı bir protokoldür diye tanımlamıştık. Ancak gördük bu tanım altında kısa bir sürede birçok geliştirilme yapılmış ve yapılmaya devam ediyor.

    VoIP uygulama alanları hem eğitim hem de diğer sektörlerde hızlıca artmaktadır. VoIP servislerine duyulan bu aşırı istek de maliyetlerin azalmasına sebep olmuştur. IP tabanlı servisler günümüzde yönetim ve öğrenme açısında da potansiyel bir güç olmuştur.

    Ayrıca ileride medya, veri, vidyo ve ses üzerinde de birleştirme olacaktır. Bu seviyedeki bir birleştirmeyi sağlayabilmek için beraber çalışabilirlik ve standartlar üzerinde çalışma kritik olacaktır.

    Diğer bir önemli nokta ise kablosuz VoIP alanındaki gelişmeler olacaktır. Bu sayede her bir kişi uzaktan istediği yerden bilgisayarlarını kullanarak istedikleri verilere ulaşabilecekler. Belki de ilerde multiplayer oyun oynamak gibi bir şey olacak VoIP.

    Ancak hala daha geliştirilmeyi bekleyen birçok VoIP konusu hali hazırda bulunmaktadır. Bunlar IP tabanlı video konferanslarda VoIP entegrasyonu, adresleme, aktif dizin desteği vb… konulardır.

    Kısaca VoIP teknoloji dünyamızda aslında bir kilometre taşıdır. Birçok şeyi değiştirmiş bizlere çok büyük faydalar sağlamıştır ve de sağlamaya devam edecektir.

    (SON)

    May 11

    Teşekkürler GALATASARAY

    Eğer bir işi kalbinizi ortaya koyarak yapıyorsanız o işte başarılı oluyorsunuz. 5 maç seyircisiz oynadı Cim Bom, teknik direktör Kalli bir ara hasta oldu, bir ara ne olduğu belli olmadı ama saha kenarında nadir vardı. 4 oyuncusu genç ve bir önceki sezon küme düşen takımdan gelen oyunculardı. Emre Ankaragücü'nden gelen bir oyuncu. Servet Sivas'tan. Orkun Erciyes'ten. Hakan Manisa'dan. Volkan Antalyaspor'dan. Serkan ve Barış Almanyada 3.lige düşen Essen takımından. Bunların yanında tecrübeli Kral Şükür, Ümit Karan, Hasan Şaş, Ayhan ve Süper Yıldız ARDA ve Lincoln ile CİMBOM tek yürek oldu. Her maçta sahada on bir altın ASLAN yürek vardı. Paralarla değil her maçtaki oyununuzla maçları kazanabiliyorsunuz. 
    Sonuçta yeni bir tarih yazdı GALATASARAY.

    Her birine teker teker TEŞEKKÜRLER!
    ŞAMPİYON GALATASARAY!!!
    May 10

    Imagine Cup Turkey Final

    Bir senedir beklenen an geldi ve geçti. Finalist The EFS Team grubu arkadaşlarımın hepsine tekrardan çok teşekkür ediyorum.
    Cuma günü tüm finalist grupların sunumlarını izleme şansına sahip oldum. Innovatif düşünce olarak imagine kelimesinin karşılığını aslında The EFS Team çok iyi vermişti. Ancak Jürilerin değerlendirmesi sonucunda ise Türkiye klasmanı şöyle oluştu:
    1-L'orientalis - Kocaeli Üniversitesi
    2-Miracle - Kayseri Erciyes Üniversitesi
    3-Rota - Çanakkale Üniversitesi
    Tüm grupları tebrik eder Ms Yaz Okulu 2007 den arkaşım Semih Balkancı'nın grubu L'orientalis' e de Paris'te başarılar dilerim.