Author Archive

java ile top level domaini bulmak

Thursday, December 2nd, 2010

Geçtiğimiz günlerde bir url içinden top level domaini bulmak gerektiğinde googling yaptım fakat pek sonuç çıkmadı. İş başa düştü fakat reqular expression’ı oldum olası anlamıyorum. Bu yüzden gerektiği zaman konudan anlayan bir arkadaşımdan yardım alıyorum. Sağolsun beni kırmayıp uğraştılar ve aşağıdaki metod ortaya çıktı. Tüm Java geliştiricilerine armağan olsun:


public String getTopLevelDomain(String address) throws MalformedURLException
{
if (!address.startsWith("http")) {
address = "http://" + address;
}
URL url = new URL(address);
Pattern p = Pattern.compile("([a-z0-9\\-]+)\\.([a-z0-9]{2,3})((\\.[a-z0-9]{2})|$)");
Matcher match = p.matcher(url.getHost());
if( match.find() ){
return match.group(0);
}
return url.getHost();
}

Google Apps ile E-Posta Yönetimi

Thursday, November 4th, 2010

Artık sunucunuza mail server kurma devri bitti. Google Apps üzerinden ücretsiz olarak domain’inize ait e-postaları yönetebiliyorsunuz. Bunun bir çok avantajı var. Google kendisi aşağı yukarı şöyle ifade ediyor:

1. Spam konusunda kafanız rahat olsun. Yüzlerce Google çalışanı oturup sizin e-postalarınızı okuyup arada spam olanları sizin için ayıklıyorlar :)
2. E-Postalarınız içerisinde çılgınca aramalar yapabiliyorsunuzç
3. Yazışmaları organize ediyor ve tekrar eden yazıları gizlemek gibi işlevsel özellikler sunuyor.
4. Yazılı, sesli ve görsel chat imkanı var.
5. Başlıklar, yıldızlar, filtreler e-postalarınızı daha kolay yönetmeyi sağlıyor.
6. Mobil cihazlar ile heryerden e-postalarınıze erişebiliyorsunuz.
7. Devamlı büyüyen bir kapasiteniz var. Şu an için 7.4GB’lık bir posta kutunuz kolay kolay dolmuyor.
8. Zararsız hatta ilgimizi çekebilecek reklamlar içeriyor. (Bunun nesi bir avantaj ben anlamadım)
9. Adres defteriniz ve klavye kısa yolları sayesinde hızlı erişim sağlıyor.
10. Bedava :)

En başta Gmail altyapınısını kullanıyor olduğunuz için sunucunuz çöktü göçtü derdi yok. Kim bilir kaç sunucu bu iş için çalışıyor. Bunun dışında firewall anti spam vs vs bir çok avatanji var.

Ayarları yapmak da oldukça kolay. Domaininizi hangi servis sağlayıcıdan aldığınıza göre adım adım ayarlar var. İlgili MX kayıtlarını yaptığınız zaman çok kısa bir süre içinde kullanmaya başlayabiliyorsunuz. Bence harika…

varnish ile web isteklerinde cache kullanımı

Wednesday, November 3rd, 2010

Bu sabah daha önceden duyduğum varnish cache’i inceleme ihtiyacı ile uyandım. Nerden ne alaka ben de bilmiyorum ama ilk işim bunu incelemek oldu.

Varnish web sitenizi hızlandırmak için kullanabileceğiniz açık kaynaklı, endüstri standartlarına uygun ve çok az kaynak harcayan anahtar bir yazılımdır. Varnish ile web sitenize gelen istekler cache’lenerek aynı istekler için tekrar tekrar veritabanına gidilmez, bu sayede web siteniz hızlanır.

Temel konfigürasyonu çok kolay, ben ubuntu üzerinde test ettim yani paket olarak kurdum. Kurulumu yaptıktan sonra /etc/varnish/default.vcl içerisinden aşağıdaki ayarı yaptım:

backend default {
.host = “127.0.0.1″;
.port = “80″;
}

Bu ayar ile varnish 80. portu dinliyor oluyor. Yani apache portunu. Daha sonra aşağıdaki komut satırı ile başlattım:

varnishd -f /etc/varnish/default.vcl -s malloc,1G -T 127.0.0.1:2000 -a 0.0.0.0:8080

-f /etc/varnish/default.vcl parametresi ile ayar dosyasının adresini,
-s malloc,1G ile cache’i 1G’lık hafıza olarak kullanmasını (disk vs de oluyor tabiki)
-T 127.0.0.1:2000 parametresi ile text tabanlı yönetim ekranının portunu (bu portun dışardan erişilemez bir port olması güvenlik açısından önemli),
-a 0.0.0.0:8080 parametresi ile çalışacağı ip ve portu belirtmiş oldum.

Bundan sonra apache tarafında şöyle basit bir php yazdım:


$t1 = time();
sleep(3);
$t2 = time();
echo 'elapsed ' . ($t2-$t1) . ' second(s)';

Bu kod 3 sn bekliyor. Bu kodu http://localhost:80/cache/test.php üzerinden çalıştırdığım zaman 3 sn bekliyor. Tekrar çağırdığım zaman gene 3 sn bekliyor. Bunu kodunuzun veritabanına bağlandığını, query’ler vs çalıştırdığı şeklinde düşünebilirsiniz.

Aynı kaynağa varnish üzerinden erişmek için 8080 portunu set ettiğimiz için http://localhost:8080/cache/test.php adresinden eriştiğim zaman ilk istekde 3 sn bekliyor ancak daha sonraki çağırılarda sonuç ms mertebesinde hızlı geliyor.

Detaylıca incelemek gerekli tabi, örneğin session bilgisi içeren sayfalarda cache’leme nasıl oluyor gibi. Ama temelde basit sayfalarınız varsa ve koda girip cache yazmak istemiyorsanız bence harika bir çözüm.

Sitesinde çeşitli örnekler vermişler, örneğin eskiden 14 sunucuda çalışan uygulama artık 2 sunucu ile çalışabiliyormuş. Bir de varnish ile saniyede 275,000 isteği karşılamışlar. Breh breh :)

http://www.varnish-cache.org/

Open Solaris 2008.11

Tuesday, November 2nd, 2010

Open Solaris ile ilgili yaşanabilecek temel problemlerin çözümlerini içeren güzel bir yazı:

http://www.dedoimedo.com/computers/opensolaris-2008-11.html

Başarılı bir teknik lider olmak için 36 adım

Tuesday, November 2nd, 2010

http://littletutorials.com/2008/07/07/success-as-technical-lead/ adresinde bulduğum bir makale var. Başarılı bir teknik lider olabilmek için nelere dikkat edilmesi gerektiğinden bahsediyor. Bir göz atalım…