« Posts tagged netbeans

Netbeans ile bütünleşik geliştirme

Uzun bir süredir IDE olarak Netbeans kullanmaktayım. Özellikle şuan üzerinde çalıştığımız proje kapsamında oldukça işe yarar faydalar sunuyor bize. Yaptığımız değişiklikleri svn sunucusuna göndermek, test için test sunucusuna göndermek oldukça kolay. Özellikle sftp kullanarak test sunucusuna dosyaları göndermek için yaptığınız deiğişikliği kaydetmenizin yeterli olması oldukça hız kazandıran bir özellik. Tabi yerel ağ üzerinde oldukça hızlı, dışarı çıktığınızda biraz yavaşlayabiliyor.

Netbeans sürüm kontrol yazılımlarının bir çoğunu (svn,cvs,mercurial) ön tanımlı olarak desteklemekte. Ek olarak “local history” yani yerel geçmiş tutabiliyor dosyalar üzerinde -ben pek kullanmıyorum bu özelliği-. Bir dosyayı sürüm kontrol sunucusuna göndermek için ilgili dosyaya sağ tıklayıp ilgili menüden (hangi sürüm kontrolünü kullanıyorsanız ona ilişkin menü çıkıyor) işlemleri yapabiliyorsunuz. Küçük bir commit ekranı geliyor ve site yorum yazmanız için izin veriyor. Tabi bu ekran için kısayol atamanız da mümkün.

Tabi bu kadarla sınırlı değil. Eğer hata takip için bugzilla kullanıyorsanız commit ederken hangi hatayı kapattığını girebiliyor, hatta netbeans üzerinden hata girişleri vb işlermlerini yapabiliyorsunuz.

Hatta ve hatta satır satır o dosyaya kim ne zaman değişiklik yapmış görebiliyorsunuz, revizyon numarası tarih ve mesajı ile birlikte.

Java ve C# ile çeşitli kodlamalar…

Son dönemlerde Java ve C# ile haşır neşir olmaya başladım. Tabi genel tercihim açık kaynak olması ve platform bağımsızlığı c#a göre daha iyi olması sebebi ile Java.

Fakat Java ile C# arasında çok ufak farklılıklar mevcut, ve bu farklılıklar C# lehinde basit kod yazımına yönelik (benim fark ettiklerim). Örneğin C# ile rastgele sayı oluşturmak Javaya göre daha kolay geldi.

Neyse gelelim kodlama kısmına…

Rastgele sayı üretimi (C#):

C#
private int RastgeleSayi(int baslangic, int bitis)
{
Random rasgele = new Random();
return rasgele.Next(baslangic, bitis);
}

Bu şekilde artık dilediğimiz iki aralıkta rastgele sayı üretmemiz yeterli oluyor.

Örnek kod olarak iki metin kutusundan alınan değerler arsında rastgele sayı üretimi yapalım:

C#
private void button1_Click(object sender, EventArgs e)
{
int baslangicsayisi = Convert.ToInt32(textBox1.Text);
int bitissayisi = Convert.ToInt32(textBox2.Text);
int[] dizi = new int[100];
for (int i = 0; i < dizi.Length; i++)
{
dizi[i] = RastgeleSayi(baslangicsayisi, bitissayisi);
}
}

Bu kod ile yukarıda tanımladığımız RastgeleSayi fonksiyonu ile baslangicsayisi ve bitissayisi aralığında 100 adet sayı üretip bu sayıları bir diziye atıyoruz.

Gelelim bu işin Java ile yapılmasına. Öncelikli olarak Javada rastgele sayı üretimi fonksiyonu yazalım:

Java
private static Random rn = new Random();
int[] dizi = new int[30000]; // bu tanımlamayi daha sonra kullanmak için yapıyoruz...
 
public static int rand(int lo, int hi)
{
int n = hi - lo + 1;
int i = rn.nextInt() % n;
if (i < 0)
i = -i;
return lo + i;
}

Artık rand() fonksiyonu ile rastgele sayı oluşturabiliriz. Gelelim bu fonksiyon ile sayı oluşturma kodlarına:

Java
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int sayi1 = Integer.parseInt(jTextField1.Text());
int sayi2 = Integer.parseInt(jTextField2.getText());
for (int i =0; i< dizi.length; i++)
{
int sayi = rand(sayi1,sayi2);
dizi[i]= sayi;
}
}

Şeklinde bir kod karşımıza çıkıyor.

Aslına bakıldığında ikinci kısımlar (rastgele sayıyı diziye aktarma) her iki dil içinde yaklaşık olarak aynı. Fakat rastgele sayı oluşturma kısımları C# ile daha kolay geldi bana. Bu noktada Java ile daha basit bir yöntem var olabilir, fakat internet taramalarım, Java ile uğraşan arkadaşların yönlendirmeleri vb araştırma sonuçlarında bu yöntemin geçerli olduğunu gördüm :)

