22 Temmuz 2009 Çarşamba

Action Script 2.0 Movie Clip içinde Buton

Action script ile uğraşmaya yeni başlayan arkadaşların ilk karşılaşacakları sorun buton'a action script ile hedef göstermek olacaktır. Movie clip'imizin içine buton koymadan önce butona hedef vermeyi anlatayım.

Actions penceresinden butonumuzu buluyoruz ve kod penceresine aşağıdaki kodu yazıyoruz.

on (release){
gotoAndPlay("Scene 2",1);
}


Görüldüğü üzre gotoandplay fonksiyonu parametre olarak ilk scene'mizi 2. olarak da gitmek istediğimiz frame'i alıyor.

Şimdi biraz ayrıntıya girelim ve bir movieclip'e eklediğimiz bir butonu ana scenemizde bir frame'imize gönderelim.

Öncelikle gitmek istediğimiz frame'in label'ını Properties penceresinden istediğimiz bir şekilde adlandıralım. (Ben kodda deneme olarak kullanıyorum)

Şimdi movieclip içindeki butonumuza gelelim ve yine actios'dan butonumuza ait kod penceresine aşağıdaki kodu yazalım. yourlabel kısmına ise verdiğimiz etiket adını girmeliyiz. Yani "deneme"

on (release) {
_root.gotoAndStop("yourlabel");
}


Yukaridaki kod ile bir movieclip içine buton koyup istediğiniz frame'e yönlendirebilirsiniz.

Herkese kolay gelsin.

Action Script Hakkında

Action Script Hakkında

ActionScript, Adobe® Flash® Player ve Adobe® AIR™ çalışma zamanı ortamları için programlama dilidir. Flash, Flex ve
AIR içerik ve uygulamalarında etkileşim, veri işleme ve daha fazlasına olanak sağlar.
ActionScript, Flash Player ve AIR uygulamasının bir parçası olan ActionScript Virtual Machine (AVM) tarafından
çalıştırılır. ActionScript kodu, Adobe® Flash® CS4 Professional veya Adobe® Flex™ Builder™ uygulamasında yerleşik
olanlar ya da Adobe® Flex™ SDK uygulamasında kullanılabilir olanlar gibi, genellikle bir derleyici tarafından bayt kodu
formatında (bilgisayarlar tarafından yazılan ve anlaşılan bir çeşit programlama dili) derlenir. Bayt kodu, Flash Player
ve AIR uygulamaları tarafından çalıştırılan SWF dosyalarında gömülüdür.
ActionScript 3.0, nesne tabanlı programlama konusunda temel bilgisi olan geliştiricilere bilindik gelecek güçlü bir
programlama modeli sunar. ActionScript 3.0'ın önceki ActionScript sürümlerinden daha gelişmiş olan bazı önemli
özellikleri arasında şunlar yer alır:
• AVM2 adı verilen ve yeni bir bayt kodu talimat kümesi kullanıp önemli ölçüde performans artışı sağlayan yeni bir
ActionScript Virtual Machine.
• Önceki derleyici sürümlerinden daha derin eniyileştirmeler gerçekleştiren daha modern bir derleyici kodu
• Düşük düzeyde nesne denetimi ve gerçek bir nesne odaklı model içeren, genişletilmiş ve geliştirilmiş bir uygulama
programlama arabirimi (API)
• XML için ECMAScript (E4X) belirtimini (ECMA-357 sürüm 2) esas alan XML API'si. E4X, dilin yerel veri türü
olarak ECMAScript'e XML ekleyen bir dil uzantısıdır.
• Belge Nesnesi Modeli (DOM) Düzey 3 Olaylar Belirtimi'ni esas alan bir olay modeli

18 Temmuz 2009 Cumartesi

Wordpress Kurulum

İlk olarak hostunuzun controlpanelinden sql database oluşturun. Bir adet yeni kullanıcı oluşturup bu kullanıcıyı tüm yetkileri vererek oluşturduğunuz database'e ekleyin.

Daha sonra aşağıdaki adresten wordpress'in son sürümünü (tercihe bağlı olarak türkçe) indirebilirsiniz.

http://www.wordpress-tr.com/indir/

Şimdi indirdiğimiz dosyanın içindeki dosyaları ftp kök dizininize atın. (örn: public_html)

Daha sonra domain adınıza girdiğinizde wordpress kurulum ekranı ile karşılaşacaksınız. İlk olarak config.php oluşturuluyor.

Daha sonra aşağıdaki resimde olduğu gibi bilgilerinizi eksiksiz olarak girin ve göndere basın. Eğer database ile bağlantınız kurulursa son aşamaya geçecek ve blogunuzun bilgilerini dolduracaksınız.

Herkese kolay gelsin. Ayrıntılı bilgi için blog menümdeki sık kullanılanlar bölümünden wordpress-tr sayfasını ziyaret edebilirsiniz.

17 Temmuz 2009 Cuma

Action Script ile Flash Preloader Yapalım

Flash preloader yapımı oldukça basit bir mantığa dayanmakta. Öncelikle Action Script için algoritmamızı kuralım.

- İlk olarak toplam byte'ı tutan bir değişkene ihtiyacımız var.
- Yüklenmiş byte'ı tutan bir değişkene ihtiyacımız var.
- Yüzde ( yüklenmiş / toplam ) değişkenine ihtiyacımız var.

Flash sitemizde ilk frame'imize preloader'ımızı yapacağız. İlk frame'de toplam byte'a ulaşıncaya kadar göstereceğimiz animasyon / yazı (movie clip) ve yüklenen %'yi göstereceğimiz dynamic bir text'e ihtiyacımız var.

Şimdilik ilk frame'imize sadece yükleniyor yazalım ve boş bir dynamic test açalım. dynamic text in instance name'ine yuzde_txt yazalım. Daha sonra ilk frame'in actions penceresine aşağıdaki kodları yapıştıralım.

onEnterFrame=function(){

var toplamBoyut:Number=_root.getBytesTotal();

var yuklenenBoyut:Number=_root.getBytesLoaded();

if(yuklenenBoyut==toplamBoyut){

delete onEnterFrame

play();

}else{

var yuzde:Number=Math.floor((yuklenenBoyut/toplamBoyut)*100);

yuzde_txt.text=yuzde

}

}

stop();


Şimdi kodları biraz inceleyelim.

onEnterFrame :Bir movie clip olay denetleyicisidir.Timeline çizgisinin her frame geçişinde çağrılır.

getBytesTotal():MovieClip sınıfının bir metodudur.Toplam dosya boyutunu byte olarak gösterir.

getBytesLoaded():MovieClip sınıfının bir metodudur.O ana kadar yüklenen dosya boyutunu byte olarak gösterir.

if / else : Koşul değimi. (Ayrıntılı bilgi için blogda c if /else kısmına bakabilirsiniz.)

Math.floor : Matematik kütüphanesi ile yüzenin ondalık kısmını yuvarlar. Kesirli sayılar gözükmez textimizde.

play() : İle parametre olarak gönderilen frame'e geçiş yapılır.

Tüm flash severlere kolay gelsin.

tarafımdan hazırlanmıştır.

C / Çok Boyutlu Diziler

ÇOK BOYUTLU DİZİLER

