yazılım

Java Magazine Ocak-Şubat 2012 Sayısı Çıktı

Konu:

Oracle Eylül ayından bu yana Java Magazine adında dijital bir dergi çıkarıyor. İnternetten bu dergiye ücretsiz olarak ulaşabilirsiniz. Üye değilseniz, derginin full sürümü için bir ücretsiz üyelik gerekiyor.

Java Magazine Ocak-Şubat 2012 Kapağı

Apache Tomcat7'de Port Değiştirme

Kısaca: conf klasörü içindeki server.xml'daki 8080 yazan her yer değiştirilir.

Uzunca:
Apache Tomcat'in varsayılan portu 8080. Bunun yerine http varsayılan portu olan 80'i ya ad 8080 portunu kullanan diğer herhangi bir uygulama nedeniyle farklı bir port kullanmak isteyebilirsiniz. Bunun için Tomcat klasörüne bulunan conf klasörü içindeki server.xml dosyasında 8080 yazan her yeri değiştirin. Aslında sadece bir satır var:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"  redirectPort="8443" />

Bu satıda 8080 yazan yere dilediğimiz port numarasını yazabiliriz. Bundan sonra Tomcat'i yeniden başlatmak gerekir.

Türkiye'den Dünyaya Açılan Açık Kaynak: PrimeFaces

PrimeFaces açık kaynak (open source) bir JSF kütüphanesi. Türkiye'den önce dünyada patlama yapmış, daha sonra da Türkiye'de meşhur olmuş bir Türk girişimi. Çağatay Çivici, Yiğit Darçın ve Cenk Çivici ortaklığıyla kurulan PrimeFaces ile ilgili WebRazzi'deki röportajı hâlâ okumadıysanız, tavsiye ederim: http://www.webrazzi.com/2012/01/09/acik-kaynak-kod-ve-turkiyeden-bir-orn...

PrimeFaces'i hiç duymadıysanız linki şurada: http://primefaces.org/

Çok Kullanılan Tipler

Buraya kadar Int, Double, String gibi Scala'daki birkaç değişken tipini gördünüz. Java'da olduğu gibi Scala'da da birkaç numerik tip vardır:

  Byte Char Short Int Long Float Double

ve Boolean. Ama Java'dan farklı olarak bu tipler sınıflardır. Scala'da primitif (ilkel) tip ile sınıf arasında ayrım yoktur. Numaralar üstünde metodlar uyandırabilirsiniz (çağırabilirsiniz); örneğin:

1.toString() // size String (metin) olarak "1" değerini verir.

daha ilginç olarak;

1.to(10) // size Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) değerini verir. (Range sınıfını Collections'ta bulabilirsiniz)

Yazılımcının Yılbaşı Kutlaması Böyle Olur

Konu:

Önceden ExtJS olarak tanıyıp bildiğimiz Javascript Framework'ü Sencha'dan bir yılbaşı kutlama mesajı geldi. Tam yazılımcılara has.

Scala Yorumlayıcı

Scala yorumlayıcıya başlamadan önce Scala'yı kurun. Kurulum için http://www.scala-lang.org/downloads sayfasını ziyaret edin ve size uygun olan Scala paketini indirin.

  • scala/bin klasörünün PATH olarak verildiğinden emin olun.
  • İşletim sisteminizde komut satırını açın. (Windows için cmd)
  • scala yazıp ENTER'a basın.

Şimdi komutları yazıp ENTER'a basın. Her komut sonrasında yorumlayıcı cevabı yazacaktır. Örneğin 8*5+2 yazdığınızda 42 cevabını alırsınız.

scala> 8 * 5 + 2
res0: Int = 42

Cevap res0 olarak kaydedilir ve bu değişkeni kullanabilirsiniz.

scala> 0.5 * res0
res1: Double = 21.0
scala> "Hello, " + res0
res2: java.lang.String = Hello, 42

Gördüğünüz gibi yorumlayıcı cevabın tipini de gösteriyor. Örnekteki Int, Double ve java.lang.String gibi.

Metodlar çağırabilirsiniz. Yorumlayıcıyı nasıl başlattığınıza bağlı olarak tab tamamlamayı (tab completion) kullanabilirsiniz. res2.to yazıp ardından TAB tuşuna basın. Aşağıdakine benzer öneriler geldi mi?

toCharArray   toLowerCase   toString      toUpperCase

Eğer geldiyse tab tamamlama çalışıyor demektir. U yazın ve TAB'a tekrar basın. Şimdi bir tek tamamlamanız oldu.
res2.toUpperCase
ENTER'a basın ve cevap görüntülensin. (Eğer tab tamamlamayı kullanamıyorsanız, metod adlarını kendiniz yazmanız gerekiyor.) Yukarı ve aşağı tuşlarını da deneyin. Çoğu implementasyonda (gerçeklemede) bir önceki komutu görürsünüz.

Anlaşıldığı üzere yorumlayıcı, ifadeleri (expressions) okur, değerlendirir (evalute), yazar ve sıradaki ifadeyi okur. Buna oku-değerlendir-yaz döngüsü yani read-evalute-print loop ya da REPL adı verilir.

Teknik olarak konuşacak olursak, scala bir yaroumlayıcı (interpreter) değildir. Perde arkasında, kodlarınız çabukça derlenir (compile edilir), byte kodlara dönüştürülür; bu byte kodlar Java Sanal Makinası (JVM) tarafından çalıştırılır. Bu yüzden, çoğu Scala programcısı buna "REPL" demeyi tercih eder.

