Useful shortcuts for vi editor

Tuesday, 29 March 2011

Bir Söz


Bence bu akşamki maç bir kez daha şunu gösterdi; Dünya kalitesinde futbolculara sahibiz ve Avrupalılar kime isteyeceklerini iyi biliyorlar. Goller de onlardan geldi!

Değerlerimizin kıymetini bilmeli ve onları yıpratmamalıyız. Yolları ve yollarımız açık olsun!

Başarılı ve esen kalın efem. J

Proxy nedir, ne amaçlar için kullanılır?

Proxy, internet üzerinden yerel ağ veya internete bağlı bir bilgisayar ile dış dünya arasındaki ilişkiyi sağlayan bir geçiş (gateway) sistemidir.

Proxy sunucusu, sizden aldığı "internet'ten bilgi alma" isteklerini yürütür ve sonucu yine size iletir. Aynı anda, bilgilerde (cache), proxy sunucusu üzerinde tutulur ve bir dahaki erişimde kullanıcının istediği bilgiler doğrudan ilgili siteden değil de, proxy servisinden gelir; dolayısıyla, iletişim daha hızlı olur. Ayrıca Internet'e erişim için mutlaka bir proxy servisine ihtiyaç yoktur. (www.proksi.org alıntıdır.)

İşleyiş genel olarak şöyle olur.

Client -> Proxy Server -> Origin Server

Kullanıcı direk istediği server’a bağlanmak yerine bu işi Proxy server yapar. Proxy 2 temel amaç için kullanılır, diğer kullanımları da mevcuttur.

Amaçlardan biri Proxy serverda saklanan cache hafızaları kullanmaktır. Böylece iç ağdan dış ağa çıkan bağlantılarda trafiği rahatlama hedeflenir. Bu cache hafızalarında ağırlıklı olarak boyutu büyük dosyalar saklanır; resim gibi.

Diğer amacı dış ağdan gelen kullanıcıların güvenli bir şekilde iç ağa dahil olması ve yetkilendirilmesidir. Banka veri tabanlarına bağlanmak isteyen bahis siteleri, fatura ödeme sistemleri vb. kurumlar buna örnek oluşturabilir.

Bu temel amaçlar dışında iç ağdaki trafiği denetleme, sınırlama veya yönlendirme için de kullanılmaktadır.

Bu yazımızda Proxy konusunu işledik. Başka bir blog yazısında görüşmek dileğiyle J

Monday, 28 March 2011

Excel’de listelemeyi kullanma

Bu yazıda, Excel uygulamalarında sıkça kullanılan listelemeleri inceleyeceğiz. Örnek olarak;

Bir Excel örnek dosyamızda listeleme oluşturmanın nasıl yapıldığına göz atalım. Öncelikle aşağıda görüldüğü gibi bir sütuna veri setimizi yazalım.




Daha sonra bu yazdığımız veri setinin liste kısıdı olduğunu excele söyleyelim. Bunun için basitçe formüller sekmesinden ad yöneticisini açalım.





Yeni ad tanımlayıp, ismine takımlar listesi dedik. Başvuru yeri olarak veri setimizi gösterdikten sonra listemizi nasıl kullanacağımız konusuna geçebiliriz.





İşin zevkli kısmına geldik. Başka bir sayfamızda (sheet) bu yazdığımız listeyi kullanacağız. Örnek olsun diye takımların aralarındaki maçların sonuçlarını excelde yazmak istediğimizi ve bu verileri sürekli tekrar tekrar yazmak istemediğimizi ve yazım hatalarını minimize etmek istediğimizi düşünelim.

Bunun için kullanacağımız veri doğrulama opsiyonu ile gerçekleştireceğiz. Aşağıdaki resimden anlaşılacağı gibi ilgili satır-sütuna veri girilirken yalnızca daha önce tanımladığımız listedeki veri setinde yer alan verilerin girilebileceğini belirtiyoruz.
 


Liste kısıtı için girdiğimiz kaynak bilgisini bir başka yöntemle de gösterebiliriz. Bu da şu şekildedir;

Kaynak kısmına istediğimiz seçenekleri virgül ile ayırarak direk yazarak yapmaktır. Aşağıdaki 
ekran görüntüsünde ne demek istediğimi daha rahat anlayabilirsiniz. J