Bir sınıftaki 40 öğrencinin notlarını saklamak için 40 elemanlı tek boyutlu bir dizi gerekirken; bir sınıftaki 40 öğrencinin 3’er notlarını saklamak için 40 satırı ve 3 sütunu bulunan (40 X 3 ) iki boyutlu bir dizi gerekecektir. İlk öğrencinin ilk notu dizinin [0][0] indis numaralı notudur. Dizinin [23][2] indis numaralı elemanı ise 24. elemana ait 3. notu saklamaktadır. Çünkü dizilerin indis numarası 0(sıfır)’dan başlar.

Eğer sınıftaki 40 öğrencinin, 6’şar dersten aldıkları 3’er notları saklamak isteseydik üç boyutlu bir diziye ihtiyaç duyacaktık. (40 X 10 X 3 )

Elemanlarına birden fazla indis numarası ile ulaşılan dizilere çok boyutlu diziler denir. C dilinde dizi boyutları hafızanın desteklediği ölçüde olabilir. Çok boyutlu diziler arasında en çok kullanılanı 2 boyutlu dizilerdir. 2 boyutlu dizileri bir tablo gibi düşünebiliriz. Bu tablodaki herbir elemana ulaşmak için önce satır sonrada sütun indis numarasını söylemek gerekir.

İKİ BOYUTLU DİZİLERİN TANIMLANMASI

İki boyutlu dizi tanımlanırken dizinin içerisinde saklanacak elemanların tipi, dizinin adı ve satır –sütun boyutları söylenir.

int not [40] [3];

İlk söylenen satır sayıs, ikinci söylenen sütun sayısıdır.

ÇİFT BOYUTLU DİZİLERE İLK DEĞER ATANMASI

Çift boyutlu dizinin herbir elemanına satır ve sütun indis numarası söylenerek ulaşılıp değer atanabilir.

not[23][2] = 78;

Bununla birlikte tıpkı tek boyutlu dizilerde olduğu gibi tanımlama esnasında da ilk değer ataması yapılabilir. Bu defa içiçe iki küme parantesi kullanmak gerekir. Her bir küme parantezi içerisindeki değerler herbir satırdaki değeri ifade eder. Örneği inceleyelim.

int a[3] [4] = { {1,2,3,4} , {5,6,7,8} , {9,10,11,12} }

Böyle bir atama sonunda değerler diziye aşağıdaki şekilde yerleşecektir:


0. Sütun 1. Sütun 2. Sütun 3. Sütun
0. Satır 1 2 3 4
1. Satır 5 6 7 8
2. Satır 9 10 11 12
Bu durumda; a[2][1] indis numaralı elemanın değeri 10’dur. Yukarıdaki gibi bir değer atama işleminin ilk bakışta daha kolay anlaşılabilmesi için şu şekilde bir yazım yöntemi tercih edilebilir:

A[3] [4] = { {1, 2, 3, 4},
{5, 6, 7, 8},
{9,10,11,12} } ;

ÖRNEK:

4 X 3 boyutlarında bir diziye klavyeden eleman girdiriniz. Girilen elemanlar içerisinde en büyüğünü buldurunuz. Diziyi ekrana tablo şeklinde yazdırınız.

#include
#include
void main ( )
{
int a[3][4], i, j, eb;

for ( i=0;i <3; i++) for (j=0; j<4; j++) { printf ( “%d. Sütun %d. Satır elemanını giriniz:”, i+1, j+1); scanf ( “%d”, &a[i][j] ); } eb=a[0][0]; for ( i=0; i<3; i++) for(j=0; j<4; j++) if (a[i][j] > eb)
eb = a[i][j];
printf ( “\n Dizinin en büyük elemanı %d ‘dir...”, eb);
printf(“\nDizi ekrana tablo halinde yazdırılıyor...”);
for (i=0; i<3; i++) { printf (“\n”); /* Her satır elemanını yeni bir satırın başından yazmak için */ for ( j=0; j<4; j++) printf (“%5d”, a[3][4]); } getch(); } NOT: İki boyutlu dizileri hafızanızda daha iyi canlandırabilmeniz için tablo örneğini verdik. Ama iki boyutlu diziler hafızada tablo şeklinde yerleşmezler. Arka arkaya önce ilk satır elemanları, hemen arkalarından ikinci satır elemanları....şeklinde tıpkı tek boyutlu dziler gibi saklanırlar. Biz başlangıç adreslerini (dizinin adında başlangıç adresi saklıdır) ve her satırda kaç eleman olduğunu bildiğimizden hangi elemanın hangi satıra ait olduklarını bulabiliriz. 3X4 boyutundaki bir dizinin ilk 4 elemanı ilk satıra, ikinci 4 elemanı ikinci satıra ait elemanlardır. ÇOK BOYUTLU DİZİLERİN FONKSİYONA PARAMETRE OLARAK GÖNDERİLMESİ Tıpkı tek boyutlu dizilerde olduğu gibi iki boyutlu dizi de fonksiyona gönderilirken sadece adı yazılır. Yani gönderilen dizinin başlangıç adresidir. Ancak fonksiyonda gelen diziyi karşılamak için dizinin boyutlarına uygun dizi tanımlanmalıdır. Gönderilen diziyi karşılayacak dizinin ilk boyut değeri söylenmez ama ikinci boyut değeri mutlaka söylenmelidir. ÖRNEK: Elemanları klavyeden girilecek 3X4 boyutlarında ki bir diziyi fonksiyonda ekrana tablo şeklinde yazdırınız. #include
#include
void dizi_yaz (int [][4]);
void main ( )
{
int a[3][4], i, j;

for ( i=0;i <3; i++)
for (j=0; j<4; j++)
{
printf ( “%d. Sütun %d. Satır elemanını giriniz:”, i+1, j+1);
scanf ( “%d”, &a[i][j] );
}
eb=a[0][0];
dizi_yaz (a);
getch();
}

void dizi_yaz (int b[][4])
{
int i,j;
printf(“\nDizi ekrana tablo halinde yazdırılıyor...”);
for (i=0; i<3; i++)
{
printf (“\n”); /* Her satır elemanını yeni bir satırın başından yazmak için */
for ( j=0; j<4; j++)
printf (“%5d”, a[3][4]);
}
}

ÇALIŞMA SORULARI:
50 elemanlı integer bir diziye 1-10 arasında rasgele değerler atayınız. Her sayıdan kaç tane olduğunu buldurunuz.

Örnek:
1’lerin sayısı: 4
2’lerin sayısı: 12
3’lerin sayısı: 8
.
.
.

50 elemanlı integer bir diziye 1-10 arasında rasgele değerler atayınız. Dizi elemanlarının herbirinin tekrar sayısını bir histogramla gösteriniz.

Örnek:
Eleman Sayısı Histogram
1 3 ***
2 12 ************
3 8 ********
.
.
.
20 elemanlı integer bir diziye 1-100 arasında rasgele değerler aktarınız. Diziyi ters çeviren fonksiyonu tasarlayınız.Ters çvirme işlemini elemanların yerlerini değiştirerek yapınız. Fonksiyon parametre olarak dizinin bşlangıç adresini almalıdır.




Dizi[0] Dizi[1] ..... Dizi[18] Dizi[19]
6 1 ........ 45 7




