İçeriğe geç →

Yusuf Karaçin Yazılar

Python (Django) ile Test Odaklı Geliştirme

True story…

Özet

Test odaklı geliştirme (Test Driven Development) konusuna ilgi duyuyor ve kaynak arıyorsanız, son zamanlarda keşfettiğim ve beğendiğim Test-Driven Development with Python: Obey the Testing Goat: Using Django, Selenium, and JavaScript kitabını tavsiye ederim. Kitabı okuması tamamen ücretsiz. Kitabın haklarını kötüye kullanmamak adına, yazarının da onayını alarak, ilk üç kısmını Türkçe olarak geniş şekilde özetledim. Kitap sadece Python (Django) üzerinden TDD disiplini anlatılmıyor. Okurken bir çok faydalı bilgi edineceksiniz. Bu güzel kitabı ücretsiz olarak sunan Harry’e buradan da teşekkürler (Thanks Harry 😀 )

  1. Python (Django) ile Test Odaklı Geliştirme (TDD) – 1
  2. Python (Django) ile Test Odaklı Geliştirme (TDD) – 2
  3. Python (Django) ile Test Odaklı Geliştirme (TDD) – 3

İbretlik Bir Hikaye

Belki sizin de başınıza gelmiştir. Bir ortamda komik bir hikaye anlatılır ve siz de dahil herkes gülerken, siz içinizden ağlıyorsunuzdur. Çünkü o hikayedeki baş kahraman sizsinizdir ve aslında insanlar size gülüyordur. Çaktırmamak için gülüyormuş gibi yaparsınız siz de. İşte yazının başındaki caps benim için böyle bir şey…

Yorum Bırak

GraphQL – Hızlı Başlangıç

Bu yazıyı okuduğunuza göre siz de benim gibi GraphQL’i merak edip, öğrenmeye çalışıyorsunuz demektir. Bu yazıda Github’ın sunduğu GraphQL API’ı üzerinden hızlı bir tanışma yapmayı planlıyorum. Yapacağım işlemler Github API’ına istekler göndermekten ibaret olacak ama genel olarak  GraphQL’i tanımak açısından faydalı olacağını düşünüyorum. Başka bir zamanda da Django ile kendi GraphQL API servisimi oluşturmayı deneyeceğim.

Kısaca bahsetmek gerekirse GraphQL, Facebook tarafından 2012 yılında mobil uygulamalarında veri alışverişini kolaylaştırmak için oluşturulmuş bir  “query language”.  Yani dil bağımsız olarak kendi graph servislerimizi yazabiliriz. 2015 yılında ise proje açık kaynak olarak paylaşıldı. Şu anda kullananlar arasında Github, Shopify, Coursera, Pinterest var.

Fazla uzatmadan GitHub GraphQL API’yı kullanamaya başlayalım. Giriş yaptıktan sonra ilk örnek sorgumuz bizim için hazırlanmış durumda zaten;

Yorum Bırak

Digital Ocean’da Django Projeleri Oluşturmak (Ajenti + Nginx + Gunicorn + Postgres)

Güncelleme: Eğer Django öğrenmeye yeni başladıysanız ve, benim yazıyı yazdığım zamanki gibi, uygulamayı sunucuya yükleme, sunucuyu hazırlama gibi konularda hiç bilginiz yoksa okumaya devam edebilirsiniz. Yinede ısrarla başka kaynaklardan da araştırma yapmanızı tavsiye ederim.

Eğer sizde benim gibi bir proje üzerinde çalışırken localhost yerine gerçek bir server üzerinde projenizi test etmeyi seviyorsanız mutlaka Digital Ocean‘ı denemelisiniz. Eğer akademik bir eposta hesabınız varsa (edu.tr) Digital Ocean‘ın $100’lık hediyesini kaçırmamanızı tavsiye ederim.

Yukarıda verdiğim Digital Ocean linkleri ile ya da buraya tıklayarak üye olursanız, $10 daha hediye alarak kendinize ait serverler kurmaya başlayabilirsiniz.

Bu yazıda anlatacaklarım:

  • Nginx ve Gunicorn kurulumu
  • Django projemizi kurup, yayına almak
  • Ajenti + Ajenti V kurulumu

Bu işlemlerin çoğunu Digital Ocean‘ın sunduğu dokümantasyonlardaki adımları izleyerek ve googlelayarak öğrendim ve paylaşmak istedim. Şu anda Ubuntu 14.04 serverım üzerinde Django uygulamalarım mevcut ve sorunsuz şekilde çalışıyor.

Başlayalım

Yorum Bırak

Python İle Masaüstü Uygulama Geliştirme – 4

Bu bölüme kadar epeyce bir şey öğrendik ve basit bir indirme yöneticisi yazdık. Şimdi geliştirdiğimiz bu programı biraz daha işlevsel hale getirelim.

  • İndirme işleminin başarılı ya başarısız olduğunu kullanıcıya bildiren bir mesaj gösterebiliriz.
  • Ayrıca indirme konumunu elle yazmak yerine, kullanıcıya bir dosya yöneticisi penceresi sunarak daha kullanıcı dostu bir şekilde bu işlemin gerçekleşmesini sağlayabiliriz.

İlk olarak geri bildirim mesajlarıyla başlayalım.

Yorum Bırak

Python İle Masaüstü Uygulama Geliştirme – 2

Bu bölümde ufak bir uygulamaya yapmaya başlıyoruz. İlk önce arayüzü tasarlayarak işe koyulacağız. Yapmak istediğimiz program, bir indirme yöneticisi.

Line edit’e girilen URL’den bir dosya indirmeye çalışacağız. Dosyanın indirme durumu progress bar ile kullanıcıya bildirilecek. Ayrıca kullanıcı dosyayı indireceği konumu seçebilecek ve indirme tamamlandığı zaman kullanıcıya bir mesaj gösterilecek. Hata durumlarında da aynı şekilde kullanıcıya dönüt verilecek. 

Yorum Bırak

Python İle Masaüstü Uygulama Geliştirme – 1

Python ile masaüstü uygulaması nasıl geliştirilirmiş öğrenmek için hazırım ve hemen başlıyorum. Benimle beraber bu eğitim serisini takip edecek olan varsa en azından bir programlama dilinde altyapınız ve az çok Python’un dil kurallarını bilmeniz gerek. Çünkü bunlara değinmeyeceğim.

Bu eğitim setinde ana kaynağım Python Desktop Application Development

Gerekli Araçlar

Ayrıca Linux Mint üzerinde çalışıyorum.

4 Yorum