Kullanımı gayet kolay olan liste kısıtlamaları ile birçok tekrar eden ve hatasız olmasını istediğiniz verilerinizin bulunduğu Excel çalışmalarında kullanabilirsiniz.



Excel ilgili işinize yarayacağını düşündüğüm bu yazıda, Excel’de nasıl liste oluşturulduğunu ve kullanım alanlarından biri ile ilgili bir örnek üzerinden inceledik. Sağlıcakla kalın. J

Sunday, 27 March 2011

Veri yapılarında bağlı liste


Bu yazıda, veri yapılarında başlangıç olarak gösterilen bağlı liste (linked list) konusuna bakacağız.

Bağlı listeler adından anlaşılacağı gibi birbirine bağlı verilerden oluşan sıralı listelerdir. Konuyu daha iyi anlamak için bir örnek üzerinden gideceğiz.

/*
Alper ÖZSÖYLER
*/
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

typedef struct node{
        int data;
        node *next;
        };

int eleman (node *root, int sayi){
     node *iter;
     iter=root;
     int i;
     if(sayi<0)
     printf("Lutfen 0'dan buyuk sayi giriniz!\n");
     else if(sayi==1)
     return root->data;
     else
         {
         i=2;
         while(iter->next!=NULL)
         {
         if(i==sayi)
         return iter->next->data;
         iter=iter->next;
         i++;
         }
        
         printf("Bu siradaki sayi mevcut degildir!\n");
        
         return -1;
    
     }
    
}
       

main()
{     node *root=(node *)malloc(sizeof(node));
      root->data=10;
      node *iter=root;
      root->next=NULL;
     
      for(int i=15;i<=55;i+=5)
      {
      iter->next=(node *)malloc(sizeof(node));
      iter->next->data=i;
      iter=iter->next;
      iter->next=NULL;
      }
     
      iter=root;
                while(iter!=NULL)
                {
                printf("%d\n",iter->data);
                iter=iter->next;
                }
     
      int sayi;
      printf("Sira sayisini giriniz: ");
      scanf("%d",&sayi);
     
      printf("\n%d. siradaki eleman: %d'dir.\n",sayi,eleman(root,sayi));
     
      getch();
     
}

//node; düğümdür yani bağlı listelerde her bir düğüme node adı verilir
//root; bağlı listenin kökü, başlangıcı anlamında kullanılır.
//iter; iterasyon - devamı anlamındadır.
//data; bağlı listede olan veri (burada sayı)


Yukarıdaki kodlardan anlaşılacağı gibi; for döngüsünde 15’den 55’e kadar beşer beşer artan sayılar bir bağlı listede toplanıyor. Daha sonra kullanıcı bağlı listede istediği sıradaki veri (elemanı) çağırıyor.

Bu yazımızda veri yapıları derslerinde ve kitaplarında öncelikli olarak gösterilen bağlı listeleri (linked lists) inceledik. Sorularınız ve yorumlarınızı bekliyorum. Hepinize mutlu günler dilerim. J

Saturday, 26 March 2011

How to clean a virus in Windows OS?

Clean a virus:

open OS in safe mode and follow these instructions in MS-DOS Command Prompt

dir /ah (show hidden files)
attrib "file name" (show hidden files attribute)
attrib -s -h -r "file name" (remove hidden files to tag)
del "file name" (del the file- virus)

That’s it! You got rid of a virus.

Taka care and bye for now!
J

This blog writing is inspired of Mehmet Özvatan. ;)

T-SQL’de veritabanı ismini değiştirme


T-SQL kodlarıyla daha önce var olan veritabanın ismini değiştirebiliriz. Bunun için T-SQL sağladığı sp_renamedb saklı yordamı (stored procedure) kullanabiliriz.

Örnek olarak daha önce oluşturduğumuz veritabanın ismi eski_vt olsun ve bu veritabanın ismini yeni_vt olarak değiştirmek istediğimizi varsayalım. Bunun için şu kodları sorgu ekranında yazmamız yeterli olacaktır.

/*Veritabanı ismi değiştirme*/
EXEC sp_renamedb 'eski_vt' , 'yeni_vt'
GO