Elemanları klavyeden girilen 4 X 3 boyutlarında bir tablonun elemanlarını 3 X 4 boyutlarında bir tabloya aktaran fonksiyonu tasarlayınız. İlk tablonun satır elemanları, ikinci tablonun sütun elemanları olmalıdır. Fonksiyon parametre olarak tablonun başlangıç adresini almalıdır.

İLK TABLO

5 3 2
8 1 4
2 6 7
3 7 1

İKİNCİ TABLO

5 8 2 3
3 1 6 7
2 4 7 1

C / Dizileri Fonksiyona Parametre Olarak Gönderme

DİZİLERİ FONKSİYONA PARAMETRE OLARAK GÖNDERMEK (Passing Array to Function)

Parametre olarak bir dizi alacak olan fonksiyon tanımlanırken parametrei dizi olarak söylenmelidir.

void dizi_yaz (int [], int);

tanımlaması, birisi integer dizi, diğeri integer olan iki parametre alıp geriye değer döndürmeyen bir fonksiyonu ifade eder. Yani fonksiyona bir dizi gönderileceğinden onu karşılayan değerinde bir diziolması gerekir. Ancak fonksiyonda diziyi karşılayacak olan diziye boyut ya da indis belirtilmez.

Herhangibir dizi fonksiyona parametre olarak gönderilirken sadece dizinin adı söylenir, [] işaretleri kullanılmaz ve indis numarası belirtilmez.

int a[10]; şeklinde tanımlanmış bir diziyi fonksiyona göndereceksek

dizi_yaz ( a , 10)

dememiz gerekir. Dikkat edilirse sadece dizinin adını (a) yazdık. Ne köşeli parantez kullandık ne de indis numarası söyledik. Eğer indis numarası kullanarak gönderseydik hatalı bir işlem yapmış olurduk.

dizi_yaz (a[3], 10) gibi bir ifade fonksiyona diziyi değil, dizinin 3 indis numaralı tekbir elemanını gönderir. Dizinin tamamını fonksiyona gönderebilmek için sadece adını yazmak gerekir.

Bu ifade aslında dizinin başlangıç adresini göndermektir. (Dizinin adında hafızadaki başlangıç adresi saklı değil miydi?) Böylece dizi elemanları hafızada arka arkaya yerleştiğinden istenilen herhangi bir elemana ulaşılabilir. Fonksiyonda işlem gören dizinin saklanmış olduğu hafıza adresleri olduğundan ve hafızada aynı adresten sadece bir tane bulunduğundan fonksiyonda yapılan işlemler (mesela dizi elemanlarının değiştirilmesi) ana programdaki diziyi de etkilemiş olur. Yani ana programdaki dizi ile fonksiyondaki dizinin adları farklı olsa da aynı hafıza hücresinde bulunan elemanlar üzerinde çalışmaktadırlar. Böylece fonksiyonun geriye parametre döndürmesine gerek kalmadan dizi elemanlarının hepsi fonksiyonda değiştirilebilir.

ÖRNEK: Değerleri ana programda kullanıcıdan istenen 10 elemanlı integer bir diziyi fonksiyona gönderip, fonksiyonda kabarcık sıralaması yöntemini kullanarak sıralatalım. Ve sıralı halini ana programda ekrana yazdıralım.

#include
#include
void sirala ( int [] );
void main()
{
int a[10], i;

for (i=0; i<10; i++) { printf(“Dizinin %d. Elemanını giriniz:”); scanf(“%d”, &a[i]); } sirala ( a ); printf (“\nDizinin sıralı hali:”); for ( i=0; i<10; i++) printf(“%d\n”, dizi[i]); getch(); } void sirala (int b[] ) /* Parametre olarak dizi geldiği için onu karşılayan da dizi olmak zorunda*/ { int i, j, yedek; for (i=0; i<10; i++) for ( j = 0; j< 10-1; j++) if (b[j]>b[j+1]) /* Her elemankendinden bir sonraki ile karşılaştırılıyor */
{
yedek = b[j]; /* yer değiştirme yapılıyor */
b[j] = b[j+1];
b[j+1] = yedek;
}
}

ÇOK BOYUTLU DİZİLER

Bir sınıftaki 40 öğrencinin notlarını saklamak için 40 elemanlı tek boyutlu bir dizi gerekirken; bir sınıftaki 40 öğrencinin 3’er notlarını saklamak için 40 satırı ve 3 sütunu bulunan (40 X 3 ) iki boyutlu bir dizi gerekecektir. İlk öğrencinin ilk notu dizinin [0][0] indis numaralı notudur. Dizinin [23][2] indis numaralı elemanı ise 24. elemana ait 3. notu saklamaktadır. Çünkü dizilerin indis numarası 0(sıfır)’dan başlar.

Eğer sınıftaki 40 öğrencinin, 6’şar dersten aldıkları 3’er notları saklamak isteseydik üç boyutlu bir diziye ihtiyaç duyacaktık. (40 X 10 X 3 )

Elemanlarına birden fazla indis numarası ile ulaşılan dizilere çok boyutlu diziler denir. C dilinde dizi boyutları hafızanın desteklediği ölçüde olabilir. Çok boyutlu diziler arasında en çok kullanılanı 2 boyutlu dizilerdir. 2 boyutlu dizileri bir tablo gibi düşünebiliriz. Bu tablodaki herbir elemana ulaşmak için önce satır sonrada sütun indis numarasını söylemek gerekir.

C Dizilerde Arama & Sıralama

DİZİ İÇERİSİNDE ELEMAN ARAMA: Herhangibir elemanın dizi içerisinde olup olmadığına bakılabilir. Bunun için kullanılacak en basit yöntem, dizi elemanlarının aranılan elemana eşit olup olmadığına sıra ile bakmaktır. Sonuna kadar bakılıp hiçbirine eşit bulunamadı ise o eleman dizide yok demektir.

DİZİ ELEMANLARINI SIRALAMA: Dizideki elemanları büyükten küçüğe ya da küçükten büyüğe sıralamak için farklı mantıklar kullanılabilir. Sıralama çoğunlukla iki yöntem kullanılır.

Seçme Sıralaması (Selection Sort) : Dizinin ilk elemanı kendinden sonraki elemanların hepsi ile tek tek karşılaştırılır. Her karşılaştırma işleminden sonra eğer elemanlar ters sırada ise (küçükten büyüğe sıralamada üstteki eleman büyükse) bu iki eleman yer değiştirilir. İlk eleman sonuna kadar her elemanla karşılaştırılıp gerekli olanlar yer değiştirdikten sonra dizinin ilk elemanı (küçükten büyüğe sıralanıyorsa dizinin en küçük elemanı, büyükten küçüğe sıralanıyorsa dizinin en büyük elemanı) bulunup yerine yerleştirilmiş olur. Bundan sonra aynı işlem dizinin diğer elemanlarına da tek tek uygulanır. Bunları örnek bir dizi üzerinde görürsek daha iyi anlayacağız.

İlk eleman için:

9 3 6 1 12

9>3 mü? Evetse ters sıradalar. 9 ve 3’ü yer değiştir. Hayırsa hiç birşey yapma. devam Arık 3 ilk eleman oldu. Karşılaştırma sıradaki elemandan devam ediyor.


