Umut Sinav Logo

Popüler Yazılar

<< >>

Php Dosya Yükleme (upload) Kodu

Php Logo

PHP ile ilgili çalışmalara yeni başlayanlar için dosya yükleme nasıl yapılır, bu yazıda ondan bahsetmek istedim temel düzeyde dosya yüklemek için aşağıdaki kodlar gayet işinizi görmektedir. İlk adım olarak bir

PHP ile veritabanından veri çekmek

MySQL Veri Tabanı

PHP’ye yeni başlamış az çok nasıl kullanıldığını öğrenen kişiler için ikinci adım olarak veri tabanı ile tanışmak gelir bu yazıda PHP ile mysql veri tabanından veri çekme işlemini anlatmaya çalışacağım.

PHP tc kimlik no doğrulama

Php Logo

E-ticaret sitelerinin bayağı bir yayılmasıyla beraber artık web siteleri üyelerinin TCKN bilgilerini tutuyor ve buda programcılara ekstra bir kontrol getiriyor bu yazıda girilen bir TCKN bilgisinin kurallara uygun olup olmadığını

PHP Json Kullanımı

PHP Json

Platformlar arasında veri alışverişi yapmak oldukça önemli ve kullanışlıdır bunu genelde XML ile yapmaktayız bu yazıda XML alternatifi olarak platformlar arası iletişim sağlayan json ve PHP ile Json kullanımı hakkında bilgiler

Javascript ve Php Yönlendirme Kodu

Web sitelerimizde bazı işlemlerden sonra ziyaretçimizi başka sayfalara otomatik olarak yönlendirmemiz gerekebilir bu tip durumlarda işimizi yarayan kodlar hem php hem javascript olarak aşağıda vardır hangisine ihtiyaç duyarsanız onu kullanabilirsiniz.

PHP Seo Url Yapımı

web site yönlendirme

Seo link yapımının arama motorları açısından çok büyük önem arz etmesede önemli bir yeri vardır seo linkleri php tarafında nasıl oluşturacağız bu yazıda onu anlatmaya çalışacağım. Yukarıdaki fonksiyon sayesinde yollamış

PHP İle Çarpım Tablosu

Bu yazıda for döngüsü kullanaraktan php ile çarpım tablosu yapımından bahsedeceğim. Döngü Nedir? Döngü (loop) deyimleri, bir kümenin belli bir koşul altında tekrar edilmesi için kullanılır. Örneğimiz 1’den 25 e

PHP Dosya Yükleme Boyutu

PHP Logo

PHP ile file upload yani dosya yükleme işlemi yaparken kısıtlama yapmak isteyebilirsiniz bu kısıtlamalardan bu yazıda dosya boyut sınırı bahsedeceğim. Varsayılan olarak sunucularda 2MBolarak ayarlıdır bu 2MB tı aşağıdaki yöntemler

PHP ile Adres Satırını Almak

PHP ile adres satırının tamamını alma işlemi Kullanacağımız fonksiyon ve değişkenler $_SERVER[‘SERVER_NAME’] : Geçerli betiğin altında çalıştığı sunucunun adıdır. Eğer betik bir sanal konak üzerinde çalışıyorsa, o sanal konağın adını içerir. braveyoung01.blogspot.com $_SERVER[‘REQUEST_URI’] : Sayfaya erişim için

PHP Tarih İşlemleri date() Fonksiyonu

PHP Logo

PHP ile tarih kullanımı oldukça kolaydır tarih işlemleri oldukça geniş bir konudur aslında ama biz daha çok işin yeni başlayanlar kısmına değineceğiz ekrana tarih saati nasıl yazdırırız ona bakalım.  

PHP Değişkenler İle İlgili İşlevler

PHP ile yazılım geliştiriyorsanız işinize çok yarıyacak değişken işlevleri fonksiyonları aşağıdadır http://php.net/manual/tr/book.var.php adresinden alınmıştır fonksiyonların yanında açıklamaları yazmaktadır daha detaylı bilgi için linklere tıklayıp fonksiyon detaylarına bakabilirsiniz. debug_zval_dump — Dahili bir zend değerinin

Netbeans codeigniter plugin

Son zamanlarda sıklıkla NetBeans IDE ve CodeIgniter PHP Framework kullanmaktayım gerçekten NetBeans müthiş bir IDE NetBeans ile proje oluştururken Zent Framework Symfony Framework desteğini veriyordu haliyle neden CodeIgniter Olmasın deyip biraz araştırdıktan

Bir sitenin meta taglarını php ile almak

PHP Logo

PHP Dersleri konusunda bir yazı serisi yazmak umuduyla bu yazıyı yazmaya başlıyorum. Konu : Sitenin meta taglerini almak Dil    : PHP Örnek Site : http://www.umutsinav.com Öncelikle bir php dosyası oluşturup içine

PHP Dizi Kullanımı

Php Logo

Dizi derken kuzey-güney, kurtlar vadisi felan bahsetmiyoruz burada yanlışlıkla bu sayfaya geldiyseniz hemen çıkınız 🙂 Dizi Nedir? Dizi, bellekte aynı isim altında toplamış değişkenler kümesine verilen isimdir. Dizinin kullanım alanlarına

CodeIgniter Framework

Framework Nedir?Öncelikle Framawork Nedir? onu bilmek gerekmektedir. Framework, yazılımın iskeletini oluşturan, fonksiyon ve sınıflardan oluşan geniş çaplı bir kütüphaneye sahip uygulama çatısıdır. Framework proje sürecini hızlandırır, düzenli ve temiz kod yazımını

Ne Kaybettiysek Doğruluğumuzdan Ne Kazandıysak Doğruluğumuzdan

doğruluk

Dün gece Türkiye’nin 1 numaralı şehrinde Adana’nın en güzel ilçesi Seyhan’da Seyhan’ın en güzel mahallesi Hadırlı’da Hadırlı’nın en güzel evi bizim evimizde terasta bilgisayarımı açıp elimde olan işlerden web sitesini yaparken, biraz gecenin vermiş olduğu sessizlik ve huzur sayesinde kendimi işten ziyade farklı şeyler düşünürken buldum.

Herkes hayatında acı tatlı günler yaşamıştır ve yaşayacaktırda hayatın kuralıdır zaten bu, önemli olan hayata bakış açınız ve zorluklarda ne yaptığınızda gizlidir zorluğa karşı isyan edip pesmi ediyorsunuz yoksa iyi olmaya karşı isyan edip “ki zaten doğrusu budur bence :)” mutlu olmak için mi uğraşıyorsunuz.

Bugüne kadar kendimce bir çok zorluklar yaşadım bir çok zor kararda aldım bu aldığım kararlarda hep bir şeye dikkat ettim bu yazının başlığında açıkca belli oluyor zaten.

Kısacası Doğru olmak iyi olmak her daim iyidir güzeldir uzun vadede hep kazanırsınız, bir sonraki yazıda görüşmek üzre.

FileZilla Bağlantı Problemleri

filezilla

Klasör listesi alınamadı hatası için

 

 

 

 

 

 

 

Komut: OPTS UTF8 ON
Yanıt: 200 UTF8 set to on
Durum: Bağlandı
Durum: Klasör listesi alınıyor…
Komut: PWD
Yanıt: 257 “/” is the current directory
Komut: TYPE I
Yanıt: 200 Type set to I
Komut: PASV
Yanıt: 227 Entering Passive Mode (209,208,97,216,153,47).
Komut: MLSD
Hata: Bağlantı zaman aşımına uğradı
Hata: Klasör listesi alınamadı

İse, bağlanmaya çalıştığınız sunucu “Pasif Mod” desteklemiyordur. Aşağıdaki çözüm yolunu deneyerek klasörlerinize erişebilirsiniz.

Filezilla Client > Düzenleyin > Ayarlar > Bağlantı > Ftp içindeyken Aktarım Kipi‘ni Aktif yapmanız.

İkinci Olarak İse

filezilla bağlantı problemi

Üçüncü Olarak İse

Güvenlik duvarı ayarlarından veya anti virüs yazılımınızın engellemiş olabileceğini unutmayınız 21 numaralı portu engellemiş olabilir. Çözüm olarak anti virüs yazılımınızı devre dışı bırakabilirsiniz.

Bir Yerden Başlayalım

Dumlupınar Üniversitesinden sevdiğim iki arkadaşım Alpay ve Metin’in başlatmış olduğu BİR YERDEN BAŞLAYALIM adlı Youtube sohbet kanalı ile insanların konuşmak isteyipte konuşamadıklarını dile getiren bir projedir.

Yapmış oldukları bu işte umarım başarılı olurlar, ara ara bende sohbetlerine dahil olacağım. Aşagıdaki linkden Youtube kanalına abone olup bu sohbetlere sizlerde katılabilirsiniz.

https://www.youtube.com/channel/UCUaz_ApEjQkxs4NAygwml3A

C# Veri Türleri ve Değişkenler

c #

Bu yazımızda C# dilinde kullanılan veri tiplerini ele alacağız. Aslında bu konu sadece C# için geçerli değil programlama ile uğraşanlar için genel olarak bilinmesi gereken çok önemli bir konudur bir çok anlatımda bir kaç cümle ile anlatılıp geçilir iyi bir programcı değişken kavramını çok iyi bir şekilde anlaması gereklidir.

Değişken Nedir?

Bilgisayar belleğinde (memory) adresi (adress), kaplama alanı (size) , tipi (type) ve değeri (value) olan sürekli bölüme değişken adı verilir.

Programlamada bir çok işlem değişkenler vasıtasıyla yapılır hesaplama işlemleri, kayıt işlemleri, listeleme işlemleri vs.

Değişken Kavramı

şekildeki gibi int tipinde sayi1 isminde 12 değeri olan bir değişken tanımlanmaktadır. Artık sayi1 ile işlem yapabiliriz ilk değeri 12 fakat bu sürekli 12 kalacağı anlamına gelmiyor adı üstünde değişken yani programımız çalışma anında 12 den başka değerler alabilir burada bilmemiz gerekn int tipinde olduğu ve int değerler alabileceğidir.

Değişken Tanımlama Kuralları

  • Değişken ismi içerisinde boşluk kullanılmaz.
  • Değişken isimleri rakam veya özel karakterler ile başlayamaz, harf ile başlamalıdır.
  • Değişken ismi içerisinde harf,rakam ve alt çizgi dışındaki karakterler kullanılmamalıdır.

Ve en önemli not ise değişkenleri içerisinde barındırdıkları değerlere uygun isimlendirme yapılmış olmasıdır

Örnek : Bir sitemiz var ve üyelik ile giriş yapıyoruz giriş ekranında bir form olsun buradaki form elamanlarına isim verirken kullaniciAdi ve kullaniciSifre gibi isimler verilmesi mantıklıdır.

Veri Tipleri

Her programlama dilinde çeşitli veri tipleri mevcuttur ve programcılar ihtiyaca yönelik istenilen veri tiplerini kullanabilir aşağıdaki tabloda C# ta kullanabileceğimiz veri tipleri mevcuttur.

C# Veri Tipleri

C# Veri Tipleri

Önemli Not:Tam sayılar ile işlem yapacağız kullanabileceğimiz sbyte, byte, short, ushort,int, uint bu kadar çeşidin olmasının sebebi bellekte kapladıkları alanlarla ilgili ve bu konuda okullarda ve öğrenme aşamasında pekte önemli olmasada gerçek hayatta yapılan projelerde çok çok önemlidir. Tutacağınız veri 0-100 arasında ise buna uygun olarak byte veri tipi kullanılmalıdır

byte kullanım 8 bit

int kullanım 32 bit

yani byte yerine int kullanırsak fazladan 24 bit zarar etmiş oluruz.

Değişkenlerin Geçerliliği (scope)

Tanımlanan değişkenlerin hangi aralıklarda kullanabileceği ile alakalı bir konudur bir değişkeni tanımlanmadığı yerde kullanmak hataya sebeb verecektir. Aşağıdaki örneği inceleyerek olayı daha iyi anlayabilirsiniz.


class Ornek

{

void ilkMetod()

{

int degisken;

...

}

void ikinciMetod()

{

degisken = 42; // hata: değişken, alanın dışında

...

}

}

C# Programlamaya Giriş

c #

C# Programlama Dili (si şarp şeklinde telaffuz edilir), Microsoft’un geliştirmiş olduğu yeni nesil programlama dilidir. Yine Microsoft tarafından geliştirilmiş .NET Teknolojisi için geliştirilmiş dillerden biridir.
Microsoft tarafından geliştirilmiş olsa da ECMA ve ISO standartları altına alınmıştır.

İsmi Nereden Geliyor

C programlama dilinde bir tamsayı değişkeni 1 atırmak için ++ soneki kullanılır. C++ dili adını, C diliyle Nesneye Yönelimli Programlama yapabilmek için eklentiler (C With Classes) almıştır. Benzer şekilde C++ diline yeni eklentiler yapılarak ((C++)++) bir adım daha ileriye götürülmüş ve tamamen nesneye yönelik tasarlanmış C# dilinin isimlendirilmesinde, + karakterlerinin birbirlerine yakınlaşmış hali ve bir melodi anahtarı olan C# Major kullanılmıştır. Read more

Onluk Sayıyı İkilik Sayıya Çevirme

decimal to binary

Bu yazıda onluk(decimal) sayı sisteminde olan bir sayının ikili (binary) sayı sistemine çevirilmesini C PROGRAMLAMA dilini kullanarak nasıl yapılabileeğini anlatmaya çalışacağım.

 

Ekrana 0….15 kadar olan sayıların ikili sayı karşılıklarını yazılmasını sağlayalım

Bunun için main fonksiyonu içersinde bir for döngüsü açıp yazacağımız olan ikiliKod fonksiyonuna parametre yollayarak ikili kodun yazılmasını sağlayalım.

#include <stdio.h>
#include <stdlib.h>
//ikili koda çevirme recursive fonksiyonumuz
void ikiliKod(int n){
	if(n>1)
		ikiliKod(n/2);
	printf("%d", n%2);
}
int main()
{
	int i=0;
	for(i=0; i<=15; i++){
		printf("\t%d ikili kodu= ",i); ikiliKod(i);
		printf("\n");
	}
	system("pause");
}

 

ikiliKod Fonksiyonu recursive olarak çalışan bir fonksiyon olup yollanan n parametresinin ikilik kodunu ekrana yazılmasını sağlamaktadır.

Oluşan çıktımız aşağıdaki gibidir

decimal to binary

decimal to binary

 

 

 

Özdevingen (recursive) fonksiyon ile ikili arama metodu

C programlama İkili Arama Metodunun Recursive Uygulaması

Bu yazıda binary (ikili) arama algoritmasının isme göre arama yapılmasını recursive (özdevingen) fonksiyon ile yazılmasının C programlama dilinde nasıl yapıldığını anlatmaya çalışacağım.

Recursive Fonksiyon

  • Kendini doğrudan veya dolaylı olarak çağıran fonksiyonlara recursive (özdevingen) fonksiyonlar adı verilir.
  • Recursive (özdevingen), iterasyonun (döngüler, tekrar) yerine geçebilecek çok güçlü bir programlama tekniğidir.
  • Orijinal problemin küçük parçalarını çözmek için, bir alt programın kendi kendini çağırmasını sağlayarak, tekrarlı işlemlerin çözümüne farklı bir bakış açısı getirir.

İkili Arama

İkili Arama, sıralı bir dizide, belirli değerin bulunmasına yönelik bir algoritmadır. Bu teknikteki her bir adımda, aranan değerin, dizinin orta değerine eşit olup olmadığı kontrol edilir. Eşit olmaması durumunda aranan değerin orta değer tarafından ikiye ayrılan kısımlardan hangisinde olduğu kontrol edilir, aranan değeri içeren kısım bir sonraki adımda arama yapılacak dizi olur ve bu sayede arama yapılan listedeki eleman sayısı her adımda yarıya indirilmiş olur.

Uygulama

Bilmeniz gerekenler

  • C programlama struct yapısı
  • C programlama strcmp fonksiyonu (iki karakter dizisini karşılaştırır eşit ise 0, birinci ifade büyük ise 1, ikinci ifade büyük ise -1 dönderir)

Aşağıda bulunan kodu inceleyerek bu işlemlerin nasıl yapıldığını anlamaya çalışın gerekli açıklamalar kodun yorum satırında mevcuttur.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*
* Şair defterine programcı yorum satırına şiirini yazar
* Umut SİNAV (@umutsinav)
*/
// person isimli struct yapımızı tanımlıyoruz
struct person {
  long telNo;
  char isim[12];
};
//İkili (binary) arama algoritmasının özdevingen (recursive) sürümü
int ikiliAramaRecursive(struct person personel[], char arananIsim[], int elemanSayisi, int alt, int ust)
{
	int konum=-1, orta, karsilastir;
	if(alt>ust) return -1;
	//orta kısmı buluyoruz
	orta =  (alt + ust)  /  2;
	//isimleri karşılaştırıyoruz strcmp fonksiyonu ile
	karsilastir = strcmp(arananIsim, personel[orta].isim);
	//karşılaştırma işleminden dönen değere göre return işlemimizi yapıyoruz
	if (karsilastir==0)	return orta;
	else if (karsilastir==-1) return ikiliAramaRecursive(personel, arananIsim,  elemanSayisi, alt, orta-1);
	else if(karsilastir==1) return ikiliAramaRecursive(personel, arananIsim,  elemanSayisi, orta+1, ust);
	//aranan kayit bulunamadı ise -1 değerini dönderiyoruz
	return -1;
}
void main()
{
	struct person
    personel[15]={
		3451280, "AYDIN",
			3892345,"BEKIR",
			3774860,"CEMIL",
			3886655,"DENIZ",
            3871288,"EREN",
			3661288,"EMRAH",
            3661090,"FIKRET",
			3213045,"GUL",
			3871280,"JALE",
			3223488,"LATIF",
			3981200,"NERMIN",
            3021288,"PERIHAN",
            3891123,"UMUT",
			3125466,"VELI",
			3014560,"ZEKI"
	};
	char  girilenIsim[12];
	int elemanSayisi=15, alt=0, ust=15, sonuc, devam=0;
	//elemanları listeliyoruz
	for(int i=0; i<elemanSayisi; i++)
		printf("\n\t %d %s", personel[i].telNo, personel[i].isim);
	do
	{
		//arama yapılacak ismi kullanıcıdan alıyoruz
		printf("\n\tListede Arama Yapmak Icin Kisinin Adini Giriniz:");
		scanf("%s", &girilenIsim);
		//fonksiyonumuzu çağırıyoruz
		sonuc=ikiliAramaRecursive(personel, girilenIsim, elemanSayisi, alt, ust);
		if(sonuc==-1)
			printf("\n\t uzgunuz istediginiz ismi bulamadik :)\n");
		else
			printf("\n\t Aranan ismin konumu: %d\n\t Aranan ismin numarasi: %d\n", sonuc+1, personel[sonuc].telNo);
		printf("Tekrar arama icin [1], cikmak icin [0]:");
		scanf("%d", &devam);
		if(devam==0) exit(0);
	}while(devam);

}

 

C programlama İkili Arama Metodunun Recursive Uygulaması

C programlama İkili Arama Metodunun Recursive Uygulaması