Bunun dışında Java ve C# ile yapmaya çalıştığım bir başka iş vardı. C# ile becerebildim, fakat Java ile yapamadım. Daha sonra tekrar bakacağım. Fakat burada yapmak istediğimi anlatayım. Bir işlem yapılıyor, bu işlem uzun sürebilimekte. Ve ben işlem sürerken bir etiket üzerine “İşlem Yapılıyor…” yazdırmak istiyorum. C# ta işe başlamadan hemen önce ilgili kodu yazdığımızda, işlem bittikten sonrada aynı etikete işlemin bittiğini yazan kodu yazdığımda çalışıyor. Fakat bu mantık Java ile oturmadı :) .

Javanın can sıkıcı başka bir tarafıda zamanlar(time) ile işlem yaparken milisaniye göstermesi için çeşitli fonksiyonlar vb. şeyler kullanmak gerekiyor anladığım kadarı ile. Fakat C#’ta işler çok daha basit. Şuanki zamanı alan DateTime.Now komutu ile aldığımız iki zaman arasında bulunan farkı TimeSpan kullanarak direk olarak milisaniyeleri ile birlikte alabiliyoruz.

Bu konuda daha geniş bilgisi olan arkadaşların yorumlarını ve eksik kalan noktalar konusunda bilgi vermelerini rica ediyorum….

Netbeans ile projeler daha kolay…

Uzun süredir netbeans kullanıyorum. Fakat bir türlü detaylarını yazmak nasip olmamıştı. Bu pazar günümü siteme yazı yazmak için ayırmaya karar verdim ve ilk olarak netbeans ile başlamak istedim.

Netbeans bir çok dili destekeleyen bir IDE. Java ile uğraşanlar kesinlikle haberdarlar. Fakat ben Netbeans’i daha çok Php kodlamak için kullanıyorum. Python ile çalışmaya başlayınca yine Netbeans kullanmaya devam edeceğim.

Gelelim Netbeans’ın hayatı kolaylaştıran yanına. Özellikle proje dosyalarının yönetimini, kullanışlı bir dizin/dosya penceresi ile yapabiliyorsunuz. Ayrıca projelerinizi var olan ftp sunucularına ve subversion depolarınıza erişim olanağını da veriyor. Bu araçları sayesinde tüm işlemlerinizi bir noktadan yapmanız hayatınızı kolaylaştırıyor. Ayrıca projelerinizi kopyala yapıştır yaparak başka bir bilgisayara aktarmanız mümkün. Eclipse projeleri ile sakranizasyon yapabilir, Eclipse projelerini Netbeans ile alabilirsiniz.

Bir proje oluşturmak için File(Dosya) => New Project (Yeni Proje) menüsü ile yeni bir proje açmak için gerekli sihirbazı açıyoruz. Gelen ekrandan kullanacağımız programlama dili ile ilgili seçimi yaparak ilerliyoruz. Pencerenin sol tarafında proje oluştururken izlenecek adımlar yer alıyor, buradan rahatlıkla takip edebilirsiniz. Bir php projesi için üç adımdan oluşan oluşturma süreci mevcut. Bunlardan birincisi programlama dili seçim alanı. İkinci ekran ise proje bilgilerimizi girdiğimiz ekran. Burada proje adı ve kaynak dosyaların yolları ile dil kodlama(encoding) tercihlerini seçiyoruz. Üçüncü alanda ise çalışacağımız sunucu ile ilgili bilgileri seçiyoruz. Uzak sunucular için ftp veya yerelde çalışmayı düşünüyorsanız yerel bilgileri giriyoruz. Bu adımlardan sonra projemizi geliştirmeye başlayabiliriz.

Versioning(sürüm) menüsünden CVS, Mercurial, Subversion ile ilgili ayarlarınızı yapabilirsiniz. Netbeans ayrıca local (yerel) olarak sürüm bilgilerini tutmakta.

Netbeans Proje Görünümü

Yeni Proje

Netbeans & MySQL

Bir kaç günden beri Netbeans ile MySQL veri tabanına bağlanmaya çalışıyor ve başarısız oluyordum. Bu sorunu pek ilgisi olmasada Pardus-kullanicilari listesine sormuştum. Ve sayın Metin Bilgin yapmam gereken bir ayar hakkında bilgi verdi ve sorunum çözüldü. Bu konuda sıkıntı yaşayan başka arkadaşlar olur diye yapılması gereken ayar değişikliğini vermek istiyorum:

