Aşağıda temel olarak aşina olmanız gereken kavramlar özetlenmişti. Size yabancı gelen kavramları rahatlıkla Google üzerinden bulabilirsiniz. Bu bilgiler Web Developer olarak bilmeniz gerekenleri kabaca özetlemektedir.
Arayüz ve Kullanıcı Deneyimi
- Tüm bilinen yaygın internet tarayıcılarında uygulamanızı test etmiş olun. Örneğin Gecko motoru kullanan Firefox, Webkit motoru kullanan Safari, Chrome, Internet Explorer modern sürümleri ve Opera gibi.
- Uygulamanızın sadece bilgisayarlar üzerinden kullanılmayacağını, Mobil telefonlar,Tablet bilgisayarlar, Ekran okuyucular, Arama motorları tarafından da kullanılacağını unutmayın.
- Kullanıcıları etkilemeden güncelleme ve yenilikleri nasıl yapacağınıza dair senaryolarınız hazır olsun. Bu senaryolarda çalışan kodlar etkilemeden yenilikleri veya güncellemeleri nasıl aktif hale getireceğiniz belirlenmiş olmalı. Bunun için versiyon kontrol sistemlerinden faydalanın.(Örneğin CVS, Subversion)
- Kullanıcı dostu olmayan hataları doğrudan kullanıcılara göstermeyin.
- Email adreslerini düz metin olarak sitenizde bulundurmayın. Düz metin olarak e-mail adreslerini bulundurursanız spam yapanlara kaynak sağlamış olursunuz.
- Spamdan kaçınmak için kullanıcıların ürettikleri linklere rel="nofollow" özelliği ekleyin.
- "progressive enhancement" nedir ne değildir bilgi sahibi olun.
- Başarılı bir POST işleminden sonra kullanıcının refresh ile formu tekrardan göndermesini engellemek için kullanıcıyı yönlendirin.
- WCAG 2 ve WAI-ARIA hakkında bilgi sahibi olun.
Güvenlik
- SQL injection nedir öğrenin.
- Kullanıcılardan aldığınız bilgilere, Form, Querystring gibi asla güvenmeyin.
- Düz metin olarak parolaları asla saklamayın. Salt ile karıştırın (Hash).
- bcrypt veya scrypt kullanın. Doğrudan MD5 or SHA kullanmayın.
- Kendi login sisteminizi kurmaya ugraşmayın. Amerikayı yeniden keşfetmeyin.
- Parola gibi önemli bilgiler asla Cookie de saklamayın. Şifreli dahi saklasanız.
- Hassas bilgiler için, örneğin Kredi kartı, SSL/HTTPS kullanın.
- Session hijacking nedir öğrenin
- XSS ( cross site scripting) nedir öğrenin.
- XSRF (cross site request forgeries) nedir öğrenin.
- Sisteminizin (sunucu ve üzerinde çalışan yazımlar)güncellemelerini takip edin ve yapın.
- Veri tabanı bağlantı bilgilerini güvenli bir şekilde saklayın.
Performans
- Gerekliyse Cache sistemi kullanın. HTTP Caching hakkında bilgi sahibi olun.
- Resimleri optimize edin.
- gzip hakkında bilgi sahibi olun.
- Doküman içinde kullanılan javascript ve cssleri ayrı dosyaları birleştirin ve istek sayısını azaltın.
- Google page speed gibi araçlarsa sayfa performanslarınızı kontrol edin.
- CSS Image Sprites kullanın.
- Çok fazla resim ve statik dosyanız varsa ve büyük bir trafik hedefliyorsanız CDN kullanın.
- Javascript ve CSS için minification araçlarından yararlanın.
- Sitenizin root’unda favicon.ico dosyası koymayı unutmayın. Tarayıcılar otomatik olarak bu dosyayı isteyeceğinden eğer sisteminizde yoksa bolca 404 hatası dönecektir.
SEO - Arama motorları optimizasyonu
- Arama motoru dostu URL kullanın. urunler.aspx?urunid=233&katgori=telefon yerine urunler/telefon/Samsung-s4 gibi.
- "ayrıntılar için tıklayın" gibi ifadeler kullanmayın.
- XML Sitemap kullanın.
- <link rel="canonical" ... /> ifadelerini kullanın.
- Google Webmaster Tool ve Bing Webmaster tool kullanın.
- Google Analytics kullanın.
- Robots.txt hakkında bilgi sahibi olun.
- www.uzmanim.net mi yoksa uzmanim.net gibi www olmadan mı kullanacaksınız karar verin ve 301 yönlendirmesi gerçekleştirin.
Teknoloji
- HTTP protokolünü anlamaya çalışın. GET, POST nedir bunları bilin.
- HTML ve CSS kodlarınızı W3C spesifikasyonlarına uygun olarak yazın.
- Javascriptin tarayıcıda nasıl çalıştığı konusunda bilgi sahibi olun.
- Kullanıcı Javascripti kapatırsa neler olacak? sorusunu her zaman aklınızda tutun.
- 301 ve 302 yönlendirmeleri hakkında bilgi sahibi olun.
- Reset Style Sheet normalize.css nedir bilin.
- Jquery, Mootols, Dojo, YUI, Prototype hakkında bilgi sahibi olun, birini iyi bilin.
- Çok kullanılan javascript kütüphanelerini Google Libraries API üzerinden host edin.
Hata Giderme
- Zamanınızın %20'sini kod yazarak %80'nini o koda bakım yaparak geçirdiğinizi unutmayın. Temiz kod yazın.
- Daima yazarak çalışın, iyi bir hata raporlama sistemi kullanın.
- Kullanıcıların eleştirilerini ve önerileri dikkate alın.
- Yedek alın!
- Versiyon kontrol sistemi kullanın (Subversion gibi)
- Bir loglama sistemi kullanın, log4j, log4net, log4r. gibi