Skip to content

39. Sonuç

Bu belgede yapılan çalışmaları özetleyelim:

Bölüm
Dosya
İçindekiler
   
 
Dersin Tanıtımı
 
Çalışma Ortamının Kurulumu
[bases]
Python dilinin temelleri – dil yapıları – veri türleri – fonksiyonlar – konsol çıktısı – biçimlendirme dizeleri – tür dönüştürme – listeler – sözlükler – düzenli ifadeler
[strings]
Dizgi gösterimi – <str> sınıfının yöntemleri – UTF-8'te dizgilerin kodlanması / kodunun çözülmesi
[exceptions]
İstisna yönetimi
[fonctions]
Değişkenlerin kapsamı – parametre aktarım yöntemi – modüllerin kullanımı – Python Yolu – adlandırılmış parametreler – özyinelemeli işlevler
[fichiers]
Metin dosyasını okuma/yazma – UTF-8 ile kodlanmış dosyaların yönetimi – jSON dosyalarının yönetimi
[impots/v01]
Uygulama alıştırmasının 1. versiyonu, gelir vergisi hesaplaması. Uygulama 18 versiyona ayrılmıştır – 1. versiyon, prosedürel bir çözümü uygulamaktadır
[imports]
Modüllerin içe aktarılması yoluyla bir uygulamanın bağımlılıklarının yönetimi – bir bağımlılık yönetimi yöntemi sunulmaktadır – bu yöntem belgenin tamamında kullanılmaktadır – Python Yolu yönetimi
[impots/v02]
Uygulamanın 2. sürümü, yapılandırmadaki tüm sabitleri tek bir yapılandırma dosyasında toplayarak 1. sürümü devralır
[impots/v03]
Uygulamanın 3. sürümü, bir modülde kapsüllenmiş işlevleri kullanarak 2. sürümü devralır – bağımlılık yönetimi yapılandırma yoluyla yapılır – vergi hesaplaması için gerekli verileri okumak ve hesaplama sonuçlarını yazmak üzere jSON dosyasının eklenmesi
[classes/01]
Sınıflar – miras – yöntemler ve özellikler – getter / setter – oluşturucu – özellik [__dict__]
[classes/02]
Belgenin geri kalanında kullanılan [BaseEntity] ve [MyException] sınıflarının tanıtımı – [BaseEntity], nesne / sözlük dönüşümlerini kolaylaştırır
[troiscouches]
Katmanlı mimari ve arayüzlerle programlama. Bu bölüm, belgenin geri kalanında kullanılan programlama yöntemlerini tanıtmaktadır
[impots/v04]
Uygulamanın 4. sürümü – bu sürüm, katmanlı mimari, arayüzlerle programlama ve [BaseEntity] ile [MyException] sınıflarından türetilen sınıfların kullanımıyla bir çözüm sunar.
[databases/mysql]
SGBD'in kurulumu MySQL – veritabanına bağlanma – tablo oluşturma – komutların yürütülmesi SQL SELECT, UPDATE, DELETE, INSERT – işlem – parametreli sorgular SQL
[databases/postgresql]
SGBD'in kurulumu PostgreSQL – veritabanına bağlanma – tablo oluşturma – komutların yürütülmesi SQL SELECT, UPDATE, DELETE, INSERT – işlem – parametreli sorgular SQL
[databases/anysgbd]
SGBD'ten bağımsız kod yazma
[databases/sqlalchemy]
ORM (Nesne-İlişkisel Eşleştirici) SqlAlchemy – bir ORM, farklı SGBD - sınıf / tablo eşleme SQL – tablo görüntü sınıfları üzerinde işlemler SQL
[impots/v05]
Vergi hesaplama uygulamasının 5. sürümü – 04 sürümünün katmanlı mimarisinin veORM SqlAlchemy ile SGBD MySQL ve PostgreSQL üzerinde çalışmak
[inet]
İnternet programlama – TCP / IP protokolü (Aktarım Kontrol Protokolü / İnternet Protokolü) – HTTP (HyperText Aktarım Protokolü) – SMTP (Basit Posta Aktarım Protokolü) – POP (Posta Ofisi Protokolü) – IMAP (İnternet Mesaj Erişim Protokolü)
[flask]
Flask web çerçevesi ile web hizmetleri – bir sayfanın görüntülenmesi HTML – web hizmeti jSON – istekler GET ve POST – bir web oturumunun yönetimi
[impots/http-servers/01]
[impots/http-clients/01]
Uygulama alıştırmasının 6. sürümü - Çok katmanlı mimariye sahip bir vergi hesaplama web hizmeti (jSON) oluşturma - Bu sunucu için çok katmanlı mimariye sahip bir web istemcisi yazma – istemci/sunucu programlama – [requests] modülünün kullanımı
[impots/http-servers/02]
[impots/http-clients/02]
Uygulamanın 7. sürümü – 6. sürümün geliştirilmiş hali: istemci ve sunucu çok iş parçacıklıdır – istemci/sunucu iletişimini günlüğe kaydetmek için [Logger] yardımcı programı – uygulama yöneticisine e-posta göndermek için [SendMail]
[impots/http-servers/03]
[impots/http-clients/03]
Uygulama alıştırmasının 8. sürümü – 7. sürüm, oturum kullanımıyla geliştirilmiştir
[xml]
XML modülüyle yönetim – [xmltodict]
[impots/http-servers/04]
[impots/http-clients/04]
Uygulama alıştırmasının 9. sürümü – 8. sürüm, XML'te istemci/sunucu iletişimi sağlayacak şekilde değiştirilmiştir;
[impots/http-servers/05]
[impots/http-clients/05]
Uygulama alıştırmasının 10. sürümü – N vergi mükellefini N istekle işlemek yerine GET, tek bir istek kullanılır POST ve N vergi mükellefi POST'in gövdesinde yer alır
[impots/http-servers/06]
[impots/http-clients/06]
Uygulama alıştırmasının 11. sürümü – uygulamanın istemci/sunucu mimarisi değiştirilmiştir: [métier] katmanı sunucudan istemciye geçmiştir
[impots/http-servers/07]
Uygulama alıştırmasının 12. sürümü – bu sürüm, müşterinin talebine göre MVC (Model – View – Denetleyici) bir sunucu uyguluyor; bu sunucu, istemcinin talebine göre jSON, XML ve HTML'i ayırt etmeden sunuyor. Bu bölümde, sunucunun jSON ve XML sürümleri uygulanmaktadır
[impots/http-clients/07]
Sürüm 12'deki MVC sunucusunun jSON ve XML istemcilerinin uygulanması
[impots/http-servers/07]
Sürüm 12'deki HTML sunucusunun kurulumu – CSS Bootstrap çerçevesinin kullanımı –
[impots/http-servers/08]
Uygulama alıştırmasının 13. sürümü – 12. sürüm kodunun yeniden düzenlenmesi – [flask_session] modülü ve bir Redis sunucusu ile oturum yönetimi – şifrelenmiş şifrelerin kullanımı
[impots/http-servers/09]
[impots/http-clients/09]
Uygulama alıştırmasının 14. sürümü – URL'in CSRF jetonu ile uygulanması (Cross Site Request Forgery)
[impots/http-servers/10]
Uygulama alıştırmasının 15. sürümü – iki tür eylemi yönetmek için 14. sürümün kodunun yeniden düzenlenmesi: ASV (Action Show View), yalnızca sunucunun durumunu değiştirmeden bir görünümü görüntülemek için kullanılır; ADS (Do Something Eylemi), sunucunun durumunu değiştiren bir eylem gerçekleştirir – bu eylemlerin tümü, ASV eylemine bir yönlendirme ile sona erer – bu, istemci tarayıcısındaki sayfa yenilemelerini doğru bir şekilde yönetmeyi sağlar
[impots/http-servers/11]
Uygulamanın 16. sürümü – önekli URL eylemlerinin yönetimi
[impots/http-servers/12]
Uygulamanın 17. sürümü – 16. sürümün Apache / Windows sunucusuna taşınması
[impots/http-servers/13]
Uygulamanın 18. sürümü – 17. sürümdeki bir hatayı düzeltir

Vergi hesaplama istemci/sunucu uygulamaları aşağıdaki mimariyi uygulamıştır:

Image

Yukarıdaki [web] katmanı, MVC mimarisiyle uygulanmıştır:

Image

Belgenin içeriği oldukça yoğun. Belgeyi sonuna kadar okuyan okuyucu, Python / Flask ile MVC web programlama konusunda iyi bir genel bakış elde edecek ve bunun ötesinde, diğer dillerde MVC web programlama konusunda da iyi bir genel bakış kazanacaktır.

Flask çerçeve hakkında ek bilgiler, yazar Miguel Grinberg’in [https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world] adlı belgesinde bulunabilir. Kursunun bazı bölümlerini okudum ve bunlar bana çok öğretici geldi. Yazar, bu belgede ele alınmayan birçok kavramı ele almaktadır.