Distributed işlemler konusunu incelerken bir verinin nodelar üzerine nasıl dağıtıldığını gösteren güzel bir kaç algoritma ile karşılaştım.Consistent Hashing mevzusuna girmeden önce bunun temel yöntemini(Basic Hash Function) göstermek istiyorum.Aşağıdaki tabloyu ve elimizde 4 node olduğunu düşünün;

Key Value
1 Value1
2 Value2
3 Value3
4 Value4
5 Value5
6 Value6
7 Value7

 

Yukarıda belirtiğim gibi 4 node üzerine bu verileri yerleştireceğiz, bunun için kullanılan algoritma şu şekilde; hash(k)mod(n) buradaki k->key değeri, n-> değeri ise; node sayısı şimdi algoritmayı tablomuzdaki değerlere uygulayalım. Burada hash fonksiyonundan geçirilen değeri aynısı çıkardım ve mod 4 aldım, sadece göstermek amacıyla.
Read the rest of this entry »

Tags: , , ,

Merhaba, merakla takip ettiğim bir dağıtım. Ayrıntıları sitesinden paylaşarak geçiyorum.

Pisi Linux Masaüstü
Pisi Linux; Pisi tabanlı son Pardus sürümünü temel alan, özgür yazılım topluluğu tarafından geliştirilen, bilgisayar kulanıcılarına kurulum, yapılandırma ve kullanım konusunda kolaylık sağlamaya çalışan, onların temel masaüstü gereksinimlerini karşılamayı amaçlayan, son kullanıcı odaklı bir GNU/Linux dağıtımıdır.

Özellikleri
Son kullanıcı odaklı bir dağıtımdır.
Kullanıcılarına Linux deneyimlerini olabildiğince özgür ve çizgelik arayüz kullanarak yaşamalarını sağlamayı amaçlar.
Devraldığı tasarıları geliştirmeyi, yeni tasarıların gelişmesini sağlayarak özgür yazılım dünyâsına katkıda bulunmayı amaçlar.
Sunucu ya da Kurumsal sürüm çıkarmayı düşünmemektedir.
Şimdilik yalnızca x64 mîmârisini destekler.
1, 2, 3 şeklinde süren bir ana sürüm ve 1.1, 1.2, 1.3 şeklinde süren ara sürüm adlandırılmasını kullanır.
Güncel ve kararlı uygulamalar sunar.
Çalışmalarını özgür örütbağ hizmetlerini kullanarak gerçekleştirir.

http://www.pisilinux.org/indir
http://www.pisilinux.org/pisilinux-nedir-2/

Tags: , , , , ,

Atlassian JIRA 5.0+ kurulumu hakkında bilgi vereceğim. Bugün configuration kısmını merak ettiğim için sunucuma kurmak istedim. Çok zorlanmadan kurdum gerçekten çok güzel ve kolay bir kurulum sunmuşlar.Normalde bu işleri sevmem ama bundan zevk aldım diyelim 🙂

İlk olarak şunu belirtmek istiyorum bu kurulumu Jira 5.0+ versiyonu ve Ubuntu sunucum üstünde gerçekleştirdim.
Database olarak mysql kullandım. Mysql artı olarak kullandığım için jira projesine driverı atmam gerekti. Bunu anlatırken göstereceğim. Şimdi kuruluma başlayalım.

Read the rest of this entry »

Tags: , , , , , , , ,

Merhaba daha önce jersey ile restful web servis nasıl çalıştırılır, görmüştük. Şimdi ki aşama web servisimizden dönen objelerimizi json ile client tarafına cevap dönmesini göstereceğim ilk olarak bu yazıyı okumadan önce Java ile Restful Webservice (Jersey / JAX-RS) yazısını okumanızı tavsiye ederim.

Daha sonra projeyi indirdikten sonra bir kaç jar ekleyeceğiz ve tanım yapacağız.(Jackson Java JSON-processor apisinden yararlanacağız).http://jackson.codehaus.org/

Read the rest of this entry »

Tags: , , , , ,

Spring MVC Kurulum

Merhaba arkadaşlar,

Spring, servlet teknolojisini wrap ederek bu yapıyı çok güzel bir şekilde oturtmuş. MVC pattern bu yazıda anlatılmayacak sadece Spring ile nasıl çalıştırılır, bunu göstermeye çalışacağım.

İlk olarak şunu belirtmek istiyorum, bu yazının sonunda proje halinde download edebileceksiniz.(eclipse için ve gerekli tüm kütüphaneler projenin içinde mevcut sadece Tomcat’e ekleyip çalıştırmanız yeterli.)

Read the rest of this entry »

Tags: , , , , , , , , , , , ,

Merhabalar bu aralar boş zaman edindiğimde okuduğum bir kitabın içeriğini özet bir şekilde paylaşmak istedim. Bölüm bölüm elimden geldiğince aktarmak istiyorum. İlk olarak kitabı paylaşayım Hackers & Painters yazarı Paul Graham. Çok güzel bir biçimde – giriş için söylüyorum – yazılımcılardan bahsetmiş.Ara ara fikirlerimi eklemem sıkıntı olmaz sanırım.