3 9 6 1 12

3>6 mı? Hayır. Karşılaştırma sıradaki elemandan devam ediyor.


3 9 6 1 12

3>1 mi? Evet. Bu iki elemanı yer değiştir. Artık ilk eleman 1 oldu. Karşılaştırma sıradaki elemandan devam ediyor.


1 9 6 3 12

1>12 mi? Hayır.

İlk eleman sonuna kadar her elemanla karşılaştırıldı. Ters sırada olanlar yer değiştirildi. Böylece ilk geçişte en küçük eleman bulundu ve ilk sıraya yerleşti. Aynı karşılaştırılma işlemi 2. eleman için tekrarlanacak: (İlk eleman zaten doğru sırasına yerleştiğine göre karşılaştırmaya en baştan başlamaya gerek yok. Kendinden bir sonraki elemandan başlanabilir.)



1 9 6 3 12

9>6 mı? Evet. Bu iki elemanı yer değiştir. Artık ikinci eleman 6 oldu. Karşılaştırma sıradaki elemandan devam ediyor.


1 6 9 3 12

6>3 mü? Evet. Bu iki elemanı yer değiştir. Artık ikinci eleman 3 oldu. Karşılaştırma sıradaki elemandan devam ediyor.


1 3 9 6 12


3>12 mi? Hayır.

İkinci eleman da sonuna kadar her elemanla karşılaştırıldığında ve gerekli değiştirme işlemleri yapıldığında ikinci sırada yeralması gereken eleman da yerine yerleşmiş oluyor. Ancak sonraki elemanlar hala karışık. Aynı işlemi onlara da uygulayalım. Şimdi sıra 3. elemanda


1 3 9 6 12

9>6 mı? Evet. Bu iki elemanı yer değiştir. Artık üçüncü eleman 6 oldu. Karşılaştırma sıradaki elemandan devam ediyor.


1 3 6 9 12

6>12 mi? Hayır.

Karşılaştırma 4. eleman için devam ediyor:


1 3 6 9 12

9>12 mi? Hayır.

Bu sıralama algoritmasını C koduna dökmek için elbetteki içiiçe iki döngü kullanılmalıdır. Ancak iki elemanın yerini değiştirirken 3. bir yedek değişken kullanmaya dikkat edilmelidir. Aksi taktirde iki elemanın yerini değiştirmek için,
a = b;
b = a; gibi iki komut kullanmak son derece yanlış bir sonuç doğurur. Bu iki komut sonunda her iki sayıda ikinci sayı ile (b değişkeni) aynı olur.

Halbuki yer değiştirme işlemi için kullanılacak yedek bir değişkenle aşağıdaki gibi yapılır.

yedek = a;
a = b;
b = yedek;

Şimdi bu mantığı kullanarak örnek bir dizi sıralaması yapalım:

