Java’da Static Anahtar Kelimesi ve Kullanımı

Java öğrenmeye çalışanların kafasını karıştıran konulardan birisi de static değişkenler ve metotlardır. Aslında kullanım mantığı çok basit olan static anahtar kelimesi gereksiz yere birçok kişinin kafasını karıştırmaktadır. Bu yazıda Java dilinde static kelimesinin kullanım alanlarını çeşitli örnekler vererek alt başlıklar halinde inceleyeceğiz.

Read more “Java’da Static Anahtar Kelimesi ve Kullanımı”

Share

IBM Yazılım Akademisi 2011 Duyuruldu

IBM’in 2008 yılında başlattığı ve üniversite öğrencilerinin takımlar halinde yarışarak IBM’in önerdiği proje tanımlarını hayata geçirmek için çaba sarfettikleri bir proje yarışması olan Yazılım Akademisi bu sene “Hizmet Olarak Yazılım” temasıyla yapılacak. Toplamda 26 adet proje tanımının olduğu bu seneki yarışma büyük çekişmelere sahne olacak gibi görünüyor. Sene içerisinde çeşitli eğitimlerin de verileceği yarışmada proje başlıkları şöyle:

Read more “IBM Yazılım Akademisi 2011 Duyuruldu”

Share

Ubuntu’da LAMP Server Kurulumu

Ubuntu üzerinde PHP ve MySQL uygulamaları geliştirmek istiyorsak, öncelikle gerekli bileşenleri sistemimize kurmamız gerekiyor. Bu bileşenler LAMP (Linux-Apache-MySQL-PHP) adı altında toplanmıştır. Bunları sistemimize kurmak için şöyle bir yol takip edebiliriz.

Read more “Ubuntu’da LAMP Server Kurulumu”

Share

Ubuntu Login Ekranında NumLock’u Otomatik Etkinleştirmek

Ubuntu’da login ekranında şifreyi girerken num-lock tuşunun kapalı olması bazen sinir bozucu olabiliyor. Şifrenizin içinde rakamlar varsa ve siz de benim gibi her seferinde num-lock’un kapalı olduğunu unutup şifreyi iki kez girmek zorunda kalıyorsanız bunu çözmenin yollarını aramış olabilirsiniz. Ben her Ubuntu kurduğumda bu işi mutlaka yaparım ama her seferinde de nasıl yapıldığını unuttuğum için tekrar aramak zorunda kalırım. Buraya yazıyorum ki unutmayayım 🙂

Read more “Ubuntu Login Ekranında NumLock’u Otomatik Etkinleştirmek”

Share

Java Virtual Machine Nedir?

JVM’nin basit olarak Java programlarını çalıştıran sanal bir makine olduğunu biliyor olabilirsiniz ancak yine de bu yazıyı okumanızı tavsiye ederim. Çünkü JVM hakkında bilinmesi gereken çok ama çok şey var. Bu yazıda bunların bir kısmına değinmeye çalışacağım.

Bildiğiniz gibi Java derleyicisi doğrudan fiziksel bir makinenin çalıştırabileceği makine kodları değil, sadece Java Sanal Makinesinin anlayıp çalıştırabileceği formatta bir kod üretir. Ara bir dil olarak da tanımlanabilen “bytecode”, class uzantılı dosyalar içinde saklanır. Java derleyicisinin işi burada biter ve bundan sonra ikili (binary) formatta kodlanmış olan class dosyalarının çalıştırılması JVM tarafından yapılır.

Read more “Java Virtual Machine Nedir?”

Share

GNU vs. Linux

Bugün kullanımda olan Ubuntu, Pardus, Fedora gibi işletim sistemleri hep Linux olarak bilinir. Aslında gerçek biraz daha farklı. Linux, özünde bir işletim sistemi değil, işletim sistemi çekirdeğidir. İşletim sistemi çekirdeği ise bilgisayar kaynaklarının yönetimini yapan ve uygulama programlarının ihtiyaçlarını donanım kısmında sağlayan bir işletim sistemi bileşenidir. Başka bir deyişle bizim bilgisayar üzerinde çalıştırdığımız programlar ile bilgisayarın donanımı arasında bir köprü kurarak iletişimi sağlayan, işletim sisteminin en önemli parçasıdır.

Peki, madem öyle GNU nedir? GNU, 1984 yılında Richard Stallman tarafından başlatılmış bir işletim sistemi projesidir. Açılımı “GNU’s Not Unix” yani “GNU Unix Değildir” dir. Bu adın seçilmesindeki sebep GNU’nun Unix’e benzemesine rağmen hiç UNIX kodu içermemesidir.

Read more “GNU vs. Linux”

Share

Microsoft Yaz Okulu 2010 Ankara’nın Ardından

Microsoft Yaz Okulu Ankara bu sene Hacettepe Bilgisayar Mühendisliği Bölümünde yapıldı. Benim de katılmış olduğum bu organizasyon bugün itibariyle sona erdi. 4 haftalık bu maratonun ilk haftasının ardından düşüncelerimi paylaşmıştım.

