Skip to main content

Java Applet : Fotoğraf Albümü

Fırsat buldukça Java ve Java Uygulamaları ile ilgili  yazı girmeye devam ediyorum.  Bu paylasağım uygulama bir  Fotoğraf albümü uygulaması.  Bu uygulamayı yaparken  Java Appletlerinden , Canvas sınıfından, Buton tipi nesnelerden,  ve butonların tıklama olaylarını kontrol edebilmek için Action Listener’dan yararlandık.

Fotoğraf Albümü aşağıdaki gibi şey olacak tam olarak 🙂


Canvas sınıfı Java üzerinde 2D çizim işlemleri yaparken  yararlandığımız sınıflardan bir tanesidir.  Canvas ile ayrıntılı bilgiyi Oracle’nin sitesinde tam olarak burada mevcut.  Biz bu Canvas nesnesini üzerine fotoğraflarımızı yerleştirmek için kullanacağız.

Bu işlemleri  yaptıktan sonra fotoğraflarımızı programımıza çekmemiz gerekiyor birden fazla fotoğraf çekeceğimizi hesap ediyoruz, bu yüzden bir dizi tanımlamamız lazım. Peki bu dizinin türü ne olmalı ?  Nesne Yönelimli dillerde bu tür şeyler için kolayca  çözümler bulunabilir. Java ‘da bir fotoğrafı  tutmak için kullanabileceğimiz sınıfıdır. Sınıf ile ilgili ayrıntılı dokumantasyona   buradan erişebilirsiniz.   Birden fazla fotoğraf tutmak için Image türünde bir  dizi tanımlaması yapmamız gerekiyor.

Bu  işlemide tamamladıktan sonra artık Java Appletimizi  yazmaya başlayabiliriz. Bildiğiniz üzere bir Java Applet çalışırken ilk olarak  onun init()  isimli metodu çalişir. Bu metod appletin açılışta alacağı özellikleri belirleyebildiğimiz bir metoddur. Bu kısımla ilgili ayrıntılı açıklamayı Kod kısmında bulabilirsiniz.

Fotoğraflarımızı Image nesnemize eklerken yerini tam olarak bildirmek için getCodeBase() isimli metodu kullandık.  getCodeBase() metodu appleti içeren dizini gösteren stringi geri dönüş değeri olarak verir.

Devamını Oku

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Sony Xperia Neo V Andorid 4.0.4 Güncellemesi

2011’in sonlarında  ihtiyaçlarıma cevap veremeyen Türkcell T10’u deyim yerindeyse kardeşime kakalayarak kendime Sony Ericson Xperia Neo  V model bir telefon almıştım. Telefonu almamda ki en büyük sebep Türkcell T10 ile haram olan Andorid  işletim sistemi keyfini daha makul seviyere çekmekti. Bunun dışında  Xperia Neo V gerek tasarımıyla,gerek ses kalitesiyle,fiyatıyla diğer modellerden daha çekici geliyordu bana.  Cihazin  “beni al ,beni al” diyen bir şeyleri vardı sanki 🙂 Ve dayanamadım gittim aldım , üstelik bir kaç gün beklememek için biraz fazla ödeyerek yaptım bu işi.

 

Telefon   yine piyasada bulunan Xperia Neo’dan farklı olarak 5  Megapiksellik bir kameraya sahip. Ve bu kamera ile oldukça tatminkar sonuçlar elde edebiliyorsunuz. Üstelik Panoromik çekim özelliği de cabası. Ben telefonu aldığımda üzerinde Andorid Gingerbread kuruluydu.  Bir süre sonra Andorid  Ice Cream Sandwich ( Andorid 4.0)  duyuruldu  ve Sony firması Xperia Modellerini  Andorid 4.0 ‘a güncelleyeceğini duyurdu. Tarih olarak ise Mart-Nisan ayı  gibi bir şey söylemişlerdi.  Bir çok  şirket telefonlarında güncelleme vadetmezken Sony’in bu tavrı süphesiz ki alkış aldı.