/* Seçme Sıralaması yöntemi dizi sıralama */
#include
#include
#define BOYUT 5;
void main()
{
int a[5] = {9,3,6,1,12};
int i, j,yedek;
for (i=0 ; ia[j] )
{
yedek= a[i];
a[i] = a[j];
a[j] = yedek;
}
printf (“\n Dizi sıralandı:”);
for ( i=0; i3 mü? Evetse ters sıradalar. 9 ve 3’ü yer değiştir. Karşılaştırma sıradaki elemandan devam ediyor.


3 9 6 1 12

9>6 mı? Evet. Bu iki elemanı yer değiştir. Karşılaştırma sıradaki elemandan devam ediyor.


3 6 9 1 12

9>1 mi? Evet. Bu iki elemanı yer değiştir. Karşılaştırma sıradaki elemandan devam ediyor.


3 6 1 9 12

9>12 mi? Hayır.

İlk tur karşılaştırma bitti. Ters sırada olanlar yer değiştirildi. Böylece ilk geçişte en büyük eleman bulundu ve ilk sıraya yerleşti. Aynı karşılaştırılma işlemi ilk elemandan başlanıp tekrarlanacak. Dizideki eleman sayısınca aynı işlem yapıldığında dizi sıralanmış olacak. Bu sıralama algoritmasının kodunu sanırım kendiniz düzenleyebilirsiniz. Lütfen deneyiniz!...

C Dizi Elemanlarına Değer Atanması

DİZİ ELEMANLARINA DEĞER ATANMASI

Dizilere değer atama işlemi tanımlanması sırasında ilk değer atayarak da, sonradan programın herhangibir yerinde de yapılabilir. Eğer tanımlama sırasında değer atanacaksa aşağıdaki örnekte olduğu gibi yapılmalıdır. Bu durumda dizi elemanları küme parantezi (brace) içerisinde aktarılır ve herbirisi diğerinden virgülle ayrılır. Elemanlar ilk hücreden itibaren sırası ile yerleştirilirler.

int a[10] = { -45, 6, 0, 72, 1543, -89, 0, 62, -3, 1};

Bu ilk değer ataması işleminde bazı hususlara dikkat edilmelidir:
Küme parantezi içerisinde dizinin söylenen boyutundan daha fazla eleman olmamalıdır. Böyle bir durumda yazım hatası (syntax error) ile karşılaşılır.
Küme parantezi içerisinde dizinin söylenen boyutundan daha az eleman varsa belirtilen elemanlar sırasıyla diziye aktarılır, boş kalan yerlerdeki elemanlar 0 kabul edilir.
İlk değer ataması sırasında dizinin boyutu verilmemişse ise, küme parantezi içerisinde eleman sayısı dizi boyutu olarak kabul edilir.
ÖRNEK: int a[] = {-45, 6, 0, 72, 1543, -89}; şeklinde tanımlanmış bir dizinin boyutu söylenmemiş olsa da (diziye 6 eleman aktarıldığı için) 6 olarak algılanır.

Fakat dizi sadece tanımlanacak ve eleman aktarılmayacaksa boyutu mutlaka belirtilmelidir. Aksi hatalı bir durumdur. Yani int a[]; şeklinde bir tanımlama yapılamaz.
Dizi tanımlanmış, ancak hiçbir eleman aktarılmamışsa dizi içerisinde rasgele değerler bulunur. (Aslında abu değerler dizi için ayrılmış olan hafıza bölümünde daha önceden varolan değerlerdir.)

Bütün bunların dışında dizinin herbir elemanına indis numarasını kullanarak tek tek de ulaşılıp değer atanabilir.

a[5] = 65; /* Dizinin 5 indis numaralı elemanına –aslında 6. eleman- 65 değerini aktarır. */

Örnek: Klavyeden girilen 10 adet sayıyı giriş sıralarının tersinden ekrana yazdırınız.

Böyle bir örneği dizi kullanmadan yapmak için 10 tane ayrı değişken tanımlamak ve değerleri 10 ayrı komutla girdirip, yeniden 10 ayrı komutla yazdırmak gerekir. Çünkü her değer giriş işleminden sonra yeniden lazım olacağından mutlaka saklanmaları gerekecek. Ancak 10 elemanlı bir dizi ile bu işlemleri çok daha kısa sürede yapabiliriz.

#include
#include
void main()
{
int a[10]; i;
for ( i=0; i<10; i++) { printf (“%d. Elemanı giriniz:”, i+1); scanf (“%d”, &a[i]); } printf (“\n Elemanlar tersten yazılıyor:”) for ( i = 9; i >= 0; i--)
{
printf (“%d\t”, a[i]);
}

C Tek Boyutlu Diziler

TEK BOYUTLU DİZİLER

Tanımlanması: Tek boyutlu diziler tanımlanırken dizinin tipi, dizinin adı ve kaç eleman için yer ayrılacağı (dizinin eleman sayısı / boyutu) söylenmelidir. Dizinin boyutu değişken olamaz, mutlaka sabit olmalıdır. Tek boyutlu bir dizi aşağıdaki gibi tanımlanır:

Dizinin_Tipi Dizinin_Adi [Dizinin_Boyutu];

int a [10]; /* İçerisinde 10 tane integer sayı saklanabilecek dizi*/
float b[5]; /* İçerisinde 5 tane ondalık sayı saklanabilecek dizi */
char c[20]; /*İçerisinde 20 tane karakter saklanabilecek dizi*/

Diziler tanımlandığında söylenen sayıda elemanı saklayabilmek için hafızada gerekli miktarda yer ayrılır. Sözgelimi integer bir sayı hafızada 2 byte yer kapladığına göre, 10 elemanlı integer bir dizi için 2*10 byte yer ayrılmalıdır. Yani 10 elemanlı integer bir dizihafızada 20 bytelık adres alanı işgal eder. Ayrılan hafıza alanlarının başlangıç adresi de dizinin adında saklanır.

C Diziler Arrays Tanım

Tanım: Aynı tipteki birden fazla değişkeni tek bir isim altında tutmayı sağlayan yapılardır. (struct) Dizi, hafızada bir bölgenin birden fazla değişken için ayrılmasıdır. Dizi içerisinde saklanacak her verinin tipi birbiri ile aynı olmalıdır. Örneğin, tek bir dizi içerisinde hem tamsayı hem de ondalık sayı saklanamaz.

Dizi içerisindeki herbir elemanın adı aynıdır, bu elemanlara dizideki sıra numarası yardımı ile ulaşılır. Bu numaraya dizinin indis numarası denir ve [ ] işaretleri içerisinde gösterilir. Dizinin ilk elemanının indis numarası daima 0 (sıfır) dır.

Aşağıda 10 elemanlı bir dizi şeklen ifade edilmiştir.


Sayi
Sayi[0] - 45
Sayi[1] 6
Sayi[2] 0
Sayi[3] 72
Sayi[4] 1543
Sayi[5] -89
Sayi[6] 0
Sayi[7] 62
Sayi[8] -3
Sayi[9] 1


Görüldüğü gibi dizinin ismi sayi ‘dır ve dizinin ilk elemanı olan –45 sayısının dizideki sıra numarası (indisi) 0 dır. Dizinin 10. elemanı 1 dir, ancak bu elemanın indis numarası 9’ dur. Çünkü dizi numaralandırılmaya 0’dan başlanmaktadır.

13 Temmuz 2009 Pazartesi

Css Tutorial

Bir önceki yazımda bahsettiğim style css kodlarını içeren bir tutorial.

#header
{
border: 0;
margin: 0px auto;
width:800px;
height: 106px;
}

body
{
width: 1024px;
height: 768px;
background-color: #952828
}

#con
{
width: 800px;
height: 600px;
background-image: url(images/arkafon.png);
background-position: top center;
text-align: left;

}

#bodyarka
{
width: 800px;
height: 400px;
background-image: url(images/arkafon2.png);

}

#tablo
{
width: 400px;
height: 400px;
float: left;
margin: 20px;
margin-top: 30px;
}

#resim
{
MARGIN: -450px 120px 10px 10px;
float: right;
display:inline;
}

Ayyıldız Tim Çin'e saldırdı

Dünyanın ilk siber savunma ordusu olarak bilenen ve bu zamana kadar çökerttiği sitelerle adından sıkça söz ettiren Ayyıldız Tim Türk internet korsanları, Çin'de Uygur Türkleri'ne uygulanan vahşete tepki göstermek amacıyla Çin'den yayın yapan binlerce siteyi çökertti.

Çin'in bazı kamu kurum ve kuruluşlarının internet sitelerini de çökerten Ayyıldız Tim üyeleri, çökerttikleri internet sitesine "Uygur Türkleri yalnız değil" ve "Bu vahşete bir son verin" şeklinde sloganlar yazdılar.

Ayyıldız Tim üyeleri, Uygur Türkleri'nin vahşice katledilmesine göz yummayacaklarına ve Çin'in askeri ve bankaların internet sitelerini çökerterek milyon dolarlarca zarar açacaklarını söylediler. Şu ana kadar 2 bini aşkın sitenin çökertildiğini belirten Ayyıldız Tim üyeleri, Çin'den yayın yaptığı tespit edilen bütün sitelerin çökertileceğini duyurdular.

Ayyıldız Tim kimdir?

http://www.youtube.com/watch?v=YphahJTqwPk

12 Temmuz 2009 Pazar

Css Özellikleri

Bir web tasarımım için yazdığım css dosyasında kullandığım özelliklerden bahsedeceğim bu yazımda.

color: #FFFFFF; (renk değişikliği)
background-color: red; (arkaplan rengini belirler)
background-image: url(image'in yolu); (arka plan için bir resim eklersiniz)
background-position: center center; (background'ı yatay ve düşey olarak hizalarsınız)

margin-top:40px;
margin-bottom:30px;
margin-left: 30px;
margin-right: 20px; (tablomuzun sol,say,yukarıdan ve aşağıdan hizalamamızı sağlar)

float: right;
float: left; (sağ yada sol hizalam)

text-align: center;
text-align: left;
text-align: right;
(yazılarınızı hizalamanızı sağlar)

Şimdilik bu kadar. sitemin ihtiyaçları arttıkça ekleyeceğim css kodlarını yine sizlerle paylaşacağım.

Herkese kolay gelsin.

11 Temmuz 2009 Cumartesi

WP Benzer Başlıklar

Wordpress ile hazırladığınız sitenizde herhangi bir konuya ait benzer başlıkları görüntülemenize olanak sağlayan bu plugini aşağıdaki linkten indirebilirsiniz.

http://rapidshare.com/files/254753005/if_you_liked_that-tr.zip.html

Açıklama ve kurulum:

Sıkıştırılmış dosya içerisindeki ‘if_you_liked_that.php’ dosyasını /wp-content/plugins klasörüne upload edin.
Yönetim Paneli/Eklentiler bölümünden ‘If You Liked That’ eklentisini etkinleştirin.
Ayarlar/If you liked that menüsünü kullanarak eklentinin ayarlarını yapın. Eğer ayarları yapmazsanız, eklentinin çalışmasını göremezsiniz.

CSS nedir, Nasıl Kullanılır?

HTML bize metin biçimlendirme alanında çok geniş olanaklar sunar. CSS, uzun yazılışıyla Cascading Style Sheets, veya Türkçesiyle Stil şablonları ise bunu bir adım daha öteye götürür, bize sayfalarımız için global şablonlar hazırlama olanağı verdiği gibi, tek bir harfin stilini; yani renk, font, büyüklük gibi özelliklerini değiştirmek için de kullanılabilir. Bu tekniğin en önemli özelliği kullanımındaki bu esnekliğidir.

Bir web sayfası içerisinde zaten estetik kuralları gereği yüzlerce renk ve font kullanmayız. Genelde birbiriyle uyumlu birkaç renk ve birkaç font kullanırız ki, bunları her sayfada ayrı ayrı tekrar belirtmek yerine CSS yardımıyla bir sefer tanımlayıp bütün web sayfamızda kullanabiliriz.Bu şekilde güncelleme yaparken de onlarca sayfayı değiştirmekten kurtuluruz.

CSS kodları HTML kodlarının içine yazılırlar. Türüne göre body veya head bölümlerinde yer alabilirler. Bunların dışında harici CSS dosyaları oluşturulup bunlar gerektiğinde HTML belgesi içerisinde çağırılabilirler.

Hemen hemen her konuda olduğu gibi CSS konusunda da Microsoft Internet Explorer ve Netscape farklı yorumlar ortaya koyarlar. Bu noktada her iki browserın da aynı/benzer yorumlayacağı kodlar yazmak en uygunudur.

alıntıdır.

10 Temmuz 2009 Cuma

WP Devam Linki Oluştur

Wordpress ile ilk ilgilenmeye başladığımda yazdığım bir makale için "devam" linki oluşturup kullanıcıların "devam" linkine tıkladığında makalenin kalanını göstermesi için bir eklenti aramaya koyulmuştum. Genelde devam linkleri ayrı bir sayfada gösterilir bunun için eklentiler vardır fakat ben çok basit ve kullanışlı bir eklenti paylaşacağım sizle.

Eklentiyi download için:

http://rapidshare.com/files/254194262/enhanced-ss.php.html

Linkten indireceğiniz php dosyasını hostunuzdaki eklentiler klasörüne upload edin ve eklentiyi aktifleştirin.

Şimdi gelelim kullanışına;

Makalemizi yazıyoruz ve gizlenmesini istediğimiz yeri [spoiler][/spoiler] tagları içine yazıyoruz. Böylece hoş bir devam linki oluşturuluyor.

Eklenti ingilizce fakat php dosyamızı herhangi bir editör ile açıp "show","hide" kelimelerini editleyerek istediğiniz şekilde yazmasını sağlayabilirsiniz.

Kolay gelsin.

9 Temmuz 2009 Perşembe

Widget nedir Ne işe yarar?

Widget kısa olarak bir platform üzerine monte edilerek o platforma ekstra özellikler katan ufak araçlar olarak tanımlanabilir.

Widget terimi ile özellikle web platformlarında karşılaşırız. Fakat widget'i masaüstüne veya bir programa da ekleyerek bu platformlara ekstra özellikler katabiliriz.

Örneğin blogumda yayınladığım wordpress için random posts eklentisi widget desteklidir. Wordpressin admin panelinden bileşenler kısmına geçiş yaptığımızda soldaki bileşenler menüsünde Random Posts eklentisini görürüz ve istediğimiz sidebar'a kolaylıkla ekleyebiliriz. Wordpress'e kurduğumuz eklentinin widget destekli olmasının bize sağladığı avantaj eklentiyi herhangi bir sayfaya eklememiz gerektiğinde kodlarla uğraşmak yerine admin paneli/görünüm/bileşenler kısmındaki widget desteği ile hızlı bir şekilde eklememizdir.

WP Random Posts

Wordpress ile ilgilenen arkadaşların işine yarayacağını düşündüğüm basit bir eklenti. Bu eklenti ile sitenizde rasgele makaleler gösterebilirsiniz. Eklentiyi sizler için rapid'e upload ettim.

http://rapidshare.com/files/253991117/random-posts-widget.zip.html

Eklentide widget desteği bulunmaktadır.

Daha ayrıntılı bilgi için:

http://lesterchan.net/

Kurulum:

1) Eklentiyi wp-content/plugins/ 'e upload edin.
2) Admin panelinden eklentiyi aktifleştirin.
3) Bileşenler kısmından eklentiyi widget olarak istediğiniz bölüme ekleyebilirsiniz.
4) Eklenti ayarlaını ayarlar kısmından yapabilirsiniz.

Google'dan Windows'a rakip işletim sistemi geliyor




Yeni işletim sistemi; sade, hızlı ve güvenli olacak. Ara yüz sıkıcı olmayacak. İnternete birkaç saniyede girilebilecek.

İnternet devi Google, yakında piyasaya işletim sistemi sürüyor. 2010'un ikinci yarısında "çok hafif" bilgisayarlarda kullanılmaya başlayacak Google Chrome OS adlı işletim sistemi, dünyadaki bilgisayarların yüzde 90'ında kullanılan Microsoft'un Windows'una rakip olacak.
Kaynak: Wardom http://www.wardom.org/showthread.php?t=292157

Yeni sistem, internette gezinti amacıyla geliştirilen "netbook" bilgisayarlara öncelikle yüklenecek.

Yeni işletim sistemi, şirketin Microsoft'un internet tarayıcısı İ.Explorer'la rekabet etmek için eylülde çıkardığı Chrome yazılımı esas alınarak geliştirildi.
Şirketten yapılan açıklamaya göre, "yeni işletim sistemi; sade, hızlı ve güvenli olacak. Ara yüz sıkıcı olmayacak. İnternete birkaç saniyede girilebilecek.

alıntıdır.

Wordpress Photo Album Eklentisi

Wordpress için kullanışlı bir photo albüm. Tasarımını yaptığım bir sitede kullandım ve gerçekten çok kullanışlı bir plugin.

Bu plugin sayesinde kolaylıkla resimleri sunucunuza upload edip kategoriler oluşturabilirsiniz. Albümlere fotolar ekleyebilir, yorum yapabilirsiniz.

Kullanımı gayet basit bu plugini indirmek için aşağıdaki linki kullanabilirsiniz:

http://me.mywebsight.ws/web/wppa/#download

Kurulum:

1- Eklentiyi wp-content/plugins/ çıkartıyoruz.
2- Upload klasörümüzün yazma izinlerini chmod 755 yapıyoruz
3- Plugin'i aktive ediyoruz.
4- Admin panelinde çıkan photos kısmından gereken işlemleri yapıyoruz. (albüm oluştur resim yükle)

Herkese kolay gelsin.

PSD nedir?

Psd photoshop çalışma dosyası anlamına gelir. Elinizde psd uzantılı bir dosyada herhangi bir değişik yapabilirsiniz. Psd'deki çalışmalar genelde katman katman ayrılır.

Örneğin bir logo çalışmasında logonun adı ve sembolünü ayırabilir bir logoda hoşunuza giden bir kısmı alıp kendi tasarımınız için kullanabilirsiniz. Yada elinizdeki katmanı çoğaltabilirsiniz, efektlendirebilirsiniz.

5 Temmuz 2009 Pazar

Xml News Slider

Tasarladığım bir web sitesi için kullandığım 3 adet farklı xml news slider'ı siz okuyucularımla paylaşmak istedim. 3'ü de son derece kullanlışlı haber slideları. .fla dosyaları içinde.

Fla dosyalarında editleme ile ilgili sorununuz olursa buradan sorabilirsiniz.

(kendi uploadumdur zararlı içerik içermez :))