Yazılımdaki para, nispeten genel bir eğilimin bir parçasıdır ve o eğilim de bu kitabın konusudur. İçinde bulunduğumuz çağ, Bilgisayar Çağıdır. Uzay Çağı ve Atom Çağıda olabilirdi, ancak bunlar sadece halkla ilişkiler alanında çalışanlar tarafından icat edilmiş isimlerdir. Bilgisayarların yaşam biçimimiz üzerindeki etkisi uzay yolculuğu ya da nükleer teknolojininkinden çok daha fazladır.

Ne güzel özetlemiş; artık bunun farkına varmamız gerekli, hayatımızın her alanına, her anımıza giren bilgisayar aslında günümüzün çağı. Çok mu tehlikeli çok yaralı sanırım buna sizin kullanım tarzınız karar veriyor olacak.

Read the rest of this entry »

Tags: , , , , ,

Merhaba, Bu iki apinin kıyaslaması aşağıdaki gibidir. Kullanırken bilmemiz gereken apiler. 🙂

SAX

-> Kök üzerinden parse işlemini gerçekleştirir.
-> Bellek üstünde tutulmaz.
-> Bir node ekleyemeyiz veya silemeyiz.
-> Event base bir parserdır.
-> Basit bir apidir.
-> Commentleri bozmaz.
-> Bellek tabanlı olmadığı için DOM dan biraz daha hızlıdır.

DOM

-> Üstünde işlem yapmadan önce XML i belleğe taşır.
-> Belleği daha fazla kullanır.
-> Yeni nodelar ekleyebilir veya silebilirsiniz.
-> Parse işlemini herhangi bir yönde yapabilir.
-> Tree model bir parserdır.
-> Commentleri bozar.
-> SAX dan biraz daha yavaştır. 🙂

Read the rest of this entry »

Tags: , , , , ,

Selamlar, primefaces opensource component suit kurulumu hakkında bir döküman paylaşacağım. Kurulama başlamadan önce offical resmi sitesindeki açıklamayı okuyalım.

PrimeFaces is a lightweight open source component suite for Java Server Faces 2.0 featuring 100+ rich set of JSF components. Additional PrimeFaces Mobile module features a UI kit for developing mobile web applications

Daha ayrtıntılı bilgi için : http://www.primefaces.org ziyaret edebilirsiniz.

Bu suiti kullanmak için sahip olmanız gereken sadece 3 tane jar var bunlar;

  • jsf-api.jar
  • jsf-impl.jar
  • primefaces-3.0.M1.jar

Dökümanın en son kısmında paylaştığım proje dosyasının içinde hepsi mevcuttur. İsterseniz maven kurup depend edin isterseniz manuel olarak elinizle WEB-INF/lib/… altına kütüphanelerinizi kopyalayın.

Read the rest of this entry »

Tags: , , , , ,

Soap tabanlı web servislerin yazılmasının güçlüklerinden dolayı ortaya çıkmış bir mimaridir. 2000 yılında Roy Thomas Fielding’in hazırladığı doktora tezinden tanımlanan yazılım mimarisidir.Genellikle HTTP protokolü ile kullanılır, HTTP protokolünün sunduğu methodlara odaklanmıştır. GET, POST, PUT, DELETE gibi. Bu makalede içerecek konular aşağıdaki gibidir:

1. REST – Representational State Transfer

  • 1.1. Genel açıklama
  • 1.2. HTTP methodları
  • 1.3. RESTFul webservices
  • 1.4. Java, REST and Jersey

2. RESTful Webservice yazmak ve çalıştırmak

  • 2.1. Proje oluşturmak
  • 2.2. Java sınıfı
  • 2.3. Jersey Servlet dispatcher tanımlama
  • 2.4. Rest servisi çalıştırma

İçeriğide gördüğümüze göre başlayalım,

Read the rest of this entry »

Tags: , , , , , , , , , , ,

= Pipernate ile servis sınıfları oluşturmak =

Pipernate yazarken aslında çektiğimiz sıkıntılarada biraz çözüm getirmek için bazı düşüncelerimiz vardı, yaptığımız sunum katmanındaki mesela haberler.php için olabildiğince php kodlarını dışarda bırakmak, iş gerektiren kısımları servis katmanına aktarmak ve kod karmaşıklığından uzaklaşmak idi. Bunun için pipernate altına services adı altında bir paket koyduk ve iş gerektiren tüm kodlarımızı bu katman altına aldığımız sınıflara yaptırmaya başladık. Artık sunum yapan sayfalarımız sadece servisteki classın içindeki methodlara ulaşıp doldur, boşalt yapmaktan başka bir iş yapmıyor. Böylece bakım ve yeni özelliklerde eklemek kolaylaştı 😀

Şimdi bu sınıfları nasıl oluşturacağınızı anlatacağım bunun için size biraz DbService sınıfından bahsedeyim, bu sınıf sizle db arasında bir köprü, bunun içindeki methodların hepsi tüm işleriniz için yeterli olan methodlarınızı tutmakta.

Read the rest of this entry »

Tags: , , , , ,

« Older entries