HELLO, I’M SERHAT AND THIS IS MY FANCY TITLE.

Ruby ile iki veri arasındaki benzerliğin hesaplanması


Bir RoR projesinde, iki farklı veritabanında bulunan ad-soyad ve kimlik numarası verilerinin birbirlerine ne kadar benzediğinin hesaplanması ve farklı veri setlerinin birbiriyle aynı olma olasılığının tespiti gibi bir ihtiyacım olmuştu.

Örneğin aşağıdaki iki veri birbirine ne kadar benziyor, bu kişiler gerçekten aynı kişiler olabilir mi bunu hesaplamam gerekiyordu:

"Ahmet Metin 123456789"
"Ahmet Makin 123123123"

Bu hesaplamayı yapabilmek için Elasticsearch ve Ruby'nin marifetleri yeterli oldu. Elasticsearch'ün Ruby için sağladığı records.each_with_hit metodu ile herhangi iki veri birbirlerine ne kadar benziyor (yakınsıyor) kontrol edebilir ve benzerlik oranını 0-2 aralığında matematiksel olarak alabilirsiniz.

Continue reading
Date: | Tags: ruby programlama, ruby dersleri, ruby örnekleri, ruby kodları | Categories: tech, ruby

Ruby on rails ve güvenlik - routes


Rails uygulamalarında route'ların güvenliğini sağlarken Devise gibi authentication GEM'lerinin sağladığı helper'lardan ve lambda metodundan yararlanabilirsiniz. Örneğin sadece super_admin rolüne sahip kullanıcılara açık olmasını istediğiniz route'ları şu şekilde tanımlayabilirsiniz:

# config/routes.rb

authenticate :user, lambda { |u| u.is_super_admin? } do
  mount Resque::Server => '/admin/resque'
  namespace :admin do
    resources :ip_lists, except: :show
    resources :token_users, except: :show
  end
end

Artık admin/resque, admin/ip_lists ve admin/token_users yolları sadece super_admin'ler için erişilebilir olacak.

Continue reading

ElasticSearch temel bilgiler


Cluster

Cluster verilerin tümünün tutan bir yada birden çok node'un (server'ın) kümelenmiş halidir. Cluster'lar eşsiz isimlere sahiptir ve default isimleri "elasticsearch"tür. Bu isim önemli çünkü bir node sadece - isimle belirlenmiş olan, katılmasının mümkün olduğu cluster'a katılabilir. Production'da özel bir isim koymak faydalı olacaktır. Ayrıca içerisinde tek bir node bulunan bir cluster kullanmanın da herhangi bir sakıncası olmadığı gibi, her biri eşsiz isimlere sahip birden çok cluster'da kullanılabilir.

Continue reading

Elasticsearch HQ eklentisi kurulumu


Elasticsearch HQ eklentisi ile elasticsearch node'larınız ve cluster'larınızın durumunu anlık olarak takip edebilir, sunulan web arayüzü ile yönetimsel işlemleri kolayca gerçekleştirebilirsiniz.

Continue reading
Date: | Tags: elasticsearch, elasticsearch hq eklentisi | Categories: tech, elasticsearch, sistem yönetimi

Elasticsearch kurulumu


Bu kurulumda Ubuntu 14.04 kullanılmıştır. Ancak Ubuntu 16.04 ve Debian için de kurulum benzerdir. ElasticSearch en iyi performans için Oracle Java'ya ihtiyaç duymaktadır.

java -version

ile java sürümü ve Oracle mı yoksa OpenJDK mı olduğu kontrol edilebilir. Elasticsearch kurulumu yapabilmek için öncelikle sisteminizde OpenJDK veya OracleJDK kurulu olmalıdır. Ubuntu'da güncel OpenJDK ile sorunsuz çalışmakla birlikte, Debian 7 sürümünde Oracle JDK kurulumu gerektirdi. Yine de OracleJDK kullanmakta fayda var.

Continue reading