Devamını Oku

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

C Programlama : Kabarcık Sıralama

Birden çok arama ve sırama algoritmaları mevcut. Bu sıralama algoritmalarından bir tanesi de Buble Sort adı verilen Kabarcık sıralamadır.  Kabarcık Sıralama algoritması aşağıdaki gibi gibi çalışır.

Kabarcık Sıralaması, bilgisayar bilimlerinde kullanılan yalın bir sıralama algoritmasıdır. Sıralanacak dizinin üzerinde sürekli ilerlerken her defasında iki öğenin birbiriyle karşılaştırılıp, karşılaştırılan öğelerin yanlış sırada olmaları durumunda yerlerinin değiştirilmesi mantığına dayanır. Algoritma, herhangi bir değişiklik yapılmayıncaya kadar dizinin başına dönerek kendisini yineler. Adına “Kabarcık” sıralaması denmesinin nedeni büyük olan sayıların aynı suyun altındaki bir kabarcık gibi dizinin üstüne doğru ilerlemesidir.

En basit olarak bir kabarcık sıralaması örneği aşağıda verilmiştir.

 

Uygulanmasına bir örnek verecek olursak ;

 

Adım-Adım Uygulama

Elimizde  5 1 4 2 8 değerlerine sahip 5 elemanlı bir dizi olsun. Bunu bubble sort kullanarak adım adım sıralayalım:

İlk Döngü:
5 1 4 2 8 ) –> ( 1 5 4 2 8 ), İlk iki elemanı karşılaştırıyorum ve swapping yapıyorum.
( 1 5 4 2 8 ) –> ( 1 4 5 2 8 ),  5 > 4 swap yapıyorum
( 1 4 5 2 8 ) –> ( 1 4 2 5 8 ), 5 > 2 swap yapıyorum
( 1 4 2 5 8 ) –> ( 1 4 2 5 8 ), 8>5 olduğundan bu adımda swap yapmıyorum
İkinci Döngü:
1 4 2 5 8 ) –> ( 1 4 2 5 8 )
( 1 4 2 5 8 ) –> ( 1 2 4 5 8 ),  4 > 2 swap yapıyorum
( 1 2 4 5 8 ) –> ( 1 2 4 5 8 )
( 1 2 4 5 8 ) –> ( 1 2 4 5 8 ), İlk döngüm bittiğine göre sondaki elemanımın en büyük olduğunu biliyorum. gereksiz bir adımdır.
Sıralama işlemi tamamlandı, fakat bunu algoritma bilmiyor bunun için bir adım daha dolaşışır.
Üçüncü Döngü:
1 2 4 5 8 ) –> ( 1 2 4 5 8 )
( 1 2 4 5 8 ) –> ( 1 2 4 5 8 ) –> İki karşılaştırmada swap işlemi yapmadığımdan sıralama gerçekleşmiştir.
( 1 2 4 5 8 ) –> ( 1 2 4 5 8 ), sondan bir önceki adıma da ikinci döngü sayesinde bakmama gerek yoktur.
( 1 2 4 5 8 ) –> ( 1 2 4 5 8 ), gereksiz adım

 

Devamını Oku

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

İstanbul Üniversitesi Bilgisayar Mühendisliği Lojik Devre Tasarımı Final Soruları

Bilgisayar Mühendisliği Bölümlerinin temel ve en zor derslerinden biri olan  Lojik Devre tasarımıdır. Bu ders farklı üniversitelerde farklı adlarla verilebilir. Sayısal Tasarım, Lojik Tasarım,Lojik Devre Tasarımı adıyla dersin verildiği üniversiteler mevcut 🙂

