Diller

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...

Bu yazımda size Asp projesinde google maps kullanarak harita göstermeye çalışacağım. Öncelikle File’dan new-project diyip ASP.NET Web Application’ı seçip projeye isim veriyoruz.

1

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...

Önceki yazımızda cihazların nasıl iletişim kurduğu ve iletişim kurallarından kısaca bahsetmiştik. Şimdi ise “Port Dinleyici” adını verdiğimiz sunucu programını yazmaya başlayacağız.
Her cihazın yönlendirildiği porta bıraktığı sinyalin formatı farklıdır. Bu sinyallerin formatının üreticiden üreticiye değiştiğine değinmiştik. Sinyaller genellikle String dizisi halinde gönderilir. Ve dizi içerisindeki değerler birbirinden ayraçlar ile ayrılır.
Duman dedektörümüzün sunucuya gönderiği sinyalin aşağıdaki dizi olduğunu varsayalım.

Örnek Sinyal : 
1234;1200;28032014;28.4;300;0;0;0;1100;300;50;25 
Parçalanmış Hali : 
1234= Cihaz Tanımlayıcısı 
1200 = Saat 
28032014 = Tarih (GünAyYıl) 
28.4= Sıcaklık 
300= Basınç (Bar) 
0 = Dedektör Açık/Kapalı(1/0) 
0 = Enerji Var/Yok(1/0) 
0 = SD Kart Takılı/Takılı Değil (1/0) 
1100 = Basınç Set Değeri (Yüksek) 
300 = Basınç Set Değeri (Düşük) 
50=Sıcaklık Set değeri (Yüksek) 
25 =Sıcaklık Set değeri (Düşük) 

; = Parçalama Ayıracı 
Okumaya devam edin...

Teknolojinin başdöndürücü ilerleyişi sürerken cihazların birbiriyle haberleşmesi , veri iletişimi ve cihaz(Client) – sunucu(Server) etkileşimli yazılımların ön plana çıkması kaçınılmaz bi hal aldı. Bu yazılımlarla birlikte cihazlardan gelen verilerin arayüzden istatistiki veriler ve raporlara dönüştürülmesi sağlanmış ve her sektöre hitap eden cihaz – sunucu etkileşimli programlar ortaya çıkmıştır.

Peki ama nedir bu cihaz- sunucu etkileşimi?

Okumaya devam edin...

JPA,Oracle tarafından desteklenen,bir veritabanındaki büyük ölçüde veriyi kalıcı olarak depolayan sınıflar ve metotların bir koleksiyonudur. İlişkisel nesne yönetimi(veritabanı) için kod yazım yükünü azaltır. Bunu JPA Provider çatısı sağlar. Peki neden veritabanı ile nesne arasındaki çevirimler bu kadar uğraştırıcıdır? Öncelikli olarak veritabanında ki veriler tablo formatında tutulurken, nesneler birbirlerine bağlanmış grafik formatında gösterilir. Aşağıdaki nedenlerden dolayı bu iki tür arasında uyumsuzluklar oluşmaktadır.

Okumaya devam edin...

ORM; bir ilişkisel veritabanıyla nesneyi bağlamak için metadata (veri hakkında veri, üstbilgi) tanımlayan programlama tekniğidir. Nesne yani kod Java, C# gibi nesne yönelimli programlama(oop) dillerinde yazılır. ORM; ilişkisel veritabanı ve oop arasındaki veri dönüşümünü gerçekleştirir.Yüzeysel olarak bakıcak olursak ORM, yazılım ile veritabanı arasında bir köprü görevi görür.

Okumaya devam edin...

Kaldığımız yerden hızla devam ediyoruz. Önceki yazımda Linq teknolojisinden ve faydalarından bahsetmiştim. Şimdi de Linq ile program yazmaya başlayacağız. Öncelikle Visual Studio 2010’da C# projesi açıyorum ve bu projeye linq to sql class’ını eklemek için aşağıdaki gerekli işlemleri yapıyorum.

Okumaya devam edin…