web etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
web etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

Merak Edilenler !

Merhaba dostlar, öncelikle sitemi takip eden, okuyan, öğrenen,destekleyen herkese teşekkürler..

İsterseniz merak ettiğiniz sorulardan başlayalım..

PDO (Php Data Objects) nedir ?

“PHP Data Objects (PDO) eklentisi PHP içerisinde veritabanlarına erişim için küçük, kararlı bir arayüz tanımlar. PDO arayüzünü implemente eden herbir veritabanı sürücüsü kendi eklentilerindeki veritabanına has özelliklerini kullanılabilir hale getirirler. PDO eklentisinin kendisi ile herhangi bir veritabanı işlevi yerine getiremezsiniz. Veritabanına erişmek için veritabanına has PDO sürücüsünü kullanmalısınız.

PDO veri-erişim katman soyutlaması sunar, yani kullandığınız veritabanı ne olursa olsun sorgu ve veri çekmek için aynı fonksiyonları kullanırsınız. PDO veritabanı soyutlaması sağlamaz; SQL in yeniden yazılması değildir, veya eksik özelliklerin tamamlanması değildir.

Php kendi sayfasında tanımladığı biçimiyle ve benim bedbahd ingilizcemin yettiği kadarıyla çevirisi bu biçimde. Şimdi durumu sadeleştirmek gerekirse. PHP nin Nesne Yönelimli Programlamaya ağırlık verdiği 5 sürümü ile gelen PDO bir veri erişim katmanıdır, PDO interface ini implemente ederek oluşturulmuş sürücülerini kullanarak standart bir veri erişim modeli oluşturmaktadır. PDO da standard fonksiyonlar vardır: exec,query,fetch v.b. Bu fonsiyonlar sürücü desteği bulunan bütün veritabanları için aynıdır.

Örneğin MySql e sorgu yapmak için PDO->query() metodu kullanılacaksa firebird..

PgSql veya Oracle (PDO interface ini implemente ederek oluşturulmuş birkaç sürücü daha mevcuttur; IBM,Informix,SqLite,Sybase,MicrosoftSQL,ODBC) içinde aynı metod kullanılacaktır. 

Bu da bize farklı veritabanları kullanmamız gerektiği zaman bunların PHP için olan eklentilerine dalıp farklı fonksiyonları içerisinde kayolmamızın önüne geçmekte. 

Tabi sağladığı yararlar bununla sınırlı değil, ileride kullandıkça örneklerimizdeki açıklamalarla sağladığı faydalar daha net anlaşılabilir.

PDO 5.1 sürümü ile kullanılmaya başlamıştır. PDO yu kullanabilmek için  php.ini dosyasındaki PDO yu etkinleştirmelisiniz bununla birlikte veritabanına has olan PDO sürücüsünü de etkinleştirmelisiniz. 

Yoğun biçimde MySql kullanıldığı için biz MySql eklentisini etkinleştireceğiz, bunun için php.ini ye şu satırları ekleyebilirsiniz;

[PHP_PDO]
extension=php_pdo.dll
[PHP_MYSQL]
extension=php_mysql.dll

Bu adımdan sonra bir örnek ile PDO kullanımını açıklayalım => Örnek 

Yukarıdaki örneği açıklayalım. PDO kurucusunda bulunan “dsn” parametresi PDO nun hangi veritabanı sürücüsünü kullanacağını belirlemesine yardımcı olan veriyi barındırır. 

Burada “mysql” yerine “mssql” veritabanına bağlanmak isteseydik “dsn” imiz şöyle olacaktı: ‘mssql:host=localhost;dbname=test’. 

Bu durumda PDO MsSql sürücüsünü arka planda yükleyecekti (tabi MsSql sürücüsünü öncelikle sizin aktif etmiş olmanız şartıyla).

Burada PHP de daha önce olmayan ve 5. versiyonu ile gelen “try catch” bloğundan bahsetmek gerekecek sanırım.  “try catch” bir hata yakalama ve oluşan hatayı göz ardı etme mekanizmasıdır diyebiliriz kabaca. İki bloktan oluşan bu yapı ile ulaşılmaya çalışılan sağlamlıktır. Uygulamada bir hata gerçekleştiğinde oracıkta sonlanmak yerine size bu hatayı yönetebilmenize olanak sağlar.

Örneğimizdeki “try catch” bloğunda PDO kurucusu sağlıklı çalıştığında ve veritabanı bağlantısını sağladığında “try” blogu çalışacak ve sorgu sonucu yazılacak ekrana. Bir hata meydana geldiğinde ise “catch” bloğu çalışacak ve meydana gelen hata ekrana yazılcaktır.

PDO ile ilgili örneklere ve PHP5 yeniliklerine ilerleyen zamanlarda değinilecektir.

Kod Yazmak (1)

Bu işin altın kuralı sağlam psikoloji ve bilgidir.. Genelde moraliniz yüksekken başlayın ki verimli çalışmalar gerçekleştirin...

