Agile Manifesto

Scrum has been used by Google since 2005. Scrum is widely used agile framework. In short Agile can be described with the following manifesto: Individuals and interactions,over,processes and tools Working software,over,comprehensive documentation Customer collaboration,over,contract negotiation Responding to change,over,following a plan Hats off for this manifesto. look at: agilemanifesto.org for details.

Search packages in debian based distros

You are probably familiar with: apt-get install <package-name> command to install new packages to your debian based distro. You can easily search for a package from command line with the following command: apt-cache search <package-name> if you are not completely know package name get little help from grep and pipe (|) combinations. For example if you want to install setup-tools package for python then search can be: apt-cache search python | grep setup Then you can install the package.

KVM Offline Backups

I use KVM in my production servers. But there are some critical questions with KVM usage. Backup process of running virtual machines may be top most question of KVM users. Although, there are many other solutions in the literature, I will discuss more defensive method in this article. Before I move on to details of backing-up VMs, I will first mention the building blocks I used in this method. KVM This is the hypervisor.  It supports live snapshot which is crucial for backup process. Snapshots…

Soket Programlama – 1

İstemci Sunucu Kavramı ve Örnek Tasarımlar Soket programlama IPC (interprocess communication) mimarisinde sıklıkla tercih edilen metotlardandır. Pek çok uygulama bu kavramı kullanmaktadır. En basitinden internet üzerinden oynanan bir tavla uygulaması soket programlama kullanılarak yapılabilir. Soket programlama için temel iki kavram olan istemci ve sunucuyu açıklayalım. İstemciden çok sayıda olabilir. Sunucudan bir tane olacaktır. Aslında bu iki kavram benzetmeyle daha kolay anlaşılabilir. Sunucuyu bakkal dükkanı gibi düşünebiliriz. İstemciyi ise müşteriler. İkinci önemli mevzu ise bir iletişimi istemci başlatır, yani sunucu bekler istemci sunucuya gider. Bir programı…

Soket Programlama – 2

Basit bir Sunucu Yapalım Bu yazımızda basit bir sunucu yazılımı yapacağız. Bunu temel bazı kavramları yeri geldikçe açıklayarak yapalım. Beklentilerinizin aksine malesef bu sunucu multi-threaded değil single threaded olacaktır. Bu yöntemin seçilmesinin sebebi, asıl amaç olan istemci-sunucu kavramına odaklanılması içindir. Multi-threading kavramını başka bir yazımız için planlayıp konumuza dönelim. Soket (socket) nedir? Soket aslında iki ucu boşta olan bir kablo olarak düşünülebilir. Bir bağlantının sağlanması için, bu analoji yapılan kablonun bir ucunun istemciye bir ucunun ise sunucuya bağlı olduğunu düşünecek olursak kablonun her iki uçtaki…

TCP Ne kadar güvenilir – 1

Bu yazımızda kısaca TCP protokolündeki bazı hususları irdeleyeceğiz. TCP’yi okulda öğretilenden biraz daha farklı olarak tecrübelerle aktarmayı düşünüyorum. Muhtemelen TCP denince aklımıza reliable kavramı geliyordur. Ben bu detayların aksine günlük hayatta karşımıza çıkabilecek hatta çıkmış olsa bile bu problemi genellikle bir framework kullandığımız için farketmediğimiz durumları ifade etmeye çalışacağım. Tahmin edileceği gibi bir adet sunucu var, istemci sayısı ise 3 olsun. Uygulamamız ise bir sohbet (chat) uygulaması olsun. Sohbeti gerçekleştiren kişiler biraz agresif karakterli kişiler olsunlar. Öyle kafaları kızınca sohbeti sonlandıran, sizi bloklayan hatta bilgisayarın…

Network Programlama

Giriş: Yeni bir yazı yazmanın zamanı geçiyordu bile. Bu yazımızda istemci tarafını yazalım. İstemci için daha az bilgiye ihtiyacımız var. Bir önceki yazımızda (Soket Programlama – 2) sunucuya bağlanmak için telnet veya netcat programını kullanmıştık. Bu yazımızda kendi istemcimizle sunucumuza bağlanacağız. Sunucumuzun tek mesajlık gücü vardı hatırlarsanız. İstemci Yapalım: Bu işlem için sunucuya bağlanmak için bir sokete ihtiyaç duymaktayız. Soket elde etme işlemi sunucu soketteki gibidir: import socket s =socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((”, 9000)) data =s.recv(1024) print data Bu kod tahmin edilebileceği gibi bir adet TCP…