İstanbul Üniversitesinde Bilgisayar Müh. Öğrencilerine 2. sınıf  Güz dönemine verilen bu ders kesinlikle öğrenciler korkulu belası.   Dersi benimle beraber 200 kişiye yakın insan aldı ve geçenlerin sayısı gene çok fazla olmadı. ( Bende  çoğunluk gibi kaldım).   2011-2012 Güz döneminde dersin Finalinde sorular sorula aşağıdaki gibiydi.  Bu  blog yazısını hem kendime not olsun diye hemde yeni öğrenciler faydalansın diye yazma ihtiyacı duydum. Seneye çok lazım olabilir bu sorular ..

 

Lojik Devre Tasarımı 2011-2012 Final Sorular ve Cevaplarını Aşağıdaki Linkten indirebilirsiniz.

LojikFinal Soru Ve Cevapları

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Gerede Meslek Yüksek Okulunu Özlemek

Bazen  film şeridi gibi geçer yaşadıklarınız gözlerinin önünden.  Aradan ne kadar zaman geçerse geçsin , bazen ansızın çok şey hatırlayabilirsiniz.  2006 yılında  birazcık zoraki gititğim ama çok güzel  2 yıl geçirdiğim ve hayatımda önemli bir yer tutan Gerede Meslek Yüksek okulu geldi mesala aklıma bugun 🙂

Aşağıdaki fotoğrafta gördüğünüz minik bir okul yüreğinizde kocaman  bir yer kaplayabilir. Öylesine büyük bir yerdir ki bu yerini ülkenin en büyük Üniversitelerinden birinde eğitime devam etmek bile dolduramaz.

 

Meslek Lisesini bitirdikten sonra dönemin sınav sisteminde hiç bir şey yapamadığımız için tek şansımızdı Meslek Yüksek okulu. İlk sene tercih yapmayan ben  doğal olarak  yakınımdaki Kocaeli Üniversitesini de elimin tersiyle itmiş bulunuyordum. İlk yıl tercih yapmayarak  bir daha ki yıl ki sınavsız geçişimi bir anlamda zorlaştırıyordum.

Yaşadığım kentin Üniversitesi olan Kocaeli Üniversitesine geçiş yapamayacağımı önceki yıl aldığım yanlış kararla kesinleştirmiştim. Ve tercih yapabileceğim farklı üniversitelere bakınmaya başladım. Kılavuzda GEREDE ismi gözüme çarptı. 🙂  Gerede’yi daha önce futbol kulüplerinin kamp mekanı olarak kafama bellediğimden başlarda yazmayı düşündüm ve sanırım 4. tercihim olarak  İzzet Baysal  Üniversitesi Gerede Meslek Yüksek Okulunu   ÖSYM’ye  bildirdim. Benimle beraber 3 Lise arkadasım daha aynı okulu yazdık . Sonuçlar  açıklandığımda paralel tercih yapan arkadaslarımın ikisiyle beraber Gerede MYO’ya yerleşmiştik.

Kaydımızı yaptırdık öğrenime başladık .   Bir yere alışmak zordur ve bu zorluk ilk başta herşeyin ters gitmesine sebep olabilir. Nitekim bizimle birlikte Gerede MYO’ya yerleşen arkadaşlarımızdan bir tanesi  henüz daha ilk yıl sona ermeden Kocaeli’ye geri dönmüştü bile. Bir kişi eksilmek ilk başta kötü gelmişti ,insan düşünüyor tabi  yabancı insanlar, kücük bir ilçe. Ama hiç bir şey beklediğim gibi olmadi, Bir kişi kaybetmiştim belki ama o kadar güzel insanlar kazandım ki o   bir kişinin yokluğunu hissettirmeyen. ..

Devamını Oku

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Kitap İncelemesi : Java Collections Framework Java Veri Yapıları