Gerçekleştirdiğiniz projeleri sevin ve bir koder olduğunuzu hiç aklınızdan çıkarmayın.. Herkesin bilmediği bir dili sembollerle konuşturduğunuzun bilincine varın ve yaptığınız için kutsallığının farkındalaşın..
 
Özgün olmaya çalışın.. Koderler için bu da çok önemli bir kuraldır. Özgün olmayan birşeylerin fazla ömürleri olmaz.. Gelip geçici projelere imza atmak istemeyenler kendi yorumlarını katacakları kodlar yazmalıdır.


Kod yazarken sıvı tüketimine önem verilmelidir. Ki bu sağlıklı düşünmeyi olumlu yönde tetikler...

Kod yazarken müzik dinlemeyi sevenler hareketli müzikler yerine slow müzikler tercih etmelidirler.. Çünkü hareketli müzikler her ne kadar canlılık, enerji veriyor gibi görünseler de zihni gereksiz yere kendine odaklamaktadır.. Halbuki bizim kod yazarken zihnimizi ciddi derecede meşgul etmeyecek dinlerken keyif verecek bir fon müziğine ihtiyacımız vardır. Bu tarifte kuşkusuz slow müzikle örtüşmektedir..

En önemli maddelerden biride oda sıcaklığıdır.. Çok sıcak yada soğuk olması bizi negatif yönde bir bıkkınlığa sevkedebilir..Oda sıcaklığı rahat edebileceğimiz derece tespit edilecek klima yada havalandırma yardımıyla stabil ayarlanmalıdır..

Klavyemiz yada mausemuz pilli ise yedek piller ayarlanmalı..Laptop kullanıyorsak şarj durumu kontrol edilmelidir ki planlanmamış aralar vermek zorunda kalarak projeden soğumayalım..
Projelerimi kodlarken kullandığım Asus klavye ve mauseum

Kendimden örnek vermem gerekirse yeni bir proje kodlamaya başlarken yumuşak tuşlu ve kablolu klavye ve mause tercih ediyorum.. Ve aynı zamanda sık sık klavyemi yenilerim.. Çünkü böyle ufak yenilikler emin olun motivasyon ve konsantrasyonu pozitif etkiliyor.. Genellikle oyun klavyeleri tercih ediyorum ama şu sıralar bu kuralları biraz aşmış durumda projelerimin kodlamalarını yedek pillerimi stoklamak koşuluyla ''Asus" kablosuz klavyem ve mauseumla kodlamaktayım..

Hemen hemen her projeye başlamadan önce iyi bir dinlenin ve günlük periodlarda en az 8 saat uyumaya özen gösterin.. Çünkü emin olun iyi dinlenmezseniz gözünüzün önünde duran en kolay bir kod parçacığı hatası bile dikkatinizden kaçabiliyor.. Gerekiyorsa geç olsun temiz olsun mantığı gütmeye çalışın..

Kısa ve öz aralar vermeye özen gösterin..Çünkü yıllardan beridir zihnimize hep şu mantık yerleşmiştir.. "TENEFÜS"...
Şunu bilin ki bu kısa molalar bakış açımızı değişik açılardan yenilememize destek olabilecek bir etkendir.

Şimdilik bu kadar yazımın (2). bölümünde görüşmek üzere...

Bilinmeyen Php fonksiyonları Seri 1


Bir kaç hafta önce kod parçacıkları incelerken yine kulağı tersten tutmaya çalışan
bir kod ile karşılaştım ve “Hazırlanacak Makaleler" listeme not ettim. :)
Kullandığımız diller bize bir çok fonksiyon sunmasına rağmen
bir süre sonra bunlar da yetersiz kalmaya başladı ve “framework" kullanarak
işlerimizi daha da hızlandırmaya çalıştık,
hala da süreçleri daha fazla hızlandırmak için çalışıyoruz. 
Bunun ana sebebi biz yazılımcıların çalışma saatlerini
şirketlere / işverenlere ücret karşılığında
kiralayarak çalışıyor olması sanırım. 
Bu yüzden bizi fazladan kod yazmaktan kurtaracak fonksiyonları zorluk derecesine
bakmadan bu seride paylaşacağım.
Bazı projelerde bol haneli sayıları arayüzde göstermemiz gerekir.
(Örneğin : Kullanıcının kazandığı toplam puan)
Bu tarz durumda ekrana;
1250145 - bir milyon iki yüz elli bin yüz kırk beş - sayısını direk yazarsak
okunması oldukça güç olacaktır.

Bu sayıyı sondan üçer haneler şeklinde ayraçlarla bölmemiz gerekebilir.