http://rapidshare.com/files/252421355/news_slider.rar.html

Stylesheet sorunu çözümü

Wordpress kullanıcılarının sıkça karşılaştığı (özellikle sitemap kurulumunda) bir sorun olan stylesheet sorunu nasıl çözülür?

Hata :Stylesheet yüklenmesinde hata: XSLT-Stylesheet için belirtilen bir XML-MIME-Türü yok

Bu sorunun kaynağı sitemap kurulduğunda taraycı ile (özellikle firefox) sitemap.xml arasındaki uyumsuzluktur.

Çözüm için hostumuza bağlanıyoruz ve .htaccess dosyasını bilgisayarımıza indiriyoruz. Herhangi bir editör ile açık (ör: notepad) en alt satıra aşağıdaki kodu ekleyip tekrar sunucumuza geri yüklüyoruz.

AddType application/xml .xsl

Sorun çözülmüştür.

SEO Terimleri

1. Seo makalemde Seo nedir? sorusuna cevap vermiştik. Seo nasıl yapılır'a geçmeden önce ileride kullanacağım terimler hakkında ufak bir sözlüğü sizle paylaşmak istiyorum.

SEO SÖZLÜK:

------------------------------------------------

A

Adsense - Google'ın websitesi sahiplerine hitap eden içerik tabanlı reklam programıdır. Sitenizde içeriğinizle alakalı Google reklamlarını yayınlayarak para kazanmanın kolay bir yoludur.

