Ahmet Orsorlu
ABOUT THE AUTHOR

Ahmet Orsorlu

Matematik Mühendisliği lisans, Bilgisayar Mühendisliği yüksek lisans mezunu. Halen Logo Business Solutions'ta Yazılım Uzmanı olarak görev yapmakta. Basit ve temiz olan herşeyi seviyor. Galatasaraylı. Stephen King ve Metallica aşığı.

Java JAR Dosyası

JAR (Java ARchive), birden çok dosyayı birleştirerek tek bir dosya yapabilmemizi sağlayan dosya formatıdır. Aslında, JAR uzantılı dosyalar temelde ZIP dosyalarıdır. JAR dosyaları genelde, Java class dosyalarını ve Java uygulamasının kullandığı kaynak dosyalarını (resim, müzik gibi) barındırır. İstenildiği takdirde Java uygulamasının kaynak dosyaları da JAR dosyasına eklenebilir. JAR dosyalarının bir özelliği de Java uygulamanızı doğrudan çalıştırılabilir hale getiriyor olmasıdır

JAR dosya formatının birçok avantajı vardır. Bunlar:

  • Java uygulamaları doğrudan (Windows jargonunda exe uzantılı çalıştırılabilir dosyalar gibi) çalıştırılabilir hale gelmektedir.
  • Uygulama indirirken (özellikle applet uygulamalarında) tek bir dosya indirme avantajı vardır.
  • ZIP özelliğinden dolayı Java uygulamalarının boyutlarının küçülmesini sağlar.
  • Java uygulamasının versiyon bilgilerinin tutulmasını sağlar.
  • Java’nın en temel özelliği olan platform bağımsızlığı sayesinde tek dosya farklı platformlarda çalışabilir.
  • Dijital olarak imzalanabilme özelliği sayesinde güvenlik de sağlamış olur.
  • ZIP özelliğinden dolayı kolaylıkla çözülerek içerisindeki dosyalara erişilebilir.
  • Kolaylıkla kütüphane dosyaları oluşturulabilmesini sağlar.

Başka bir yazıda da Java uygulamamızdan nasıl JAR dosyası yaratabileceğimizi anlatmaya çalışacağım. Herkese kolay gelsin.

Chrome Dil Ayarlarını Değiştirme

Siz de benim gibi uygulamaları Türkçe kullanmakta zorlananlardansanız ve en çok kullandığınız uygulamalardan biri olan (en azından benim öyle) Chrome‘u da İngilizce olarak kullanmak istiyorsanız doğru yerdesiniz 🙂

  1. Öncelikle sağ üst köşedeki ingiliz anahtarı simgesine tıklıyoruz ve açılan menüden Ayarlar‘ı seçiyoruz.
  2. Açılan sayfanın en altında Gelişmiş ayarları göster…‘e tıklıyoruz.
  3. Burada Diller bölümünde Diller ve yazım denetleyicisi ayarları… butonuna tıklıyoruz.
  4. Açılan ekranda İngilizce’yi (veya istediğiniz bir dili) seçerek Google Chrome için bu dili kullan butonuna tıklıyoruz. İstediğiniz dil listede yoksa Ekle butonuyla dil ekleyebilirsiniz.
  5. Değişikliklerin geçerli olması için Chrome‘u yeniden başlatıyoruz.

Not: Bilgiler, en güncel versiyon olan 21.0.1180.75 versiyonuna göre verilmiştir. Chrome sürekli kendini güncel tuttuğu için sizlerin de versiyonu yüksek ihtimalle budur.

 

Java 7 – Birden Fazla Exception Aynı Alanda

Daha önceki Java versiyonlarında, bir try blogundan veya bir metottan birden fazla farklı exception atıldığında, her bir exceptionı ayrı catch bloğunda yakalamamız gerekiyordu.

public void throwTestMethod() 
        throws IllegalArgumentException, FileNotFoundException, NullPointerException
{
	// ...
}

public void throwTest() {
	try {
		throwTestMethod();
	} catch (IllegalArgumentException e) {
		// Do special process for IllegalArgumentException 
	} catch (FileNotFoundException e) {
		// Do special process for FileNotFoundException 
	} catch (NullPointerException e) {
		// Do special process for NullPointerException 
	}
}

Aynı catch bloğunu kullanmanın yolu vardı;

public void throwTest() {
	try {
		throwTestMethod();
	} catch (Exception e) {
		// Do special process for all Exceptions
	} 
}

Ancak, burada gördüğünüz üzere tüm exceptionları aynı blokta kullanmamız gerekiyordu. Örneğin, 3 exception atılan bir metod için sadece 2 exceptiona özel bir blok oluşturamıyorduk (aynı interface’i kullanmak gibi dolambaçlı yöntemler var tabii ki).

Java 7 ile birlikte exceptionları catch bloklarında gruplayabilme özelliği gelmiş oldu. Artık,

