Kitap İnceleme:Uzmanlar için PHP-Mehmet Şamlı
Bundan böyle, zaman zaman beğendiğim ya da beğenmediğim kitaplar hakkında yazılar yazmayı düşünüyorum. Zira geliştiricilerin en önemli konularından bir tanesi, ihtiyacı olan bilgiye en kısa yoldan ulaşmaktır. Bu ise en doğru kaynaklara bir an önce ulaşması sayesinde olur. İşte burada daha önceki geliştiricilerin fikirleri büyük önem taşır. Bu nedenle kendi fikirlerimi dilim döndüğünce yazacağım.
Php ile ilgili pek türkçe kitap satın almam. Elimdeki tek türkçe php kitabı, Alfa yayın evinin Uzmanlar için PHP ve Mysql Luke Welling-Laura Thomson isimli kitabıdır. Kaynak tavsiyesi isteyenlere de bu kitabı öneriyorum hep. Kitabın hem orjinal ingilizce sürümü, hem de türkçe çevirisi, başlangıç ve orta seviye için oldukça başarılı.
Gelelim bu yazının yazılmasına sebep olan asıl konuya.
Geçtiğimiz günlerde, kitapyurdu.com’da php ile ilgili yeni çıkan kitap varmıdır acaba diye gezinirken. Mehmet Şamlı’nın Uzmanlar için Php isimli kitabını gördüm. Tanıtım yazısını ve birkaç okuyucu yorumunu okuduktan sonra hemen sipariş verdim. Özellikle bir sürü ekran görüntüsü ile dolu bazı programlama kitaplarına 50-60 tl gibi çok yüksek fiyatlar istendiği bu ortamda, kitabın 13,65 tl’lik fiyatını görünce alıp okumamak ayıp olurdu açıkçası. Fiyatla ilgili olarak yazarın yanında yayın evini de kutlamak gerekir.
Açıkçası beklediğimden daha iyi bir kitapla karşılaştım. Öncelikle vurgulamam gerekir ki bu kitap php ile programlamayı öğrenmek için yazılmış bir kitap değil. Daha çok php programlama diline az çok hakim olmuş ve uygulama geliştirme yeteneğine ulaşmış, ancak ciddi bir uygulama geliştirirken bir takım sorun ve ihtiyaçlarla karşı karşıya kalan php geliştiricilerine hitap ediyor.
Biraz daha somutlaştırmak gerekirse bu kitapta şu konuları buluyorsunuz;
1 ) Php ile nesne tabanlı programlama: Sıradan web sitesini hazırlarken nesne tabanlı programlama yapmamanın pek bir dezavantajı yoktur. Ancak projeler önem kazanmaya ve kritikleşmeye başladıkça değişik arayışlar içine giriyor geliştiriciler. Bu arayışların ve çözümlerin hemen hemen hepsinin içinde bir şekilde nesne tabanlı programlama mevcut. Örneğin php frameworkler artık geliştiricilerin olmazsa olmazları arasında ve bunları kullanabilmek için php ile nesne tabanlı programlamayı mutlaka uygulayabiliyor olmak gerekiyor.
2) Performans sorunlarına çözüm önerileri: Uzmanlık seviyesindeki ya da kritik bir uygulamayla uğraşan bir geliştiricinden beklenen şeylerin en başında uygulamanın performansını arttırma konusu gelir. Böyle durumlarda geliştirici “işi yapan uygulamayı hazırlamak değil”, “işi yapan en performanslı uygulamayı hazırlamakla” yükümlüdür. Geliştiricinin, bu konuda kafasındakiler net değilse proje tam bir kabusa döner. Yaşayan bilir… İşte burada yazarımız, memcached, xcache, zend platform vs gibi çeşitli araçları anlatıyor bize…
3) Bazı ileri mysql konuları: Çoğu web geliştirici tarafından pek kullanılmayan hatta bilinmeyen, trigger, stored procedures, events, index ve query cache vb. gibi konulara güzel bir giriş yapılmış.
4) Version kontrol sistemleri: Çok geliştiricili projelerde olmazsa olmaz bir konu olan CVS ve SVN gibi version kontrol sistemlerine giriş yaparak SVN hakkında göreceli olarak daha ayrıntılı bilgiler verilmiş.
5) Smarty: Ben pek kullanmıyorum ancak seveni çok bu konunun.
6) Sanal Pos uygulaması: Kredi kartı işlemlerine giriş yaparak son dönem yenilikliklerden olan 3D Secure’den de bahsedilmiş ve bu konuda bir de uygulama örneği verilmiş.
7) Seo (Search Engine Optimization)-(Arama Motoru Optimizasyonu): Sitenize daha fazla ziyaretçi çekmenin ne demek olduğunu anlatmaya gerek yok. Bunun yolunun google, yahoo vb arama motorlarında üst sıralarda çıkmaktan geçtiğini de belirtmeye gerek yok. Yazar bu konularda güzel bilgiler vermiş.
8)Tasarım Şablonları: Programlama camiasında son dönemde çok moda oldu bu iki kelime. İngilizcesi, design patterns… Yazar, temel tasarım şablonlarını çok güzel anlatmış ve örneklerle pekiştirmiş. Konunun meraklıları için kaçmaz.
Eleştirilerime gelince:
Konuları ele alırken biraz daha ayrıntıya girilebilirdi. Gerçi o zaman da, sayfa sayısı ve dolayısı ile fiyat da artacaktı. Yine de bana kalırsa daha iyi olurdu. Elbette ki yazarın hedefi, geliştiricilerin ufkunda sadece minik minik pencereler açarak gerisini geliştiriciye bırakmak olabilir. Bu hedefi de çok makul karşılıyorum. Ayrıca bu fiyata verilebilecek en iyisini vermiş kitap.
Kitap hakkındaki çok önemli bir iki konuyu tekrar ederek bitirmekte fayda görüyorum. Kitabın hedef kitlesi php ‘yi öğrenmeyi amaçlayan geliştiriciler değildir. Ayrıca yukarıda maddeler halinde sıraladığım konularda çok ayrıntılı bilgiler beklemeyin. Yazar, bu konulardan, giriş niteliğinde bahsederek, php geliştiricisine bir sürü pencere açmış. İlgilendiğiniz konuların derinlemesine incelendiği daha spesifik bilgi kaynaklarına mutlaka ihtiyacınız olacaktır. Zaten yazar da bu durumu kitabında yeri geldikçe hatırlatmış.
Sağlıcakla kalın…