Adwords - Google'ın içeriksel reklamcılığa dayanan Adsense programının reklamverenlere hitap eden şeklidir. PPC (tıklama başına ödeme) reklamcılığın ilk örneklerindendir.

Algorithm (Algoritm) - İnternetteki sayfaların, arama motoru sonuçları arasında nasıl sıralanacağını belirleyen formül.

Anchor Text - Link'i tanımlayan yazıdır.

ALT text - Fareyi, bir imaj ya da resmin üzerine getirdiğinizde görünen metindir.

C

Click - Reklamverenin sitesine ulaşmak için başka sayfalardaki reklamlarına ya da linklerine tıklanmasıdır.

Cost-per-Click (CPC) - "Tıklama başına ücretlendirme" olarak Türkçe'ye çevrilen ve bir site üzerinde bulunan ve reklamverenin kendi sitesine bağlantı sağlayan link’e her tıklandığındaki ücretlendirmedir.

Conversion (Dönüşüm) - Bir siteye ya da sayfaya gelen trafiğin reklamverenin beklentileri yönünde satış, abonelik, üyelik gibi sonuçlara dönüşmesidir.

Cross Linking (Çapraz Linkleme) - Çoğunlukla aynı kişiye/firmaya ait farklı sitelerin birbirine bağlantılanmasına denir. Sitelerin link sayısını arttırmak amacıyla tercih edilen bu uygulamanın da aşırı kullanımı arama motorları tarafından cezalandırılmakla sonuçlanabilir.

D

Directory - Site sahiplerinin kaydettirdiği sitelerin hiyerarşik sıralamasından oluşan dizinlerdir. En iyi bilinen örneği Yahoo!.

Doorway Page (Köprü/Geçiş Sayfası) - Gateway Pages olarak da geçen ve çoğunlukla arama motoru sonuçları arasında yükseklerde sıralanabilecek şekilde üzerlerinde oynanmış web sayfalarıdır. Ziyaretçiyi sitenin içlerine doğru çekecek "geçiş sayfaları" olarak görev yaparlar. Bu tür sayfaların abartılı kullanımı arama motorlarından dışlanmaya yol açabilir.

G

Google Bombası - Son zamanlarda sık ratlanan bu uygulamada, Google arama sonuçları arasında yükselmek ya da Google'ın arama sonuçlarını yönlendirmek amacıyla tek bir siteye bağlantı veren çok sayıda site kurulur.

Google Dansı - Google'ın arama motoru sıralamalarını yenilediği döneme verilen ad. Bu süre içinde Google'ın asıl ve yedek (ikincil) liste sıralamaları farklı olur.

H

Hidden Text (Gizli Yazı) - Sayfanın arka planıyla aynı renk yapıldığı için arama motoru örümcekleri/robotlarına görünen ancak site ziyaretçilerine görünmeyen yazılardır. Sayfaya içerik katmadan, ilave anahtar kelimeler eklemek için kullanılır. Çoğu arama motoru gizli yazı kullanan web sitelerini cezalandırır.

K

Keyword (Anahtar Kelime) - İnternette arama yaparken, istediğimiz sonuçları getirmesi için arama motoru kutucuklarına yazdığımız kelime ya da kelimeler gurubudur. Arama motorları, veritabanındaki siteler/sayfalar arasından yalnızca kendi bildiği belli formüllere (algoritm) göre o anahtar kelimeyle en alakalı bulduğu sayfaları bir sıralama yaparak karşımıza getirir.

Keyword Density (Anahtar kelime Yoğunluğu) - Anahtar kelimenin bir sayfada geçme sıklığıdır. Google için herhangi bir kelimenin bir site/sayfa ya da yazının anahtar kelimesi sayılabilmesi için en az %2-%3 yoğunluğa sahip olması gerektiğine, %6-%7'nin üzerinde anahtar kelime yoğunluğuna sahip sayfaların spam sayılma olasılığı olduğuna inanılıyor.

Keyword Stuffing (Keyword Doldurmak) - Arama motorları sonuçlarını yönlendirmek için sayfayı anlamsız şekilde ardarda sıralanmış anahtar kelimelerle doldurmaya verilen ad.

L

Link Popularity (Link Popülaritesi) - Bir siteye link veren önemli sitelerin sayısıdır.

P

PageRank (PR) - Google'ın internet sayfalarını "PR0 ile PR10" arasında derecelendirmek için geliştirdiği bir değerlendirme yöntemi. Tam olarak bilinemese de Google'ın bu derecelendirme için en çok bir sayfanın link popülaritesine önem verdiği biliniyor.

PPC (Pay-per-Click) - Tıklama Karşılığı Ödeme olarak Türkçe'ye çevrilebilen sözcüklerin kısaltması. Reklamverenin yalnızca reklamları tarafından sağlanan trafiğin karşılığını ödediği reklamcılık biçimine verilen ad.

S

SE (Search Engine) - Arama motoru. En büyükleri Google, Yahoo!, AltaVista, MSN'dir.

SEO (Search Engine Optimization) - Türkçe'de Arama Motoru Optimizasyonu olarak geçer. İnternet sitelerinin/sayfalarının istenilen anahtar kelimelerde, arama sonuçlarında üst sıralarda çıkabilecekleri şekilde arama motoru robotunun aradığı kriterlere uygun düzenlenmesidir. Bir sitenin/sayfanın arama motoru sonuçlarında ilk sıralarda yer alması sitenin tanınma potansiyelini çok arttırdığı için internet pazarlamacılığı için çok önemli sayılan bir uygulamadır.

SERP (Search Engine Results Pages) - Arama motoru sonuçları sayfaları.