number_format fonksiyonundan haberdar olmayan bir coder arkadaşım
aşağıdakine benzer kod yazarak araya ayraçlar eklemiş.

   // Kullanıcının toplam skoru   
   $point = 12684729;   
   // Bu değer kaç haneli?   
   $length = strlen($point);   
   // Geçici değişken   
   $k = 1;   
   // Skorun ayraçlı halini atacağımız değişken   
   $real_point = '';   
   // Skorun hane sayısı kadar döngüye girelim.   
   for($i = $length; $i > 0; $i--) {   
     // Tüm haneleri tersten birer birer alalım.   
     $real_point .= substr($point, $i - 1, 1);   
     // Her 3 haneden sonra ayraç ekleyelim.   
     if($k % 3 == 0 & $i != 1) { $real_point .= ','; }   
     // Katsayıyı 1 arttıralım.   
     $k++;   
   }   
   // Değişkenin değerini ters çevirelim. (Döngü tersten döndüğü için)   
   $real_point = strrev($real_point);   
   // Ekrana çıktı verelim.   
   echo $real_point;   
   // Çıktı : 12,684,729   

Bu örnek daha az satır kod yazarak başka şekillerde de hazırlanabilir. Ben buna benzer bir kod ile karşılaştığım için direk bu örnekten gitmek istedim. Bu kadar kod yazmak yerine Php’nin bize sunduğu fonksiyonu kullansaydık tek satırda işimizi çözecektik. :)



   $point = 12684729;   
   echo number_format($point);   
   // Çıktı : 12,684,729   

Benzer bir işlemi para birimleri için yapmak isterseniz yine imdadınıza yetişecek bir fonksiyon bulunuyor. Para işlemleri için money_format , sayı işlemleriniz için number_format fonksiyonlarını inceleyebilirsiniz.

Amazon’da çalışmak

Bahsetmeme gerek var mı bilmiyorum; Amazon dünyanın en büyük e-ticaret sitesi. İlk değil ama ilklerden biri. Kitap, CD ve DVD ile başlayan yolculuğunda bugün aklınıza gelecek neredeyse her şeyi raflarına yerleştirmiş durumda. Hakkında yazacak çok şeyim var ama bu yazıda konumuz o değil.


Amazon’un sevkiyat depolarından sadece biri.
Amazon’da işe başvuranlara sorulanlara Business Insider blogunda denk gelince arşivime eklemek istedim.
Kendinizi deneyin bakalım. Yanıtlarınızı yorumlarda beklerim.
  • CEO’muzu tanıyor musun? İsmini nasıl telaffuz edersin?
  • Mars’ta olsaydın sorunlarını nasıl çözerdin?
  • Birinden özür dilemek zorunda kaldığın son durumun öyküsünü anlat.
  • Karşılaştığın en zor durum neydi ve nasıl çözdün?
  • E-kitaplar sence nasıl fiyatlandırılmalı?
  • En zor müşterin kimdi?
  • Şu an saatin kadranındaki akrep ve yelkovanın açısı kaç derece?
  • Samsung, Amazon’da satmak üzere 10 bin adet Galaxy S3 için yüzde 34 indirim veriyor. Sence iyi bir teklif mi?
  • Hayatında yaptığın en büyük hata neydi?
  • En iyi arkadaşının işyerinde hırsızlık yaptığını öğrensen ne yaparsın?
  • Yöneticin, onaylamadığın bir şeyi yapmanı isterse ne yaparsın?
  • İnsan kaynakları senin için ne ifade ediyor?
  • Bir kelimenin tersten okunuşunun da aynı olduğunu nasıl anlarsın?
  • 1 ile 250 arası rakamları biri eksik kalacak şekilde karışık sırada verdik. Eksik olanı nasıl bulursun?
  • Haftada 4 gün 10 saat ayakta çalışmak ister misin?
  • 10 bin ürünü yanlışlıkla hatalı adrese yollasan ne yapardın?
  • Bir müşteriye wi-fi teknolojisini nasıl anlatırsın?
Nasıldı? Şimdi evinize dönün. Onlar size haber verecek ;)

Php mi Asp mi?

ASP’nin kendisi aslında bir dil değildir, Active Server Pages kısaltması olup ASP programlamak için kullanılan diller arasında Visual Basic, JScript ve ve C# sayılabilir. ASP’nin en önemli dezavantajı sadece Microsoft Internet Information Server (IIS) üzerinde kullanılan tescilli bir sistem olmasıdır. Bu durum kullanılabilirliği sınırlamaktadır.
      Basit bir karşılaştırma:
  • Php hemen her işletim sistemi ve her web sunucusu tarafından desteklenmektedir.
  • Asp’de böyle bir esneklik yoktur.
  • Php ücretsiz ve açık kaynak bir dildir. Kendiniz geliştirmeler yapabilirsiniz.
  • Asp’de bu tarz bir geliştirme söz konusu değildir çünkü açık kaynak değildir.
  • Php tamamen ücretsizdir.
  • Asp’yi sadece Windows lisansını satın alan kişiler kullanabilir.
  • Php sürekli geliştirilmekte, her yeni versiyonda ek özelliklerle donatılmaktadır.
  • Asp ile yapılabilecekler sınırlıdır.
  • Php Asp’den çok daha kısa süre öğrenilen ve Asp ile kıyaslanamayacak gelişmiş özelliklere sahiptir.
  • Son olarak; Php sunucuları Asp sunucularına göre çok daha performanslı ve stabil çalışırlar.