Web İçin Teknoloji Geliştirmek
-
Upload
volkan-oezcelik -
Category
Technology
-
view
3.592 -
download
4
description
Transcript of Web İçin Teknoloji Geliştirmek
![Page 1: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/1.jpg)
Volkan Özçelik blog: www.fikribol.com
Web İçin Teknoloji Geliştirmek
Volkan Özçelikcember.net – Bilişim ve Teknoloji Direktörü
![Page 2: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/2.jpg)
Baş Döndürücü Bir Evrim Süreci1994
<MARQUEE>
![Page 3: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/3.jpg)
Baş Döndürücü Bir Evrim Süreci 2008
XHTML, CSS, JS, DHTML, AJAX, OOP, XML, XSTL, RSS, OPML, SQL, DDL, UML, RPC, SOA,
Folksonomi, MVC, J2EE, Microformat, XFN, Hcal,
Ruby on Rails, DTD, W3C, WAI, JAVA, .NET, SSI,
WYSIWYG, WYSIWYM, API, UGC, Wiki, blog,
thumblog, GTD, microblog, webtop, CMS, ERP, Mashup,
Semantik Web, Yapay Zeka, Kollektif Zeka,
beta, web2.0, web3.0, web4.0 ... daha gider bu!
![Page 4: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/4.jpg)
Baş Döndürücü Bir Evrim Süreci Altavista Google Hotmail Gmail / Yahoo! Mail(beta) Ofoto Flickr Mp3.com iTunes Netscape Mozilla Firefox
![Page 5: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/5.jpg)
Baş Döndürücü Bir Evrim Süreci
Hizmet Ürün Software Infoware Statik Dinamik Zengin Kullanıcı Deneyimi
Kolay Eğlenceli Sosyal
![Page 6: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/6.jpg)
Baş Döndürücü Bir Evrim Süreci
API RSS AJAX Standartlar
DOM XHTML CSS
![Page 7: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/7.jpg)
Web Uygulaması Geliştirmek İçin Harika Bir Dönem!
Her gün yeni bir web uygulaması Hızlı gelişen bir internet pazarı
Kolay veri ve bilgi paylaşımı Basitleştirilmiş bir dağıtım kanalı Düşük Sabit Masraflar
Hızlı olgunlaşan bir İnternet ekonomisi
![Page 8: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/8.jpg)
Daha Başlamadan...
Hedef Kitlenizi Belirleyin Amaçlarınızı Belirleyin Bütçenizi Belirleyin
![Page 9: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/9.jpg)
Web İçin Teknoloji Geliştirmek Proje Yapısının Belirlenmesi Plan Üretilmesi Geliştirme Süreci Test ve Bakım
![Page 10: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/10.jpg)
Web İçin Teknoloji Geliştirirken (olması gereken)
İş Mantığının ve İş Nesnelerinin Belirlenmesi İşlevsel Gereksinimlerin Belirlenmesi Uygulamanın Kodlanmaya Başlanması Bakım ve Destek Prosedürlerinin Belirlenmesi
![Page 11: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/11.jpg)
Web İçin Teknoloji Geliştirirken (genelde olan)
Uygulamanın Kodlanmaya Başlanması
![Page 12: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/12.jpg)
Web İçin Teknoloji Geliştirirken... Amacınızı bilin Değer katın Deneyim kazanın
![Page 13: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/13.jpg)
Gözardı Edilenler
Dokümantasyon Gereksiz, kimse okumuyor. Test Zaman Kaybı, o kadar lüksümüz yok. Bakım? Destek?
![Page 14: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/14.jpg)
Web Teknolojilerinde Güvenlik
![Page 15: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/15.jpg)
Web Teknolojilerinde Güvenlik Bir Hacker
Sistemin açıklarından yararlanarak Size ait olmayan veri enjekte edebilir Verinizi değiştirebilir Verinizi çalabilir
Tüm bunları nasıl yapar? Sisteminizle haberleşerek Sıradan kullanıcının yapmadığı şeyler deneyerek Sosyal Mühendislik
![Page 16: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/16.jpg)
Web Teknolojilerinde Güvenlik Kullanıcıya Asla Güvenmeyin
Sunucu – İstemci arasında bağlantı kopabilir Eksik/hatalı veri
Sunucu – İstemci arasında veri kirlenebilir Kullanıcı tarafından beklenmeyen bir şekilde
değiştirilebilir Sistemi çökertmek, yetkisiz erişim sağlamak için özel
olarak tasarlanmış bir saldırı olabilir
![Page 17: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/17.jpg)
Web Teknolojilerinde Güvenlik Kendi uygulamanızı hackleyin Bir kayıt dosyası (log) tutun
![Page 18: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/18.jpg)
Sık Yapılan Gaflar (güvenlik)
JavaScript korur beni JavaScript iptal edilebilir JavaScript kullanıcı tarafından modifiye edilebilir Sisteme kullanıcı tarafından JavaScript enjekte
edilebilir Cross Site Scripting / Script Injection
![Page 19: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/19.jpg)
Sık Yapılan Gaflar (güvenlik)
Gizli form alanlarını kimse göremez Rahatlıkla görütülenebilir Rahatlıkla değiştirilebilir Rahatlıkla yeni form alanları eklenebilir
Kaynak kodunu kim okur ki? Sizce?
![Page 20: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/20.jpg)
Web Teknolojisi Modeli
Kullanıcı Hizmetleri İş Hizmetleri
Veri Hizmetleri
![Page 21: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/21.jpg)
Web Teknolojisi Modeli
Kullanıcı Arayüzü İş Mantığı
Veritabanı
![Page 22: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/22.jpg)
Web Teknolojisi Modeli
Kullanıcı ArayüzüVIEW
İş MantığıCONTROLLER
VeritabanıMODEL
![Page 23: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/23.jpg)
Web Teknolojisi Modeli
Kullanıcı ArayüzüVIEW
Görünüm (biçem)CSS
İşlev JavaScript (betik)
(AJAX)
SunumXHTML
![Page 24: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/24.jpg)
Sunum, Görünüm ve İşlev (genelde olan)
tek bir HTML dosyası
![Page 25: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/25.jpg)
Sunum, Görünüm ve İşlev (olması gereken)
cssjs
xhtml
![Page 26: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/26.jpg)
Sunum, Görünüm ve İşlev
![Page 27: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/27.jpg)
Uygulama Mimarisi Gafları
Kullan-At Düşüncesi geçici çözüm geçici prototip günü kurtarmak
Halının Altına Süpürmek Kod spagethisi
Sil baştan başlamak...
![Page 28: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/28.jpg)
Geliştirme Ortamı
Her geliştiricinin kendi oyun alanı olsun (sandbox)
Uygulamanızı Düzenli Olarak Gözden Geçirin Pre-review / Internal Auditing
Bir Sürüm Kontrol Sistemi Kullanın CVS Subversion
![Page 29: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/29.jpg)
Web Teknolojisinin Hayat Çizgisi
![Page 30: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/30.jpg)
Web Teknolojisinin Hayat Çizgisi
Yararlı Bir Şeyler Üretin!
![Page 31: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/31.jpg)
Sık Yapılan Gaflar
Yazılım Geliştirici Gafları Kontrolsüz büyüyen kod kalabalığı “yeniden kullanılırlık”? O da neymiş? Dokümantasyon eksikliği Önce ateş edip sonra soru sormak Duvardaki sinek için roket atar kullanmak
![Page 32: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/32.jpg)
Performans Önemlidir
8 Saniye Kuralı Birinci günden planlamaya başlayın İşlevsellik ve performans arasında denge kurun Pes etmeyin Az aslında “çok”tur
![Page 33: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/33.jpg)
Performans
Bazen kuralları çiğnemek gerekebilir Algılanan performansı arttırmaya çalışın Yapabiliyorsanız hile yapın
![Page 34: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/34.jpg)
Kod Yapısı
Sürdürülebilen (maintainability) Ölçeklenebilen (scalability) Değerlendirilebilen (auditability)
![Page 35: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/35.jpg)
Veritabanı
Veritabanınızı normalize edin (3rd normal form) Her zaman uygun veri tiplerini kullanın SQL Injection saldırılarına dikkat edin Verilerinizi düzenli olarak gözden geçirin
![Page 36: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/36.jpg)
Sık Yapılan Gaflar
kopyala / yapıştır sağını solunu değiştir çalışacağına inan / dua et üstünkörü bir test et <çalışıyor mu ?>
EVET çalışıyorsa elleme! HAYIR
![Page 37: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/37.jpg)
Bir Framework Kullanmalı mıyım? framework kullanmak
Uygulama geliştirmeyi hızlandırır Güvenilir / Test edilmiş bir yapı
... ya da framework kullanmamak Öğrenme eğrisi Kontrol
![Page 38: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/38.jpg)
Söz Gider, Yazı Kalır
Uygulama Gereksinim Dokümanı (Functional Specification)
Gizlilik Notu Giriş Kullanıcı Senaryoları Sistem Analizi Son-kullanıcı Görevleri Yönetici Görevleri Diğer Gereksinimler (non functional requirements)
![Page 39: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/39.jpg)
Mutlaka Yapın
Sürüm Kontrol Sistemi Kullanın Tek kişi olsanız bile!
Önce varolan hataları düzeltin Sistem Kurulumu (build) işlemini günlük
olarak yapın Bir hata veri bankanız olsun Güncel bir iş takviminiz olsun Sakin bir çalışma ortamınız olsun
![Page 40: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/40.jpg)
Az Aslında Gerçekten Çok mudur? Kullanıcı ne yapmak istiyor? Bu özelliği kaldırmak
Kullanıcının bu işini kolaylaştıracak mı? Uygulamanın kullanılırlığını nasıl etkiliyor?
Bu özellik “olması beklenen” bir şey mi? Bu özelliğin varlığı kullanıcıları mutlu eder mi? Bu özelliğin eksik olması kullanıcıları rahatsız
eder mi?
![Page 41: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/41.jpg)
Bir Web Uygulamasını Yönetmek Sihirli Kelime: “Organize Olun” Projenizi Planlayın Gerçekçi bir Takviminiz Olsun Proje Yönetim Araçlarından Yararlanın
Basecamp (basecamphq.com) Zoho Projects (projects.zoho.com) Free Mind (freemind.sourceforge.net) Open Workbench (openworkbench.org)
![Page 42: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/42.jpg)
Öncelikleri Belirlemek (yönetim) Görünür Değer Ekip Üretkenliği Çelişki / Uyum (vay be!) / (aslında gerçekte yapılan iş)
![Page 43: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/43.jpg)
Sık Yapılan Gaflar
Yönetim Gafları “Bir An Önce Büyüyelim!” Sendromu “Bir An Önce Herkes Duysun Bizi” Sendromu “Hazır Olunca Yayınlarız!” Sendromu
![Page 44: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/44.jpg)
Mutlaka Yapın
Vizyon sahibi bir diktatör olun
Uygulamanız varsayılan haliyle kullanılır olsun Çoğu kullanıcı ek özelliklere dokunmayacaktır bile
Görev odaklı düşünün
Mutlaka test edin
![Page 45: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/45.jpg)
Mutlaka Test Edin
Genel Unit Test Integration Test System Test
Uygulamaya Özel Güvenlik Testleri Performans, Yük ve Stres Testleri XHTML / CSS Doğrulaması Erişilirlik Testleri Kullanılırlık Testleri
![Page 46: Web İçin Teknoloji Geliştirmek](https://reader030.fdocuments.net/reader030/viewer/2022013111/558a387fd8b42ab91d8b45ee/html5/thumbnails/46.jpg)
Teşekkürler
Sorularınız?