Kendinize Güvenerek Java – Kitap

Bilindiği gibi Türkiye’de Java teknolojileri konusunda pek kaynak bulunmuyor maalesef. Varolan kaynakların bir kısmı da çeviri olduğu ve çevirilerin özensiz yapılması nedeni ile pek verimli olmuyor.

Geçen günlerde epostama gönderilen bir mesaj ile Java programlama dili üzerine hazırlanan yeni bir Türkçe kitaptan haberdar oldum.

Musa Çavuş tarafından hazırlanan Kendinize Güvenerek Java adlı kitap, Seçkin Yayıncılık aracılığı ile piyasaya sunulmuş.

Kitabı alıp incelemedim ancak büyük uğraşlar sonucu hazırlanan bir kaynak olduğuna inanıyorum. Java teknolojileri ile ilgili her türlü Türkçe dökümana önem verdiğim için kitabın duyurusunu yayınlamaktan mutluyum.

Kendinize Güvenerek Java adlı kitaba buraya tıklayarak ulaşabilirsiniz, içeriğine göz atabilirsiniz.

Kitabı alıp faydalanan arkadaşlarda, bu yazı altında yorum bırakabilirler.

Java ve C# Arasındaki Farklar

Bu yazı, Java programlama dili ile Microsoft’un C# (C Sharp) programlama dili arasındaki farklılıkları ele alan bir derlemedir.

Maddeler, bu iki dilin platformlar arasındaki farklılıkları ele almaz. Yalnızca dil seviyesinde bulunan birtakım farklıları listelemek için hazırlanmıştır.

Bu derleme, herhangi bir üstünlük ya da bir dilin diğerinden daha iyi olduğunu göstermek için hazırlanmamıştır.

Tamamen kişisel ihtiyaçlar doğrultusunda, C# programlama dili ile uygulama geliştirme durumunda, yararlanılmak için çeşitli kaynaklardan ve kişisel deneyimlerden yola çıkarak hazırlanmıştır.

Son olarak bu liste, Java programcılarını hedef alan ve daha çok C# cephesinde bulunan özellikleri öne çıkarmaktadır. Bu yüzden birebir karşılaştırma yazısı olarak da ele alınmayabilir.

Devam »

Java Tarih Formatlama – TimeStamp String Dönüşümleri

Bazen kullanıcıdan alınan formatlanmış ve string tipindeki (örn : 04.06.2010) tarihleri, özellikle veritabanı işlemlerinde, Unix Epoch (Unix TimeStamp) türüne çevirmek isteyebiliriz.

Ya da Unix TimeStamp türündeki sayısal değeri, insanların anlayabileceği bir forma dönüştürmek isteyebiliriz. Bu yazıda bu iki işlemin Java da nasıl yapılabileceğini anlatmaya çalışıcam.

Öncelikle Unix Epoch ( Unix TimeStamp) kavramının ne olduğuna bakmak gerekiyor.

Devam »

Java 7 ye Eklenmesi Beklenen Yenilikler

Bilindiği gibi 2010 yılının sonbaharında, Java platformunun kod adı Dolphin olan yeni sürümü Java 7 yayınlanacak.

Java 7′nin gelişi ile beraber, pekçok geliştirici, edindiği tecrübeler ve modern programlamanın getirdiği özellikler doğrultusunda, birçok dil ve platform yeniliğinin Java’nın bu yeni sürümüne eklenmesi için öneride bulunuyor.

Yapılan tüm bu yenilik önerilerinin, Java 7 ye eklenmesi beklenmiyor elbet ama bir takım yeniliklerin Java 7 ile Java programlama diline ve Java platformuna eklenmesi artık kesin gibi.

Bu yazıda, Java 7 ye eklenmesi beklenen birtakım özellikleri ele alacağım.

Devam »

Tomcat 7 Geliyor

Apache grubu tarafından geliştirilen ve dünyanın en çok kullanılan Java Servlet containerlarından birisi olan Apache Tomcat, Java EE 6 nın getirdiği yeni spesifikasyonları destekleyen 7 sürümünü geliştirmeye devam ediyor.

Şu an resmi olarak Apache Tomcat 7, kendi sitesinde indirilmeye sunulmamışsa da, Tomcat 7 nin RC sürümünün çalıştırılabilir dosyalarını buraya tıklayarak edinebilirsiniz.

Tomcat’in 7 sürümüne, Java Enterprise Edition 6 (Java EE 6)  nın parçası olan Servlet 3.0 desteği kazandırılmış. Servlet 3.0 ile, web tabanlı uygulamaların geliştirilmesi çok daha modüler bir yapıda gerçekleştirilebiliyor. Ayrıca, annotationlar yardımı ile Servlet ve Filter sınıflarını tanımlamak da mümkün. Büyük boyutlardaki web.xml dosyaları da Servlet 3.0 ile artık gerekli değil.

Apache Tomcat 7 ile desteklenen diğer Java EE 6 teknolojileri ise, JSP 2.2 ve EL 2.2.

Tomcat 7 yi çalıştırabilmek için bilgisayarınızda en az Java SE 6 kurulu olması gerekiyor.

Swing JFileChooser ile Dosya Bilgilerini Almak