Spam - SEO'da yani arama motoru optimizasyonunda rastlanan "spam", sayfanın ilk sıralarda çıkmasını sağlamak için tasarlanan ve arama motorunun kurallarını ihlal eden yönlendirme tekniklerine denir.

Spider (Örümcek) - Arama motorları için internet sayfalarını sitelerini ziyaret ederek, tarayan ve belli bilgileri arama motorunun veritabanına kaydeden program.

Stop Word - Çok sık kullanıldıkları için anlama bir katkısı olamayacağından arama motorları tarafından yok sayılan "ve, ile, ya da" gibi kelimelerdir.
Cinsellik içeren ve arama motorları tarafından içinde geçtikleri sitenin arama motoru sıralamalarından dışlanmasına yol açabilecek belli bazı kelimelere de "stop words" denilir. Arama motoru robotları, interneti tararken bu kelimelere rastladığında o siteyi hemen terk edip, o siteyle ilgili o ana kadar toplamış oldukları tüm bilgileri de
veri hafızalarından siliyorlar. Aynı siteyi bu sözcüklerden temizleyip tekrar kayıt ettirseniz de kabul edilmiyorlar.

Submission (Kayıt) - Bir URL'yi taranması için bir arama motorunun URL'ler listesine eklemektir. Bir arama robotu örümceğine sayfanın taranması ve nihayetinde arama motorunun veritabanına eklenmesi için haber vermektir.

T

Tag (Etiket) - Web sayfasının HTML kodu arasında yer alan

Title Tag - Bir web sayfasının tepesine yerleştirilen ve başlık çubuğunda sergilenen meta bilgi tag'i.

Meta Tags - Bir internet sitesinin HTML kodlamasının bir parçası olan ve sayfayı tanımlamak için kullanılan tag'ler (etiketler) grubu. Arama motoru optimizasyonu açısından bunların en önemlileri TITLE (Başlık), DESCRIPTION (Tanım), ve KEYWORDS (Anahtar kelimeler) tagleridir.

Traffic - Bir internet sitesine ya da sayfasına gelen ziyaretçilerin sayısıdır. Belli bir zaman diliminde gelen toplam ziyaretçi sayısını, sayfa hitini, sayfa gösterimlerini, vb. ifade eder. genel bir terim olarak da internette dolaşan veriyi tanımlar.

4 Temmuz 2009 Cumartesi

C Do while Loop

C'de işleyeceğimiz bir başka döngü çeşidimiz de do / while döngüsüdür. Yaptığı iş hemen hemen while döngüsü ile aynıdır fakat tek bir fark vardır ki koşul sağlansa da sağlanma sa do / while döngüsü en az 1 kez çalıştırılır.

Konuyu biraz açacak olursak while döngüsünde koşul sağlanmadığı takdirde döngü içindeki komut çalıştırılmaz. Çünkü koşul başta belirtilmiştir. Fakat do / while döngüsünde koşul sonda kontrol edileceği için en az bir kez çalıştırılır.

Şimdi ufak bir örnek yapalım. Şöyle ki kodumudaki sayaç değeri 5'ten küçükse ekrana merhaba dünya yazalım. Eğer 5 ten küçük değilse merhaba dünya yazmasın. While ile do / while arasındaki farkı gözlemlemek için de sayaç degerimizi 10 yapalım.

Şimdi kodlara bakalım:

Aşağıdaki kod while döngüsü ile düzenlenmiştir. Sayaç başlangıç değeri 10 olarak atanmıştır. Koşul sağlanmadığı için ekrana herhangi birşey yazılmayacaktır.

# include
# include

int main()
{
int sayac = 10;

while (sayac < 5) { printf("merhaba dunya"); sayac ++; } getch(); }



Şimdi aynı kodu do / while ile yapıyoruz. Sayaç değeri yine 10 olarak belirlenmiştir. Fakat do / while'ın mantığına göre döngü en az bir kez çalışacağından 1 kez ekrana "merhaba dünya" yazdırılacaktır.

# include
# include

int main()
{
int sayac=10;

do {
printf("merhaba dunya! \n");
sayac++;
} while(sayac<5); getch(); }



Umarım aradaki farkı anlatabilmişimdir. Tüm c sever arkadaşlara kolay gelsin.

Programın kaynak dosyalarına aşağıdaki linkten ulaşabilirsiniz:

http://rapidshare.com/files/252043185/do_while.rar.html

349 Yüksek Kaliteli Object Photo

Banner, logo, wallpaper vb tasarımlarda kullanabileceğiniz 349 adet yüksek kaliteli nesne resmini sizinle paylaşmak istedim.

Umarım dizayn ile ilgilenen arkadaşların işine yarar. Kolay gelsin.

Download :

http://depositfiles.com/files/x0qr4buop
http://depositfiles.com/files/yngnx3b74
http://depositfiles.com/files/002bauu8y
http://depositfiles.com/files/jmhacu8xd
http://depositfiles.com/files/1zgkrwahi
http://depositfiles.com/files/2lzd7sfa8
http://depositfiles.com/files/gkygpav2n
http://depositfiles.com/files/41gp4pz62

1 Temmuz 2009 Çarşamba

Msn Plus Komutları

Günümüzün en popüler chat programı olan msn'i için ek özellikler barındıran msn plus programını hepimiz kullanan arkadaşlara anlık ileti penceresinde uyulayabilecekleri hızlı ve kullanışlı komutlardan bahsedeceğim bu yazımda.

1) /all yazacağınız iletiyi msndeki herkese gönderir.
2) /appearoffline çevrim dışı görünmenizi sağlar.
3) /assist ile uzaktan yardım istersiniz.
4) /away durumunuzu dışarda olarak değiştirir.
5) /block kişinin e-postası bu komut ile girdiğiniz msn adresini bloklarsınız.
6) /brb ile durumunuz hemen dönecek olarak değiştirilir.
7) /busy ile durumunuz meşgul olur.
8) /call e-posta ile e-postasını girdiğiniz kişi ile konuşma oluşturulur.
9) /close ile msn penceresi kapanır.
10) /ctcinfo bu komut ile kişinin bilgileri listelenir (en sık kullandığım komut)
11) /displaypic kullanıcı resminiz değişir.
12) /emails e-mail yazmanız sağlanır.
13) /emoticon msn ifadeleriniz görüntülenir.
14) /find aranacak metin ile konuşma geçmişinizde metin araması yapar.
15) /lock msni kitler.
16) /logging açık / kapalı girişi sağlar.
17) /me ileti ile auto msj yapabilirsiniz.
18) /name yeni ad ile yeni kullanıcı adı girebilirsiniz.
19) /webcam karşı taraf ile görüntülü konuşma yapmanız sağlanır.
20) /youtube youtube video bağlantısı kurar.
21) /run komut satırı yada dosya adı ile dosya çalıştırmayı sağlar.

Bu komutlar sadece msn plus yüklü olduğu durumlarda kullanılabilir.

C { İf / Else / Switch Tutorial 2 }

C dilinde yazılmış bir su fatura ücreti hesaplama programı. Programın kaynak kodu ve çalışma metodunu aşağıdaki linkte bulabilirsiniz.

İf / else / switch için gayet güzel ve kapsamlı bir örnek.

İndirmek için:

http://rapidshare.com/files/250859696/su_fatura.rar.html