Python Django

Python django avantajları
- açık kaynak kodlu oluşu.
- kolay syntax’a sahip oluşu
- MVC dediğimiz yazılım mimarisidir. Kullanıcı arayüzünü (view), işlenen veriyi (model) ve de arayüz ile veri arasındaki işlemleri (controller) birbirinden ayıran bir yapıdır. Bu sayede planlı bir şekilde proje geliştirilebilir. Projenin ileri dönemlerinde arayüzde bir değişiklik yapılacağı zaman hızlı ve diğer yapıları etkilemeyen bir düzeltme imkanı sağlayacaktır.
- Site içtersinde yüksek kullanıcı trafiğini kaldırır.
- ORM dediğiz kavram programda bulunan objeler ve de veri tabanı ile arasındaki iletişim köprüsüdür.
- Middleware dediğimiz ara katman sayesinde tekrar eden işlemleri üstlenen, amaca yönelik görevleri gerçekleştiren çözümlerden biridir. Bu bize zaman ve maliyet kaybını önler. Örneğin bir kullanıcı web sitesine girdi bir ürünü sepete eklemek istiyor ama sepete eklemek için kullanıcının login olması beklenmektedir. Tamda burada Middleware devreye girip işlemi yapmadan önce kullanıcı login olup olmadığını kontrol eden ara katman yazılımıdır.
- Rapid Application Development kavramı ile birlikte detaya girmeden ürünü sunmaya amaçlar. Bu sayede proje kolay bir hale gelir.
- DRY (Don’t Repeat Yourself) mantığı ile kod tekrarını önler.
- Güvenlikle ile sağlam özellikleri var.
- XSS Koruması:İlk olarak, Django kendinden özellikle XSS (Cross-Site Scripting) saldırılarına karşı korunmasıyla tanınır. Bu tür saldırılara karşı Django'nun sağladığı önlemler, yetkisiz kodların kullanıcıların tarayıcılarında çalıştırılmasını engeller ve uygulamanın güvenliğini artırır.
CSRF Koruması: Django, CSRF (Cross-Site Request Forgery) korumasını da bileşenlerine entegre etmiştir. Bu koruma sayesinde, kötü amaçlı üçüncü taraf sitelerden gelen yetkisiz içerik değişikliği talepleri önlenebilir.
SQL Enjeksiyon Koruması: Django, SQL enjeksiyonu gibi bilinen veritabanı saldırılarına karşı da koruma sağlar. Django, veritabanı ile yapılan haberleşmede otomatik olarak parametrelerin uygun şekilde kaçışının yapılmasını sağlar ve böylece güvenlik riskleri maksimum düzeyde azalır. Clickjacking Koruması: Django'nun sunduğu bir diğer güvenlik önlemi ise Clickjacking korumasıdır. Bu koruma, kodları kullanarak bir web sayfasının başkaları tarafından görüntülenmesini engeller ve bu sayede zararlı yazılımın yayılmasının önüne geçilir.
Güvenli Şifre Yönetimi: Django, kullanıcı şifrelerinin güvenli bir şekilde saklanmasına yardımcı olur. Şifrelerin saklanması ve doğrulanması için güçlü kriptografik yöntemler kullanan Django, böylece kullanıcıların hassas bilgilerinin korunmasına önemli ölçüde katkıda bulunur.
- *Hem küçük Hemde büyük ölçekli projelerde kullanabilir.
Python django Dezavantajları
- Tr dahil çok community çok yaygın değil.
- *! Hafıza sıkıntısı tam olarak anlamadım ama Veritabanı modellerinizi, görünümü oluşturan fonksiyonlar birbirinden ayırır. Bu yüzden, bu parçalar arasında bir sürü değişken aktarımı yapılması gerekir. Sonuç olarak, aktarımların her biri çok fazla hafıza kullanımına neden olur. Her dosyada, import yapmak, hafıza kullanımını artırır.
- Öğrenmesi zaman alır
- Performans sorunu: Django, diğer bazı hafif web çatılarına kıyasla daha yavaş olabilir. Özellikle çok hızlı yanıt sürelerine ihtiyaç duyan projelerde performans sorunları ortaya çıkabilir. Bununla birlikte, Django'nun performansını artırmak için çeşitli optimizasyon teknikleri ve araçları bulunmaktadır.
Django’yu kullanan örnek popüler web siteleri:
- Disqus.
- Instagram.
- Knight Foundation.
- MacArthur Foundation.
- Mozilla.
- National Geographic.
- Open Knowledge Foundation. Pinterest.
Member discussion