/etc/mysql/my.cnf dosyasının içinde  skip-networking satırının başına # koyulması gerekiyor.
Bu işlemi yaptığınızda sorununuz çözülmüş oluyor.

Netbeans, JSP ve Apache Tomcat

Artık Java ile jsp projelerime başlamak için tam olarak hazır bulunmaktayım. Netbeans ile uzun süredir JSP denemeleri yapmaktaydım. Ama bir türlü sunucu tarafındaki sorunları çözememiştim. GlassFish, Tomcat, JBoss derken en sonunda Tomcat ile amacıma ulaştım. Artık JSP ile hazırladığım bir “Hello World!” sayfamı Tomcat aracılığı ile görebilmekteyim.

Fazla uzatmadan bu işi yapmak isteyen insanlara bilgi olması açısından bir kaç teknik konudan bahsedeyim. Öncelikle Java yada JSP için Netbeans kullanıyorum. Yapmam gereken sadece yaklaşık 250mb boyutunda olan “.sh” kurulum dosyasını edinmek.

Bu adımdan sonra işlerimiz çok basit. Hemen bir konsol açıp indirdiğimiz netbeans kurulum dosyasının bulunduğu klasörde “sh dosyaadimiz.sh” komutunu vermekten ibaret. Bir süre bekledikten sonra kurulum ekranı gelecektir. Bu ekranda “Customize” butonuna basarak kullanmak istediğimiz programlama dilleri ve sunucu sistemlerini seçiyoruz. Sonra adımları izleyerek kurulumu tamamlıyoruz. Tavsiyem GlassFish sunucularını kullanmamanız. Neden diyecek olursanız, projeleri çalıştırırken bir şifre soruyor ve neden olduğunu anlamadığım bir şekilde şifre ve kullanıcı adlarını kabul etmiyor GlassFish. Ben Apache Tomcat kullanmayı tercih ediyorum :) . Zaten yeni bir proje oluştururken size kullanmak istediğiniz sunucu sistemini soruyor. Var olan bir proje içinde proje özelliklerinden sunucu sistemini ayarlamanız mümkün. O yüzden çok büyük bir sıkıntınız olmayacaktır. Tabi sisteminize önceden Apache kurmanız gerekiyor :) . Eğer bir veri tabanı uygulaması yapacaksanız ihtiyacınıza uygun olan bir veri tabanı sunucusunu bilgisayarınıza kurmanız gerekecek. Ben genelde MySQL kullandığım için şimdilik MySQL kurarak işlerimi hallediyorum. Tabi birde PHP ve PhpMyAdmin kuruyorumki, MySQL veri tabanlarımı PhpMyAdmin aracılığı ile kolayca yönetebileyim.

Bu işlemleri yaptıktan sonra, bilgisayarımız JSP ile çalışmak için hazır olmuş oluyor. Tabi JSP dışında başka dilleri kullanmanızda mümkün. Netbeans içerisinde Java SE, Common Web Components, Java Web and EE, Java ME, Ruby, C/C++, PHP ve SOA dillerinin hepsine destek veriyor. Tabi bu desteklerin sunucu ihtiyaçlarınıda sunmakta bize. Yani Netbeans tam anlamıyla bir yazılım üssü diyebiliriz. Ben şimdilik C/C++ ve SOA dışında kalan tüm dil desteklerini kurdum. Tabi birde Apache Tomcat desteğinide kurdumki bunu elle yapılandırmak zorunda kalmayayım, Netbeans benim için herşeyi hali hazırda versin.

Bu noktada bir şeyi daha belirtmekte fayda var. Netbeans JBoss sunucusunuda desteklemekte. Fakat kendisi bunun kurulumunu yapmamakta. Ama üzülmeyin. Pardus katkı deposunda JBoss4 paketi bulunmakta. Artık tercihler size kalmış.

Netbeans PHP editor

Pardus kullanmaya başladığımdan beri, gelişmiş bir PHP editörü aramaktaydım. Kate, Kwrite, Emacs, Quanta gibi paketler kanım bir türlü ısınamamıştı. En uzun süreli sanırım BlueFish adlı editörü kullandım. Fakat proje yönetimi sağlayabilecek bir yapı değildi hiç biri. En azından isteklerimi tam karşılayamıyordu. Kanım ısınmamıştı bir türlü. Bugün forumlarda dolanırken birden bir iletide “Netbeans’ın PHP editörü var deneyebilirsiniz.” diye bir cevap okudum. Aslında üniversitede sık kullandığım netbeans’ın böyle bir özelliği olabileceği hiç aklıma gelmemişti. Artık aradığım aracı buldum PHP ile proje geliştirenlere kesinlikle önereceğim bir araç…

Özgür Kuru is Stephen Fry proof thanks to caching by WP Super Cache