2. haftamız da ilk hafta gibi verimli geçti. İlk 2 gün Oğuz Yağmur ile C#’ın derinliklerine dalarken, son 3 gün ise Daron Yöndem ile ASP.NET ve Silverlight üzerine çalıştık. Özellikle Oğuz Yağmur ile yaptığımız çalışmalar çok verimli geçti. MVP Pattern, Reflection gibi üst düzey konulara girme şansımız oldu.

3. haftaya gelindiğinde bizi XNA Game Framework, Sharepoint ve Windows Embedded konuları bekliyordu. XNA Game Framework’le çok çalıştığımızı söyleyemem. Onun yerine Unity isimli bir araçla görsel olarak basit oyunlar tasarladık. Bir günlük Sharepoint eğitimi maalesef süre olarak yetersiz kaldı. Sharepoint çok geniş bir ürün ancak bir günde sadece temel özellikleri üzerinde durabildik. Windows Embedded eğitimi ise daha renkli geçti diyebilirim. Emulatör kullanarak küçük bir cihaza işletim sistemi kurduk, bu işletim sistemi üzerinde C++ ve C# projeleri çalıştırdık. Hocamız ayrıca gömülü sistemler üzerine bir sunum yaptı ve çok faydalı bilgiler verdi. Bilgisayarlarda (desktop, laptop, netbook aklınıza ne geliyorsa) kullanılan işlemci sayısının, dünya üzerinde üretilen işlemcilerin sadece %2’si olduğunu duyunca biraz da olsa  hayal kırıklığına uğradım 🙂

Son haftada bir günlük Windows Phone eğitiminin ardından C# üzerinde paralel programlama konularına değindik. Son üç günde ise bizden öğrendiklerimizi kullanarak basit bir proje yapmamızı istediler. Proje olarak SQL Server 2008 veritabanlı, ASP.NET’li, MVP Pattern kullandığımız bir web sitesi yaptık ve sertifikamızı alarak kursu tamamladık.

Bunlar yaz okulunun eğitim kısmıydı ama yaz okulu tabi ki sadece eğitimden ibaret değildi. Güzel insanlar tanıdık, alanında uzman önemli kişilerle tanışma, sohbet etme fırsatı bulduk. Yaz okulunun en eğlenceli kısmı ise aralarda oynadığımız Quake 3 ve Half-Life oldu. 🙂

Share

Class Dosyalarının Anatomisi

Java dilinde yazdığımız programların derlendiğinde .class uzantılı dosyalara dönüştüğünü Java ile uğraşan hemen herkes bilir. Ancak class dosyaları bir çoğumuz için bugüne kadar hep içini bilmediğimiz, hakkında bilgi sahibi olmadığımız birer muamma olarak  kaldılar. Bu yazıda class dosyalarının yapısını inceleyip yazdığımız kodların derlendikten sonra nasıl bir şekle dönüştüğünü açıklamaya çalışacağım.

Read more “Class Dosyalarının Anatomisi”

Share

Microsoft Yaz Okulu 2010 Ankara Başladı

Microsoft’un her sene düzenlediği Yaz Okulu programının Ankara ayağına bu sene ben de katılıyorum. Bu hafta sonu itibariyle 1 haftayı geride bırakmış oluyoruz. İlk iki gün Windows Server 2008 R2 işletim sistemi üzerinde çalışmalar yapma fırsatımız oldu. Genel bir tanıtımdan sonra Hyper-V ile sanal makine kurulumu, konfigurasyonu ve kullanımı konusunda MVP hocamız Muammer Benzeş’ten eğitimler aldık. Bunun yanında sanal makine üzerinde IIS ile web sunucusu kurulumu, DNS, DHCP ve bazı diğer Windows Server rolleri hakkında uygulamalı örnekler yaptık.

Haftanın son 3 gününde ise SQL Server 2008 R2 konusunda eğitimler aldık. Kurulum ve konfigurasyonun ardından SQL Server’ın arka plandaki çalışma mantığını ultra-enerjik hocamız 🙂 MVP Osman Çokakoğlu çok güzel anlattı. Yine SQL Server ile ilgili veritabanı ve tabloların oluşturup yönetilmesi, yetkilendirme mekanizması, backup ve restore konularına değindik. SQL Server servislerinden Analiz Servisi, Raporlama Servisi ve Entegrasyon Servisi konularına da giriş yaptık ama zaman olsaydı heralde 1 hafta daha anlatabilirdi hocamız. Kısmet değilmiş onların detaylarına da artık kendimiz bakacağız.

Sonuç olarak Microsoft Yaz Okulu’nun bana çok faydalı olacağını umarak başlamıştım ve şimdilik gayet iyi gidiyor. Önümüzdeki hafta C#, ASP.NET ve Silverlight eğitimleri ile devam edeceğiz. Umarım onlar da faydalı geçer.

Share