Daha önce şurada açıklamaya çalıştığım File sınıfı ile, işletim sistemi üzerindeki herhangi bir dosya ya da klasör ile alakalı pekçok bilgiye erişebiliyoruz.

Bu yazıda, File sınıfının bu özelliklerini kullanarak, Swing bileşenleri ile grafiksel bir uygulama geliştirmeye çalışacağım.

Geliştireceğimiz uygulama ana hatları ile oldukça basit aslında. Swing’in sunmuş olduğu JFileChooser ile, işletim sisteminde istediğimiz bir dosyayı seçip o dosya (file) hakkında pekçok bilgiyi, JList bileşeni yardımı ile programımızda görüntüleyeceğiz.

Uygulamayı geliştirmeye geçmeden önce, bu örnek kod hakkında söylemek istediğim birkaç şey var. Uygulama her ne kadar, JFileChooser ile seçtiğimiz bir dosyayı File türünde bir değişkene atıyorsa da, uygulama da kullanılan JButton (buton/düğmeler) bileşenleri ile, Swing üzerinde olay (event) yönetiminin nasıl çalıştığı hakkında da başlangıç seviyesinde bilgi sahibi olunabilir.

Devam »

Java Scanner ve Formatter Sınıfları ile Dosya İşlemleri

Java I/O kütüphaneleri birçok farklı veri kaynağı ile işlem yapabilmek için geliştirilmiş bir yapıya sahiptir.

Veri kaynağı, işletim sisteminde bulunan bir dosya (file) olabileceği gibi, ağ üzerinde bulunan uzak bir bilgisayar da olabilir. Java geliştiricileri için bu tür input (girdi) output (çıktı) işlemlerinin detayı esasen çok da önemli değildir. Herhangi bir veri kaynağını, Java’nın sunmuş olduğu I/O sınıfları ile ele alabilirsiniz.

Bu yazıda, Java I/O kütüphanelerini kulanarak işletim sistemi üzerinde bulunan dosyalar ile nasıl veri giriş çıkışı yapılacağını anlatmaya çalışacağım. Bunun için kullanacağımız sınıflar java.util paketi içerisinde bulunan Scanner ve Formatter sınıfları.

Devam »

JRuby 1.5.0 Yayınlandı

Popüler programlama dili Ruby‘nin, JVM üzerinde çalışan açık kaynak (open source) ve tamamen Java ile yazılmış sürümü JRuby, 5 aylık geliştirme sürecinden sonra 1.5.0 versiyonunu yayınladı.

JRuby 1.5.0, Ruby 1.8.7 ve RubyGems 1.3.6 desteğine sahip.

JRuby’nin yeni sürümünde önce çıkan özellikler ise şu şekilde belirtilmiş.

  • *NIX platformlar için native launcher
  • Ant desteği ve Rake-Ant entegrasyonu
  • Rails 3 için birçok düzeltme
  • Varsayılan ruby-debug kurulumu
  • Ruby 1.8.7, RubyGems 1.36 ve RSpec 1.3.0 desteği
  • Geliştirilen Windows desteği

JRuby 1.5.0 ı buraya tıklayarak indirebilirsiniz.

Linux Neden Daha İyidir?

Linux işletim sistemi hakkında pek bilgisi olmayan, kullandığı diğer işletim sistemlerine (daha çok Windows) alternatif arayan, “Linux diye birşey var evet duydum ama nedir, nerden başlamalı” gibi soru işaretleri kafasından eksik olmayan kişiler için hazırlanmış güzel bir web sitesi buldum.

Ulusal işletim sistemimiz Pardus‘un geliştirilmesi tam gaz devam ederken, Pardus sayesinde birçok Türk bilgisayar kullanıcı Linux işletim sisteminden haberdar oldu.

Açık kaynak (open source) yazılım hususundan daha çok, son kullanıcıların Linux kullanmasını teşvik eden ve Windows gibi işletim sistemlerinde bulunmayan özellikler, yenilikler seçilerek Linux’a uzak bilgisayar kullanıcılarına neden Linux işletim sistemi kullanılması gerektiğini maddeler halinde listeleyen bu siteyi incelemenizi öneririm.

Devam »

Refactoring Nedir?

Varolan yazılımları daha da geliştirmek için uygulanan tekniklere refactoring denmektedir.

Refactoring tanımını biraz daha açmak gerekirse, uygulamanın kaynak kodu üzerinde, kodun işlevselliğini değiştirmeden yapılan iyileştirme ve kod okunabilirliğini arttırma tekniklerine refactoring denmektedir.

Uygulama geliştirildikten sonra, dönüp arkanıza baktığınızda çoğu zaman yazdığınız kodun çok daha iyi bir şekilde yazılabileceğini farkedersiniz. Ya da, kodun belirli yerlerinde bulunan birtakım işlemlerin aslında çok da gerekli olmadığını düşünebilirsiniz. Üstelik uygulama kodu farklı kişiler tarafından okunacaksa (ki büyük ihtimal okunur da), kodu okuyacak kişilerin (bu ilerde siz de olabilirsiniz) yapılan işlemleri daha iyi anlayabilmesi için, kodun bazı noktalarının çok daha açık bir şekilde yazılması gerekebilir.

Devam »