28 Temmuz 2013 Pazar

HAProxy(High Available Proxy) ve Yapılandırma Hakkında

 Öncelikle yapılandırma nedir bundan bahsedelim. Kelime anlamı düzenlemek, daha iyi hale getirmek, iyileştirmektir.

Temel yapılandırma, bir yazılımın kurulduktan sonra bileşenlerinin uygun şekilde ayarlanması, düzenlenmesi anlamındadır.

Proxy sunucusu; ağdaki diğer bilgisayarlara internet erişim servisi sağlayan bir bilgisayardır.

Haproxy ise  siteler veya sunucular için açık kaynaklı, yüksek performanslı bir tcp/http load balancer.(yük dengeleyici). Yani birden çok sunucu arasında istekleri yayarak web siteleri ve hizmetlerin performansını arttırmak için kullanılır.Ayrıca C programlama dili ile yazılmış, işlemci ve bellek kullanımı açısından hızlı, verimli, istikrarlı bir üne de sahip.

Bazı özellikleri:

Çerez tabanlı kalıcılık

İçerik tabanlı anahtarlama

SSL off-loading

Yük korumalı gelişmiş trafik düzenleme

Otomatik yük devretme

Regex tabanlı çalışma zamanı başlık kontrolü

Web tabanlı raporlama ve yönetim arayüzü

Gelişmiş sorun giderme uygulamaları ve / veya ağlara yardımcı olmak için giriş

vb.





 

 


Flask Nedir ? Nasıl Kullanılır ?


Flask; Python programlama dili ile yazılmış, web uygulamaları yazmak için kullanılan bir microframework. Yani çekirdeği basit ve geliştirilebilir.

Bir webapi yazarken framework ile zaman harcamak istemiyorsak, microframework kullanabiliriz.

Flask kurulumu oldukça basit, zaten depoda var. "pip install flask" , "apt-get install flask" ya da "easy_install flask" komutları ile artık Flask'ı kullanabiliriz.

Küçük bir örnekle Flask'ı daha iyi anlayalım.

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()


Hello.py dosyasına yukarıdaki küçük kod parçasını yazıyoruz. python hello.py diyerek kodu çalıştırıyoruz. Bakıldığında da direk anlaşılan bir uygulama zaten.

Yazılan uygulamalar 5000.portta çalışıyor.

Şimdik basit bir kişisel blog sayfası nasıl yazılır buna bakalım.
Kodlara buradan ulaşabilirsiniz.

Öncelikle, proje dizinini ve içine html dosyaları için 'template' , css kalıplarının bulunması için de 'static' dizinlerini oluşturalım.

/flask
   /template
   /static

 Sonra, veritabanı için schema.sql dosyasında bir şema oluşturalım. Örnekte id, title, text diye 3 başlık var.

Sonraki adımda, uygulamaların olacağı flaskr.py dosyasını oluşturuyoruz. Buraya flaskı import ettikten sonra ayar dosyaları için küçük bir yapılandırma yazıyoruz.

Daha sonra veritabanında şemayı oluşturmak için aşağıdaki komutu kullanıyoruz.

sqlite3 /tmp/flaskr.db < schema.sql 

Veritabanını ilklendirmek için flaskr.py'ye "from contextlib import closing" fonksiyonunu ekleyip init_db işlevini yazıyoruz. Konsoldan Python'u çalıştırıp init_db yi import ettiğimizde çalışıyor olduğunu görürüz.

>>> from flaskr import init_db
>>> init_db()
  


Artık veritabanı sorgu uygulamaları ve view uygulamalarını yazabiliriz. Uygulamalar için @app.route diyerek portta hangi yol ile çalışacağını yazıyoruz.
@app.route(/yol) gibi. Çalışacak fonksiyonu ve döndüreceği değeri de ekleyip uygulamayı tamamlayabiliriz.

Son olarak da html sayfalarını oluşturup python flaskr.py diyerek 5000.porttan blogumuzu görebiliriz.



2 Temmuz 2013 Salı

Tercih Yapanlar İçin Bilgisayar Mühendisliği Hakkında

Merhabalar ,

Şu sıralar tercihlerle sınanan çokça üniversite adayı arkadaş var. Bir yardımı olur diyerek bölümüm ve Çanakkale 18 Mart Üniversitesi hakkında ben de birşeyler yazayım.

Öncelikle ben ÇOMÜ'ye nasıl geldim onu anlatayım.

Günlerce internetten yığınla okula, bölümlerin hocalarına baktım. İsteğim mühendislikti ama "ne olursa yaparım, severim ben" diyerek endüstri, makina, elektrik-elektronik gibi çeşitli mühendislikler yazmıştım. Bu aslında tam olarak ne istediğimi bilmediğimi gösterir. Dershane hocam da böyle demişti. "ne istediğine karar ver puanını iyi kullanalım öyle tercihlerini yapalım". Günlerimi verip hazırladığım tercih kağıdı boşa gidince sinir oldum tabi. Ne istediğini bilmek önemli. Nerede hangi mühendisliği okumak istiyorsam yazıp tercihlerimi kendim yapmıştım. Tercih sonucum Çanakkale 18 Mart Üniversitesi Bilgisayar Mühendisiği olmuştu.

İyi ki de burası olmuş diyebilirim. Çanakkale, üniversite eğitimi için uygun bir yer. Bölümü de okulu da seviyorum. Ama benim gibi saçmalıklar yapmayın :)

Gerçekten ne istediğinize iyi karar verin. İleride yıllarca o işi yapacaksınız çünkü. Severek yapmanız çok önemli. Okuduğunuz bölümden memnun olmayıp yeniden sınava girebilirsiniz tabi. Ama zorlukları olacaktır.

Bölüm hakkında çok birşey bilmeden gittim okula. Ama 2 yılda şunu öğrendim. Derste hocaların anlattığının üzerine siz de birşeyler koymalısınız. Bu bölüm bunu gerektiriyor çünkü. Teknoloji çağındayız ve her an yeni, kullanışlı şeyler üretiliyor. Bunun bir parçası da bilgisayar mühendisliği. Hatta büyük bir parçası. Bu nedenle bu bölümü tercih edecekseniz güncel olmalısınız. Bolca okumalısınız. Yabancı dil de çok önemli. Anlayacağınız kendinizi hep geliştirmeniz gerekiyor.

Okulu da anlatayım biraz. Çomü'nün bikaç yerde kampüsü var. Sitesinden de görebilirsiniz zaten :) Mühendislik Fakültesi Terzioğlu'nda. Manzarası güzeldir. Aktivite olarak da zamanını dolu dolu geçirmek isteyen birisi için yeterince aktivite olduğunu söyleyebilirim.

Sorunuz olursa yardımcı olmaya çalışırım.İyi bir tercih dönemi geçirmeniz dileğiyle..