public void throwTest() {
	try {
		throwTestMethod();
	} catch (IllegalArgumentException e) {
		// Do special process for IllegalArgumentException 
	} catch (FileNotFoundException | NullPointerException e) {
		// Do special process for FileNotFoundException and NullPointerException 
	}
}

şeklinde bir kullanım gerçekleştirebiliyoruz. Kod yeniden kullanılabilirliği için gayet faydalı bir geliştirme olmuş.

Java 7 – switch İfadelerinde String Nesnesi Kullanımı

Java’nın 7 versiyonundan önce switch ifadelerinde sadece primitive tipler (char, int, byte, short), bunların wrapper sınıfları (Character, Integer, Byte, Short) ve enumareted tipler (enum) kullanılabiliyordu. Java 7 ile birlikte switch ifadelerinde artık String nesneleri de kullanılabiliyor.

Eski usül bir örnek verecek olursak;

public static final int MONTH_JAN = 1;
public static final int MONTH_FEB = 2;
// ...

public void monthProcess (int month)
{
    switch (month) {
        case MONTH_JAN:
        // ...
        break;
        case MONTH_FEB:
        // ...
        break;
        // ...
    }
}

Şimdi de aynı örneğin Java 7’de String nesneleriyle kullanımına bakalım;

public void monthProcess(String month) {
    switch (month) {
        case "Jan":
        // ...
        break;
        case "Feb":
        // ...
        break;
        // ...
    }
}

Java 7’den önce bu örneği if-else if yapısıyla kullanıyorduk.

public void monthProcessWithIf(String month) {
    if (month.equals("Jan")) {
        // ...
    } 
    else if (month.equals("Feb")) {
        // ...
    }
    // ...
}

Artık doğrudan switch ifadelerinde kullanabiliyoruz. Ayrıca burada belirtildiğine göre Java derleyicisi switch ifadelerinde String kullanınca if-else if yapısına göre daha efektif byte-code üretiyor.

Son olarak, switch ifadelerinde kullandığımız String ifadeleri büyük küçük harf duyarlı. Gözden kaçmasın.

Ayrıca, Netbeans ve Eclipse (kullanıyorsanız) IDE’lerinin son versiyonlarını yüklemeyi unutmayın. Eski versiyonlar Java 7 desteği vermiyor.  Doğrudan java derleyicisi kullananlar için bu açıdan sorun yok.

LESS – Dinamik Stil (CSS) Dili

Twitter Bootstrap‘i (ayrı bir konuda buna da değinmek gerekir) incelerken LESS ile karşılaştım. Bootstrap, LESS ile tamamen entegre şekilde çalışıyormuş ve gayet de iyi yapıyormuş 🙂 Hemen derinlemesine LESS nedir ne işe yarar diye araştırmaya koyuldum ve sizlere de bahsetmek istedim.

LESS, CSS‘i dinamik hale getiren bir programlama dili. CSS yazarken dert yandığım değişken ve fonksiyon tanımlama işlevlerini CSS‘te kullanılır hale getiriyor. Aslında CSS‘te kullanılır hale getiriyor çok doğru olmadı, siz LESS yazıyorsunuz ve LESS derleyicisi onu CSS‘e çeviriyor. Gerçekten çok hoşuma gitti.

LESS‘in sitesinden bir örnekle sizi baş başa bırakayım. Detaylarına sitesinden bakabilirsiniz.

Öncelikle LESS kodu:

// LESS kodu
@color: #4D926F;
#header { color: @color; }
h2 { color: @color; }

LESS kodunu derleyince oluşan CSS kodu:

/* Derlenmiş CSS */ 
#header { color: #4D926F; }
h2 { color: #4D926F; }

Bir de fonksiyonumsu ile ilgili bir örnek alıntılayalım. Önce LESS kodu:

// LESS kodu
.rounded-corners (@radius: 5px) {
 border-radius: @radius;
 -webkit-border-radius: @radius;
 -moz-border-radius: @radius;
}
#header { 
 .rounded-corners;
}
#footer {
 .rounded-corners(10px); 
}

Derlenmiş CSS kodu:

/* Derlenmiş CSS */
#header {
 border-radius: 5px;
 -webkit-border-radius: 5px;
 -moz-border-radius: 5px;
}
#footer {
 border-radius: 10px;
 -webkit-border-radius: 10px;
 -moz-border-radius: 10px;
}

Derleme konusu yine sitesinde mevcut. Javascript ile de derlenebiliyor ancak ben beceremedim. Windows için çok kullanışlı bir program buldum; SimpLESS. Kullanımı çok basit. Sadece LESS dosyanızı programa ekliyorsunuz. Kendisi arka planda çalışıyor ve dosyayı gözlemliyor. Dosyada değişiklik olduğu zaman otomatikman CSS dosyasına derliyor. Çok kullanışlı.