2011-2012 Eğitim Öğretim Yılı  önemli kararlar almama vesile oldu 🙂 Herşeyden az biraz bilmemin bana bir şey katmadığını biraz geçte olsa farkettim. Yaklaşık 2003 yılında HTML ile başlayan kod maceram yıllar içinde farklı dillerle devam etti. Ne olacağıma karar veremediğim zamanlar oldu 🙂 Henüz daha Liseye yeni başlamışken HTML   ile hiçte göze hitap etmeyen siteler yapmaya çalişarak adım atmıştım bu dünyaya.  HTML ile tanışmamda  tamamen Microsoft Office paketinin içinde yer alan Frontpage programı ile olmuştu onuda unutmamak gerek. Sonra yıllar içinde Pascal, Visual Basic, C, Delphi,  Vb.Net ,  C# ile irili ufaklı kendi çapımda denemelerim oldu. Bütün dillerde bir yere kadar geldim.  Ama hiç bir zaman çok çok ileriye gitmedim 🙂  Gün geldi canım sıkıldı SQL ile MYSQL ile uğraştım 🙂    Furyaya katılıp bir ara  iyi bir şekilde PHP öğrenmeye karar verdiysemde yeterli vakti bulup PHP öğrenemedim.  Web programlamayı sevmeme rağmen tasarım alanında  beceriksiz olmamdan dolayı bu alanda asla kendimi ilerletemedim .    Masaüstü programcılığıda ise önüme bir sorun koyulduğunda onun için bir şeyler geliştirdim ama oturupta kendim bir şey yapayım hiç demedim.  İşte bu yüzde hiç bir zaman bir alanda en iyi olamadım.

2012  bu açıdan bir dönüm noktasıydı  ve daha önceki blog yazılarımda bir tanesinde Java  ile devam etmeye karar verdiğimi en azından Java da iyi olmayı hedeflediğimi söylemiştim.  Bu amaçla aldığım kitaplardan birini sizlere tanıtmak istiyorum. Kitap  Oracle desteği ile yazılmış bir kitaptır.  Java ‘nın temel  kurallarına hakim olduktan sonra alınması gereken bir kitaptır. Yani Java Programaya bu kitap ile başlamanız kesinlikle önerilmez.

Devamını Oku

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Java Applet Örnekleri : 5 Basamaktan Oluşan Bir Merdiven şeklini ekrana çizen program

Appletlerle ilgili bir kaynağı incelerken denk geldim. Oldukça basit bir  proram olmasına rağmen  ilgimi çekti 🙂  Olurda Java Appletleri ile yeni çalışmaya başlayan birisinin ihtiyacı olur, yararlansın istedim.

Program Appletinizin  (20,20) başlangıç noktasından, 20 şer birim artırılarak basamakları oluşturur. Programın çıktısı aşağıdaki gibi olacaktır.

 

 
import java.awt.*;
import java.applet.*;
public class Grafik extends Applet{
 
public void paint(Graphics g){
 
int x=20,y=20;
for(int i=0; i<5; i++){
g.drawLine(x,y,x+20,y);
g.drawLine(x+20,y,x+20,y+20);
x+=20;
y+=20;
}
}}

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Java Thread Kullanımı : Duvara Çarpan Top

Kaynak kodlarını paylacağım uygulama Bir Java Aplleti  ve Thread kullanarak daha önceden tek bir  adet  için yaptığımız duvara carpıp seken top  uygulamasını birden çok top için gerçekler. Bu program İstanbul Üniversitesinde Nesneye Yönelik Programlama dersinde haftalık verilen ödevlerden bir tanesidir. Çıktısı aşağıdaki fotoğrafa benzer olacaktır.

Program 3 sınıftan oluşur :

1- Tek bir Top Nesnesinin ve metodlarının tanımladığı sınıf.

2-Top Nesnelerinin yerleştirildiği ve ekrana cizdirildiği Java Applet Sınıfı

3-   Topların herhangi birinin carptiği noktayı koordinat olarak  döndüren  Hata Yakalama Sınıfı

 
Devamını Oku

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS