Öne Çıkan Yayın

Uzak Masaüstü Bağlantısı ve Modem Port Ayarı

İyi günler bu konumuzda uzak masaüstü bağlantısı ve modem port ayarını anlatacağım. Normalde uzak masaüstü bağlantısı ayarını açtığımızda ye...

26 Mayıs 2013 Pazar

C# Basit Resim Boyutlandırma Fonksiyonu

Merhaba,
en sade şekilde bir resim boyutlandırma fonksiyonu resmin dikey mi veya yatay mı olduğunu kontrol etmeden direk istediğimiz boyuta çeviren metotdur.

public Bitmap ResimBoyutlandir(Bitmap resim, int genislik, int yukseklik)
    {
        Bitmap Donus = resim;
        using (Bitmap Orjinal = resim)
        {
            Size yenidegerler = new Size(genislik, yukseklik);
            Bitmap yeniresim = new Bitmap(Orjinal, yenidegerler);
            Donus = yeniresim;
        }
        return Donus;
 
    }

PHP ve ASP.Net ‘in farkları nelerdir?

PHP ve ASP.Net Nedir?

Merhaba arkadaşlar.Bu makalemizde PHP ve ASP.Net ile ilgili bir takım bilgiler vermeye ve aralarındaki farklılıklara, kullanım kolaylıklarına ve zorluklarına değinmeye çalışacağım.

PHP ve ASP.Net

PHP (Personal Home Page) 1990 yılında Rasmus Lerdorf tarafından geliştirilmeye başlanan bir yazılımdır. Bu yazılımın başlangıçtaki amacı Lerdorf’un kişisel bilgilerini internet üzerinden diğer kullanıcılarla paylaşmak istemesiydi. Fakat o zamanın şartlarında web sayfası hazırlamak ve bunu yayınlamak günümüzdeki kadar kolay ve yaygın olamadığı için kişisel web sayfasının dolayısıyla da PHP’nin temelleri atılmış oldu. Lerdorf Perl dilinde başlattığı bu yazılımı daha sonra kurduğu bir grupla geliştirerek Perl dilinden bağımsız hale getirdi ve nesne odaklı bir dil haline getirdi.

Peki PHP nedir ve nasıl öğrenilebilir?

Aslında PHP ile proje üreten insanlar çok iyi bilirler ki PHP öğrenilmesi zor bir yazılım değil.Sadece bütün web yazılımlarında olduğu gibi bunda da biraz olsun üzerinde denemeler yapmak gerekir.PHP, aslında içerisinde html kodlarının gömülü olduğu bir yapıya sahip. Üzerinde çalıştığımız projeleri .php veya kullandığımız sürüme göre .php2,.php3 şeklinde kaydedebiliriz. Bu da demek oluyor ki web sitemizi PHP kullarak oluşturduysak adres kısmının sonunda kullandığımız sürüme göre .php yazıları çıkacaktır.

Aslında uzun bir süre çok tutulan PHP’nin en büyük dezavantajlarından birisi compile edilememesi yani derlenememsi. Bu ne demektir?  Kullanıcılar bizim sitemize girmek istedikleri zaman istekleri direkt olara kendi bilgisayarlarında gerçekleşmeyecektir. İstekleri öncelikle web sunucuya gidecek burada script yorumlayıcılar tarafından istekleri yorumlanınca tekrardan kullanıcıya bilgi gönderilecek. Yani kullanıcının her isteği için fazladan zaman kaybına yol açacaktır.

Bunun yanı sıra PHP’nin en güzel özelliklerinden birisi de oyun programı yazmaya kadar birçok amaca hitap ediyor olması. PHP’nin birçok veri tabanıyla uyumlu çalışabilmesi de ayrı bir avantaj tek sorun sanırım hem sunucuyu hem de kullanıcıları yorumlama kısmında biraz yorması.

Ve ASP.Net‘e göre en büyük avantajı da bizleri Windows işletim sistemine mahkum etmemesi.Yani işletim sisteminiz ne olursa olsun PHP ile çalışabilmeniz mümkün.

Peki ASP.Net Nedir ve PHP’ye göre farklılıkları nelerdir?

Asp.Net PHP’ye göre daha güçlü bir yazılım dili. Bunun en önemli sebeplerinden birisi de Asp.Net‘in .Net platformu üyesi olması. Peki bu ne anlama geliyor? Microsoft Visual Studio ile projeler üretebileceğiniz ASP.Net, Visual Studio’nun bünyesinde bulunan birçok güçlü yazılım dillerinden herhangi biri ile çalışabilmenize imkan tanıyor. Bunun yanı sıra PHP’de bir çok hata ile baş etmek zorunda kalırsınız ve bu hataları tek tek ayıklamak da yine biz yazılımcılara düşüyor.Asp.Net‘de hata ayıklama kısmını Visual Studio bizim yerimize yapıyor ve olası çözüm yolları üretiyor.Bize kalan sadece olası hayatı okumak ve çözüm yollarına şöyle bir göz atmak.Yani kaynak kodlarla uğraşmak yerine bunu Visual Studio’nun bizim için yapması sizce de güzel bir özellik değil mi? Asp.Net‘in büyük avantajlarından birisi de compile edilebilmesi yani derlenebilmesi. Bu sayede Asp.Net ile oluşturduğumuz web projelerini yayınladığımız zaman kullanıcı herhangi bir bilgi istediğinde, sadece gerekli olan kısmı alır ve kullanıcıya gönderir. Bu da PHP’de sunucu ve kullanıcı arasında dokunan mekikten kaybettiğimiz zamanın geri kazanılması anlamına gelmektedir.Yukarıda da belirttiğim gibi ASP.Net’in early binding ve catching services gibi özellikleri sayesinde PHP’den çok daha iyi bir performans sağladığını göz ardı edemeyiz.Ayrıca Microsoft Visual Studio’nun bize sağlamış olduğu zengin araç içeriğiyle de PHP’ye göre hem daha kapsamlı hem de daha kısa sürede bitirebileceğimiz projeleri yapmak mümkün.Bunların dışında PHP’de kaynak kodlar da kullanıcıya html ile gönderilmekteydi.Bunun anlamı da şudur ki kötü niyetli insanlar sizin kaynak kodlarınızı istedikleri gibi kullanabilir ve sizin bin bir emekle yaptığınız projelere zarar verebilirlerdi.Fakat ASP.Net ile bu da engellenmiş durumda.Kaynak kodları kullanıcıya gönderilmiyor.ASP.Net PHP’ye  göre hem hızlı hem de daha güvenilir diyebiliriz.Bunca olumlu özelliğin yanında elbette Asp.Net’de de bazı sorunlar karşımıza çıkmakta.Bunlardan ilki ve en önemlilerinden birisi IIS(Internet Information Systems) güvenlik açıkları.Bunun hem .Net platformu sayesinde hem de projelerimizde getirdiğimiz kısıtlamalar sayesinde kısmen de olsa engellenmesi mümkün.Ama günden güne gelişen teknoloji ve zararlı yazılımlarla bunlar da aşılabilir hale getirilebilir.Bir diğer olumsuz özelliği ise Microsoft‘un kendi ürünlerini yayma çabasından mıdır bilinmez ama sunucu bilgisayarın işletim sisteminin Windows olması gerekmekte.Linux ve benzeri işletim sistemine sahip sunucularda ASP.Net’le yazılmış projelerimiz çalışmayacaktır.Son olarak eklemek istediğim ise ASP.Net’in hem başlangıç hem de yayınlanmasının PHP’ye göre dha masraflı olması.Bunun en büyük nedenlerinden birisi projelerimize başlangıç noktasında Microsoft Visual Studio için belirli bir ücret ödemek zorunda kalmamız.Bir diğeri ise hosting maliyeti.Asp:net ile çalışıyorsanız Windows hosting almanız gerekli ki bu da diğerlerine oranla biraz daha pahalı.

Sonuç olarak gelişen teknolojiyi her ne koşulda olursa olsun takip etmek zorundayız. Projelerimize başlamadan önce hangi yazılımla çalışabileceğimizi belirlemek en önemli etkenlerden birisi. Çünkü kullanıcılar ve servis sağlayıcıları hem,hızlı hem güvenilir hem de ekonomik anlamda ucuz maliyetli projeler üretmeye çalışmakta.Bize düşense sadece nereden başlayacağımızı bilmek ve bu istekler doğrultusunda projelerimizi maksimum düzeyde üretmeye çalışmak.Umarım biraz da olsa yardımcı olabilmişimdir.Projelerinizde başarılar…

23 Mayıs 2013 Perşembe

C# Url İle Resim İndirme

Bu script sayesinde C#-Asp.Net'te url yazarak herhangi bir resmi indirebilirsiniz.

string url = "http://www.iana.org/_img/iana-logo-pageheader.png";
string uzanti = Path.GetExtension(url);
WebClient client = new WebClient();
client.DownloadFile(url, Server.MapPath("~/download/resim" + uzanti));
Response.Write("resim indirildi.");

Videoyu izlemek için tıklayınız.



Asp.Net (C#) Register Client Script - Kod Kısmında Script Oluşturma

Bu kod sayesinde Asp.Net kod kısmında script oluşturabilir ve sayfa çalıştığında kullanılmasını sağlıyabiliriz. Birinci tırnak arası scriptimizin ismi(boş bırakılabilir.) ikinci tırnak arası ise script içeriğidir ve son olarak virgülden sonraki bölüm bool(true-false) olarak tanımlanır ve html kısımda "<script> </script>" olacagını veya olmayacağını belirleriz.

Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "DenemeScript", "alert('Bu script Asp.Net tarafından oluşturuldu.');", true);

Video için tıklayınız.

Php Nasıl daha hızlı çalıştırılır ?


1. Hataları herzaman gizleyin. 

Herkes hata yapabilir. ama hatalarınızı herkesin görmesi can sıkıcı olur.

öncelikle Php sayfasının başında error_reporting(0); yazarsanız basit hatalar gizlenir.

Fakat dosya açma gibi önemli işlemler yine hata verir. bunu engellemek için de komutun başına @ koymanız yeterlidir.

örnek:  $h=@fopen("dosya","w");

veya bir mysql komutu yazarken aynısı kullanılabilir.

@include("sahte_php_$no.php");


2- Php Kısaltmaları kullanın.

$sayi=$sayi+1  yazmak yerine  $sayi ++;  aynı anlama gelir.


if($a==5){  $b=2; }else{ $b=7 }    yazmak yerine $b=($a==5)?2:7;   aynı anlama gelir.


3. include ile hız kazanın.

Php derleme aşamasında mevcut değişkenlere göre derleme yapar. bu durumda çok çok uzun bir if parantezi varsa hepsini bir dosyaya koyup hızlanma sağlayabilirsiniz.

örnek:

if($uye_login==1)
{
   //  burda 40-50 satırlık bir işlem var diyelim
   //  işin kötüsü aynı sayfaya ziyaretçiler de giriyor.
   //  ve burdaki 50 satır çoğu zaman işe yaramıyor.
}

oradaki 50 satırı alıyoruz ve farklı bir dosyaya koyuyoruz. dosya adını da user_islemleri.php yaptık diyelim. bu durumda yukarıdaki if komutu şu hale geliyor.

if($user_login==1)
{
   include("user_islemleri.php");
}


4- Strlen Yerine Isset

Çeşitli durumlarda saydırma ve döngü komutlarından kaçınmak size hız kazandırır. Örneğin Strlen aslında bir kelimedeki tüm harfleri sayan bir döngüdür. Kelimenin de harflerden oluşan bir dizi olduğunu bildiğimize göre tek tek harfleri saymak yerine son karakterin varlığına bakmak yeterlidir.

if(strlen($nick) > 10)
{
  echo "Çok uzun bir nick yazdınız";
}

onun yerine şöyle yazılabilir.

if(isset($nick[11]))  echo " çok uzun nick yazdınız";


5-  Yerine Göre Tek Tırnak veya Çift tırnak kullanın.

Php ile çift tırnak kullandığınızda verilen kelimenin içinde değişkenler olma ihtimali bulunur. bu durumda php daha fazla işlem yapmış olur.

aşağıdaki iki örneğe bakalım:

print "işlem sonucu: $sayi dir";

burda çift tırnak olması zorunlu ama onun yerine şu kullanılırsa daha hızlı olur.

print 'işlem sonucu:' . $sayi . 'dir';


6-  Class kullanmayı öğrenin:

Class: Birkaç fonksiyonun birlikte kullanım şeklidir. Fonksiyon gibi tekrar kullanılabilir ama daha kapsamlı olduğu için fazla iş yapar.

Class kavramı php 5 ile gelmiş bir olaydır. eski derslerde class olmamasının sebeplerinden biri budur. Diğer birçok program dilinde "olmazsa olmaz" denilen önemli şeylerden biridir. Class mantığını öğrenerek projenizde hız sağlayamazsınız ama çalışma hızınız artacaktır.

Burada bahsedilen hız kavramı küçük bir sitede önemli değildir. sitenize günde 100 kişi giriyorsa bunları yapmanızın pek bir farkı olmaz. ama günde 10.000 kişi geliyorsa aradaki fark hissedilebilir. gerçi o kadar insan gelirse büyük ihtimalle dedicated server almak zorunda kalacağınız için yine hız konusunda bir derdiniz olmayacaktır.