İpucu: REPL iyi bir şeydir. Çünkü anında cevap alırsınız, daha fazla deneme yapmak için motive olursunuz ve yaptığınız şeyler çalıştıkça kendinizi iyi hissedersiniz.

REPL ile beraber bir kod editörü açık bulundurmak güzel bir fikir. Bu sayede başarılı olan bir kod parçacığını daha sonra kullanmak üzere kopyala-yapıştır yapabilirsiniz. Ayrıca daha karmaşık örnekler deneyerek, bunları bir editörde birleştirip REPL'e doğrudan basabilirsiniz (kopyala-yapıştır-çalıştır anlamında "basmak").

Drupal: Kategori ve Etiketlere Göre Sınıflandırma (Taxonomy)

Sitelerde içeriği kategorilere, konulara ve alakalı olan anahtar kelimelere yani etiketlere göre sınıflandırmak ziyaretçilerin aradıklarını bulmalarını ve siteyi dolaşmalarını kolaylaştırır. Aynı zamanda SEO adına faydalıdır. Bu sayede arama motorları da kolay erişilen içeriğe, aramalarda daha üst seviyelerde yer verecektir. Bunun için Drupal'da Taxonomy ayarını açmamız ve gerekli düzenlemeleri yapmamız yerinde olacaktır.

D7'de üstte gördüğümüz yönetim menüsünden ya da yönetim sayfasından (örn: hosaf.org/admin) Yapı > Sınıflandırma sayfasında "Etiketler" adında bir sözlüğün oluşturulmuş olduğunu görebiliriz. Buradaki "etiket" kavramı anahtar kelime anlamındadır. Bir içeriğe anahtar kelimeler vererek bu içeriğin ne ile ilgili olduğunu ilişkilendiririz. Bu sayede benzer konularla alakalı bir arama yapıldığında sitenin içeriği arama sonuçlarında yükselecektir. Benzer şekilde, kendi sitemizde de aynı etikete, yani anahtar kelimelere ait olan tüm yazıları görebiliriz.

Bununla beraber, Wordpress'te tanımlı olarak gelen "Kategoriler" şeklinde bir sınıflandırma oluşturmak isteyebiliriz. Wordpress genel oalral blog oluşturmak üzerine kurulmuştur. Drupal ise daha genel kapsamlı bir içerik yönetim sistemi olduğundna ihtiyaçlara göre değiştirilmesi gerekiyor. Kategoriler şekliden bir sınıflandırma oluşturmak için Sınıflandırma sayfasında "Sözlük ekle"ye tıklıyoruz. "Sözlük" kelimesini burada sınıflandırma adı olarak düşünebiliriz. Örnek olarak sınıflandırma adına "Kategori" diyebiliriz. Sınıflandırma adını ve açıklamasını yazdıktan sonra Kaydet butonuna basarak sözlüğümüzü kaydediyoruz.

Bundan sonra Yapı > İçerik Türleri sayfasına giriyoruz. Sınıflandırmaları etkinleştirmek istediğimiz türlere alan ekliyoruz. Dieylim ki Makale türündeki yazılarımızı Kategori sınıflandırmasına tabi tutmak istiyoruz. O halde Makale türünde "alanları yönet" bağlantısına tıklayarak giriyoruz. Ardından açılan sayfada;

  • "Yeni alan ekle" kısmına "Kategori" (ya da size bunu anımsatacak başka bir kelime) yazıyoruz.
  • "field_" kısmına diğer türlerde de aynı sınıflandırmayı kullanabilmek için tekil (unique) yani benzersiz bir makina adı yazıyoruz (Türkçe karakter kullanmamalıyız)
  • Alan Türü olarak "Term Reference"i seçiyoruz.
  • Yazıyı yazarken sınıflandırma terimini bir listeden seçmek istiyorsak "Seçim Listesi"ni, kendimiz yazabilmeyi istiyorsak "Autocomplete term widget"i seçiyoruz.
  • Kaydet butonuna bastıktan sonra bu sınıflandırma alanıyla ilgili ayarlar karşımıza çıkacaktır. Burada yeni eklediğimiz sınıflandırma olan "Kategori"yi seçiyoruz ve "Alanı kaydet"e tıklıyoruz.

Artık bu sınıflandırmamız, seçtiğimiz içerik türünde bir içerik oluştururken doldurmamız istenecektir.

Web Sitelerinde Özel Font Kullanımı

Web sitemizde özel font kullanmak için küçük bir CSS kodu yazmamız gerekiyor. Fakat sitemize gelen ziyaretçilerin bilgisayarlarında yüklü olmayan fontları tarayıcılar bulamazlar ve kullanamazlar. O yüzden önce sitemize ilgili fontu yüklememiz gerekiyor. Bundan sonra CSS kodumuzu yazmaya geçebiliriz.

@font-face {
    font-family: "Fontun Adı";
    src: url(http://hosaf.org/font.ttf) format("truetype");
}
p {
   font-family: "Fontun Adı";
}
  • Font ttf biçimindeyse format kısmı "truetype", otf ise "opentype" yazılmalıdır.
  • url yerine fontun yeri yazılmalıdır.

Kaynaklar:

Subscribe to RSS - yazılım