Python

Bir önceki yazımda Amazon’un bulut bilişim servislerinden bahsetmiştim. Bu yazıda ise bir diğer bulut bilişim hizmeti sağlayıcısı olan DigitalOcean[1]’dan bahsedeceğim. Oldukça basit ve anlaşılır bir web arayüzünden istediğiniz gibi işlemler yapabilirsiniz ancak daha otomatize şekilde çalışmak isterseniz DigitalOcean API’ye elinizi bulaştırmanız gerekmektedir. DO bir sure önce API V2’yi duyursa da hala API V1’e destek veriyor. Bu yazıda inceleyeceğimiz betik API V1 üzerinde çalışmaktadır. API’ye http istekleri yapmak için Python’da requests [2] kütüphanesini kullanmayı uygun buldum.

İlk olarak API’ye bize yeni bir makine yaratması için yapacağımız isteği oluşturan fonksiyonu inceleyelim.

Okumaya devam edin...

Amazon EC2 (Amazon Elastic Compute Cloud) boyutlandırılabilir işlem kapasitesi sağlayan, bulut üzerinde çalışan bir web servisidir. EC2’nin temel amacı geliştiricilerin daha kolay web ölçekli bulut bilişim yapabilmesi olarak ifade edilmiş.[1] Bu yazıda, EC2 üzerinde aynı anda birden çok makine ayağa kaldırmak için kullandığım koddan bir parça anlatacağım. AWS (Amazon Web Service) web arayüzünden dilediğiniz yapılandırma ayarlarına sahip makineler oluşturabiliyorsunuz, fakat ben daha otomatik bir şekilde bu işi yapan bir betiğe ihtiyaç duydum ve bunun için “boto” [2] isimli Amazon web servisleri için Python dilinde bir arabirim kullanmanın uygun olduğuna karar verdim. (Yazı ve örnek kod, kurulum ve yetkilendirme kısımlarının yapılmış olduğunu varsaymaktadır.)

Örneği üç parçada ele alırsak, ilk olarak çalıştırmak istediğimiz makinenin gerekli ayarlarını göreceğiz.

Okumaya devam edin...

Python ile kod yazmak büyük bir avantajdır. Aynı zamanda öğrenilmesi ve kullanılması basit bir dildir. Bu sebeple bu dilde az kod yazarak çok iş yapılabilir. Neredeyse bütün platformlarda çalışması da diğer bir artı yönüdür. Bu dilde oyun geliştirmekte oldukça rahattır.

Pygame Modülü

Python’da oyun geliştirmek için Pygame oyun modülü kullanılabilir. Pygame oyun modülü Python dilini kullanarak kolay ve hızlı bir şekilde oyun geliştirmenizi sağlar. Pygame modülü, video, ses, görüntü gibi birçok medya türünü destekleyen bir arayüz sağlar. Ayrıca klavye,fare, joystick gibi birçok birimlerle arayüzler arası etkileşimi sağlar.

Pygame gücünü SDL kütüphanesinden almaktadır. SDL kütüphanesi C ve Assembly dilinde yazılmış ve birçok optimizasyondan geçmiş oldukça hızlı bir kütüphanedir.  Pygame, C diline göre yaklaşık 20 kat yavaş çalışmasına rağmen çok güçlü bir modüldür. Aynı zamanda Pygame’de geliştirdiğiniz uygulamaları diğer işletim sistemlerinde çok rahat kullanabilirsiniz.

Okumaya devam edin...

Merhaba, bu yazımda deneyimlerimden yola çıkarak Python’da sıklıkla kullandığım veri yapıları ve tiplerinden bahsedeceğim. Bu yapı ve tiplerin içerisinde “liste” (list) ilk sırada gelir, ikinci sırada ise “katar” (string) yer alıyor.

Liste

Listeyi basitçe, köşeli parantez içerisinde virgüllerle ayrılmış elemanlar listesi olarak tanımlamak mümkündür.
liste1 = [1, 4, 9, 16, 25] ve liste2 = ['a', 'b', 'c', 'd'] birer liste örneğidir.
Liste elemanlarının indexlenebilme özelliği bulunur, zaten listeyi bir dizi olarak düşünebiliriz.

l = [1, 34, 274, -89, 0, 5] listesinden -89 elemanını almak için l[3] kullanmak yeterli olacaktır. Konunun daha anlaşılır olması için python terminalinde yaptığım örnekleri ekleyerek devam edeceğim. (Linux veya MacOS X kullanıyorsanız terminale python yazarak python terminaline geçiş yapabilirsiniz.)

Okumaya devam edin...

Python ile kod yazmak ayrı bir zevk…

Herkes kod yazdığı dili sever, över, en iyisi zanneder. En iyisi demiyorum ama Python’da kod yazmak ayrı bir zevk.. Neden? Geliştirme süresi diğer dillere göre daha kısadır.

Daha az matbu (boilerplate) kod

Geliştirme daha hızlıdır, çünkü gavurların ‘boilerplate’ dediği kod pek yok. Türkçe’de buna matbu kod diyebiliriz. Matbu (boilerplate) kod, koda o dilin gereği tekrar tekrar eklediğiniz koddur. Ne gibi mesela? En basitinden Java’dan ve Python’dan “Merhaba Dünya” diyelim.

Java’da:

public class HelloWorld { //Objenin sınıfını tanımlamak için kullandığımız matbu kod
    public static void main(String[] args) { //gene matbu kod
        System.out.println("Merhaba Dünya!");
    }
}

Python’da:

 print("Merhaba Dünya!")
Okumaya devam edin...