30.05.2010

Firefox'ta Yer İmlerini Saklama

Bilgisayarınıza format attığınızda hemen bütün yedeklemelerinizi yaptınız diyelim. Ama bir sorun var. Tarayıcılarınızdaki bilgileriniz? Düşünsenize, aylarca topladığınız bilgileriniz, sayfalarınız ya da adresleriniz bir anda kayboluyor değil mi? Mesela benim hiç sevmediğim bir şey bu. O kadar çok kısa yollar ya da bir başlık altında biriktirdiğim adresler vs. bir anda yok oluyor. Buna katlanamıyorum. Fakat sonunda bunun çaresini öğrendim ve paylaşmak istedim.

İlk olarak yedekleme işlemini başlatmak için Firefox penceresinin üst kısmındaki  yer imleri sekmesini tıklıyoruz. Burası normalde sık kullandığımız sitelere ulaştığımız yer. Burayı tıkladığımızda karşımıza gelecek olan seçeneklerden  Yer İmlerini Düzenle kısmını tıklayın ya da  Ctrl+Shift+B tuşlarınıa basın. Şimdi ayarları yapabileceğimiz özel menüye ulaştık. Burası Firefox'un yer imleri kütüphanesidir. Buradan yer imleri sekmemizi istediğimiz gibi düzenleyebiliriz. 




Daha sonra ekranın sağ üst kısmında bulunan içe aktarma ve yedekleme kısmına tıklıyoruz. Karşımıza gelen pencereden ise yedekle kısmına tıklıyoruz. Buradan yedeğimizi istediğimiz dosyanın içine alabiliriz. Herhangi bir sorunda Firefox otomatik olarak listenizi buradan geri alır. 

Biraz daha ileri safhaya gidelim. Firefox'taki yer imlerinizi farklı bir bilgisayarda da kullanmak istiyorsunuz diyelim. Kütüphane menüsünün sağ üst kısmında bulunan içe aktarma ve yedekleme sekmesine tekrar tıklayın. Karşınıza gelen pencerede ise yer imlerini HTML olarak dışa aktar adlı özelliği tıklayın. Firefox listenizi HTML olarak istediğiniz dosyanın içine kopyalayın. Bu HTML yüklediğiniz her bilgisayarda Firefox yer imlerinize ulaşabilirsiniz. 



Peki bunlara nasıl ulaşırız diye de merak ediyorsanız hemen yazıyorum. Bilgisayarda yine kütüphane (ctrl+shift+B) de bulunan içe aktarma ve yedekleme sekmesini tekrar tıklıyoruz. Karşınıza gelen pencerede ise HTML olarak içe aktar'ı seçin. Ardından gelen pencereden HTML dosyasından olan seçeneği işaretleyin.  Bu seçeneği tıkladıktan sonra karşınıza dosyayı göstermenizi isteyen bir pencere çıkacak. Buradan dosyanızı bulun ve ekleyin. Formattan sonra eski sık kullanılanlarınızı bu yöntem ile yeni Firefox'unuza da ekleyebilirsiniz.

Tabi bütün bunları dışında Firefox'un kendi eklentilerinden de yararlanabiliriz. Örneğin "FEBE" ya da "Xmarks" gibi eklentilerle de yapılabilir. Üstelik bunlar kendileri yapıyorlar. Ama ben iki yolu da sevdim. Biri kolay  ve kısa; diğeri ise biraz çetrefilli gibi duruyor olsada..

29.05.2010

Mutlu Bir Ömre Dair 10 Güzel Söz

   1. Kendini tanı (Sokrates)
    Kendi içinde yolculuk yap. Günlük tut. Kalbin, gönlün, vicdanın ne diyor? Neyi öne çıkarıyor?  Dünyaya bilinçli bakmanın yolu başta bu yolculuktan geçiyor.

      2. Olduğun gibi görün ya da göründüğün gibi ol. (Mevlana)

    Dürüst ol, adil ol, hakça düşün. İçinden gelen sesin öne çıkardığı değerleri koru. Hayatta bir şeyleri korumak için ayakta kalmazsan  her şey seni düşürür.

      3. En yukarıda aşk var. (Aziz Paul)

    Sesi müziğe dönüştüren aşktır. Aşk olmazsa, sevgi ilişkileri yoksa, özen eksikse, hayatın kuru bir daldan farkı olmaz.

      4. Dünyayı hayal gücü döndürür. (Albert Einstein)

    Yaptığımız her şey hayal kurarak başlar. Hayat herkes için hayalleri gerçekleştirmek ve yapabileceğinin en iyisi, olabileceğinin en iyisi peşinde gitmektir. Bobby Kenndy'nin sözü gibi : " Diğerleri dünyaya bakıyor ve 'Neden?' diye soruyor. Ben bambaşka bir dünya düşünüyor ve 'Neden olmasın?' diye soruyorum".

      5. Fazla güzellik göz çıkarmaz. (Mae West)

    Güzel hayat doya doya yaşanır. Mutluluk paylaşılır, hayatı sevme hissi coşkuyla beraber gelir. Ruhun müziğinde "haydi bastır, göster kendini" temposu vardır. Kibir değil, coşku.

      6. Fırsatlar yakalandıkça çoğalır. (Sun Tzu)

    Başarı cesaret ister. Başlangıçtaki cesaret daha sonra inanca dönüşür. İnanç insanlığa daha iyi hizmet arzusuna dönüştüğünde, fırsatlar yelpazesi yukarı bir seviyede tekrar açılır.

      7. Ya yap, ya yapma. Denemek yok! (Yolda - Yıldız Savaşları)

    Hayat seri hareket, karar ve kararlılık gerektirir. Tereddütte kalanlar geride kalır. Hayatın üstüne gitmezseniz hayat sizin üzerinize gelir.

      8. Mükemmellik, ekleyecek bir şey kalmadığında değil, alınacak bir şey kalmadığında oluşur. (Antonie de St. Exupery)

     Hayatınızı basitleştirin. Basitçe indirge, indirge, bir kere daha indirge.. O zaman ne kalıyor ona bak. İstekler listenizi kısa tutun ki odaklanabilesiniz. Güneş ışığında büyüteç tutmak gibi  konsantre olmazsanız, hayatı yakamazsınız.

      9. Kabiliyet yoksa sanatçı olunmaz; ama çalışılmadıkça kabiliyet hiçbir işe yaramaz. (Emile Zola)

    Ancak akıllı, bilinçli ve odağı şaşmayan çabalar sonrası olası potansiyelin yapabilecekleri gerçekleşir. Elması yontmadıkça elinizde sadece bir taş parçası vardır.

      10. Hayatı yaşamanın iki yolu var.  Biri hiçbir şey mucize değilmiş gibi yaşamak, diğeri her şey mucizeymiş gibi yaşamak. (Albert Einstein)

    ...............

    22.05.2010

    Sadece Ölüler Kurabilir

    Bir program kurarken hanginiz ya da kaçınız lisans sözleşmesini okuyorsunuz? Açıkçası çok önemli bir şey olmayacağı kanısında isem bende okumuyorum. Lakin bazen okumak gerekiyor diye düşünüyorum. En azından ilginç olanları kaçırarak hayatınızın ilginç anlarını da kaçırabilirsiniz. 

    Ücretsiz açık kaynak kodlu uygulamaların birbirinden farklı lisansları ve kısıtlamaları var. Bir istatistiğe göre, sadece 230.000'den fazla projeden oluşan bir grupta bile 2000'den fazla lisans türü var. Neyse ki bunların 10 tanesi projelerin yüzde 93'ünü kapsıyor. 

    Örnekler arasında: Beerware: "Bu yazılımı kullanıp da benimle karşılaşırsanız bira ısmarlamayı kabul ediyorsunuz", FenderWare: "Ticari kullanım için bir adet Fender Stratocaster gitar yollamanız gerekiyor" gibi ilginçlikler yer alıyor.

    Ama en ilginci bu değil. Berkeley Software Distrbution üyesi olmayanlar için Syc Parsing kit lisansı şu şekilde: "Bu yazılımın HERHANGİ BİR kullanımı (Tamamen yasal ve ticaret dışı bile olsa) ölümden sonrasına kadar kesinlikle yasaktır" açıklamalı lisans kesinliklikle çok ama çok sıradışı. Ben bile anlamadım niye böyle birşey yaptılar ama yine de ilginç diye paylaşmak istedim.


    kaynak:  chip

    17.05.2010

    Bilgisayar Mühendisliği Hakkında 10 Yalan


    1. Bilgisayar Mühendisliği okumaya gerek yoktur.
     



    Bilgisayar Mühendisi olmayanlar ya da yazılımdan tam olarak anlamayan kişilerce uydurulmuş en ünlü efsanedir. Ama buradan belirtmek istiyorum. Evet kesinlikle Bilgisayar Mühendisliği okumak şarttır. Öyle yazılım kurslarına giderek milyarlarca lira akıtarak ancak web tasarımı öğrenebilirsiniz. Ama onu bile tam yapamazsınız. Ayrıca ilk yeni versiyon değişiminde patlarsınız. En kötüsü ömür boyu niye bilgisayar mühendisi olamadım hayıflanmazsınız. Bu yalanı yaymak için de uğraşmazsınız... Ayrıca siz ömür boyu arkadaşlıklar yapacağınız insanların bilgisayar mühendisi olmasını mı istersiniz yoksa kursa gitmiş lise mezunlarını mı tercih edersiniz. Eğer bilgisayar mühendisliği okursanız arkadaşlarınız daha kaliteli olcaktır bunu unutmayın. Bu arkdaşlarınız yarın büyük firmaların müdürleri ya da sahipleri olacaklardır. Bundan daha güzel gurur verici birşey olamaz. Bilgisayar mühendisi olursanız anne babanız da sizinle daha çok gururlanacak, konu komşuya daha rahat hava atabileceklerdir.

    2. Bilgisayar mühendisleri tasarım yapamaz, sadece kod yazabilir.

     

    En ünlü şehir efsanelerinden biri de budur. Bu yalanı genellikle bilgisayar mühendislerinin kendileri yayar. Bir program yazdıklarında ya da web tabanlı bir uygulama geliştirdiklerinde daha fazla kendilerini yormak istemedikleri için görsel şeylerle uğraşmak istemezler, tembellik ederler. Birisi bunun görünümünü biraz iyileştirsene deyince, "Valla ben bilgisayar mühendisiyim, tasarımcı değilim, anlamam bu işlerden" derler. Halbuki bilgisayar mühendisi tembellik etmese Photoshop'u da en güzel şekilde kullanabilir, Flash'ı da en güzel şekilde kullanabilir. Ama işin kolayına kaçmak ve tembellik etmek için uğraşmak istemezler...

    3. Bilgisayar mühendisleri işsiz kalacak.


    Genelde çok mezun verildiğine dair bir inanç var ve ilerde herkes işsiz kalacak deniyor. İnsanlar bilgisayar mühendisliğinden soğutulmaya çalışıyor. Bilgisayar mühendisliğine gıcık gidenler derneği tarafından yayılan bir yalandır. Anlamadığım nokta hadi diyelim ki bilgisayar mühendisi olamadınız hangi mesleği seçeceksiniz. Makina mühendisi olunca mı iş garantisi var yoksa elektronik mühendisi olunca mı iş garantisi var? Bırakın mühendisliği en garanti meslek sanılan öğretmen bile olmak için artık sınavlara girmek ve çok yüksek puanlar almak gerekiyor. Ha keza doktorluk da böyle. Uzmanlığı kazanamadıktan sonra doktor olmak için beklediğiniz onca yıla yazık. Hem yarın pratisyen olmak için bile bir sınav açarlarsa şaşırmayın. Tüm bilgisayar mühendisleri iş bulacak diye bir durum yok, mal  mal yatarsan hangi bölümü bitirirsen bitir yine işsiz kalırsın. Ünlü bir atasözümüzü buradan tekrar edeyim: Üniversite yan gelip yatma yeri değildir. Bir de unutmayan söyliyeyim, iş olanakları sadece Türkiye'de değil tüm dünyada mevcut. Başka hiçbir meslek böyle global ölçekte çalışmanıza olanak sağlamaz. Eğer yabancı diliniz iyi ise ister ingilterede ister amerikada çalışabilirsiniz.


    4. Bilgisayar Mühendisleri 500 dolara çalışıyor.

     

    Bu yalanın çıkış kaynağı genellikle internette forum köşeleridir. Evet 500 dolar kazan vardır. Ama 500 dolar kazanan kişi 500 doları hakediyordur. Daha fazla kazanan daha fazlasını hakeder. Herkes çalıştığı kadarını alır. Çalışmaktan kastım ders çalışmak değil. Zaten üniversiteye gelen birisinin artık eğitim öğretimi farklı olarak algılama vakti gelmiştir. Unutmayın ki ÜNİVERSİTELER İŞ BULMA KURUMLARI DEĞİLDİR. Üniversiteyi bitirene iş garantisi vermiyorlar. Birinci bile bitirseniz iş garantisi yoktur ve bu durum aslında insanlığın gelişmesini sağlayan faktördür. Böylece kendini yenileyen daha çok çabalayan çevre ile daha çok iletişim kuran daha çok kazanıyor. Ayrıca belirmeliyim ki üniversite mezunu demek en çok kazanan kişi demek değildir. Öyle olsaydı 30 yıl önceki ÖSS birincileri şimdi türkiyenin en zengini olurlardı. Ülkemizde bir çok zengin insan ilkokul mezunu bile değil. Üniversiteyi çok zengin olmak için okumuyoruz. Üniversiteyi bitirince genellikle orta zenginlikte oluruz. Ve genellikle okuyanlar okumayan kişilerin yanında onların işlerini halledebilmek için çalışırlar.  Evet hayat adil değil, kimileri önde başlıyor ama bu sizin daha çok çalışmanıza mani değil. Üstelik o kadar da geride başlamıyorsunuz, Kör değilsiniz sağır değilsiniz... Bir çok insandan daha iyi bir noktadan başlıyorsunuz hayata. Bu yüzden size verilmiş konumunuzu en iyi şekilde kullanın. Her daim para peşinde koşmak yerine biraz da üretkenlik peşinde koşun. Üniversitede gezin tozun ama kendinizi geliştirmeyi ihmal etmeyin. Mezun olduktan sonra bile kendinizi geiştirmeye devam edin. Bilgisayar mühendislerinin aldığı maaşları www.bilgisayarmuhendisleri.com adresinde ilgili makaleyi arayıp bulun.

    5. Ömür boyu kod yazılmaz. Belli bir yaştan sonra kafa almaz.

     
    En büyük yalanlardandır. Bu yalanın çıkış kaynağı genellikle yeni mezunlar ve tecrübesiz yazılımcılardır. Çünkü ilk programlarını yazarken çok zorlanırlar, çok çalışmak zorunda kalırlar. Bir an önce kod yazmayı bırakmalıyım demeye başlarlar. Bir kısım öğrenciliğinde kod yazmayı bırakır bir kısmı mezuniyetinde bir kısmı da ilk 3 yıldan sonra kod yazmayı bırakırlar. Ama iyi kod yazan tecrübeli mühendislerin bildiği gibi ilk 5 yıldan sonra kod yazmak çocuk oyuncağı gibi gelir. Yeni mezunun 6 ayda yapamayacağını tecrübeli yazılımcı 6 günde yapabilir. Yani yaşlandıkça kod yazma süresi uzamaz tersine kısalır. Bu yüzden tecrübeli yazılımcılar bol bol vakit bulduklarından boş işlerle çok uğraşırlar, oyun oynarlar gezerler tozarlar...  Yani yeni mezunsanız sabredin işler 5 yıldan sonra oldukça kolaylaşacak... Yaşlanınca kod yazamam diye korkmanıza gerek yok.

    6. Program yazmaya bile gerek kalmayacak. Çünkü kendi kendine program yazan programlar çıkacak. 2 tık yaparak program yazılabilecek. Herkes program yazabilecek duruma gelecek.


    Aslında zaten 2 tıkta program yazabilceğiniz bir sürü program zaten yapılmış durumda. Mikrosoft bile bir sürü tool çıkarmış durumda. Ama kim kullanabiliyor ki, bırakın kullanmayı haberdar olan kaç kişi var ki? Bir de kendi kendine program yazan programları da birililerinin yazması gerekecek. Yani bilgisayar mühendisleri yapacak bu işi :)

    7. İşin hamalık tarafını yapmak istemiyorum, Kodcu olacağıma yönetici olur kodcuları çalıştırırım.


    Bu yalan da yazılım işini beceremeyenler tarafından uydurulmuş ve internette son sürat yayılmıştır. Genelde biraz kod yazıp beceremeyenler, önce bu içi çok kolay sanmaktadırlar. Bu yüzden kod yazmak çok kolaydır diye yalan yayarlar. Hatta kodçu deyip program yazanları küçümseme ve aşağılama yoluna giderler. Sonra karşılarına kod yazma fırsatı bir program yazma ihtiyacı duyulunca bu işi beceremezler. Yapamayacaklarını anlayınca da bu sefer yazılım işi hamallık işidir deyip işin içinden çıkmaya çalışırlar... Bu tip adamlara sadece gülün. Evet yazılım zor iştir ve herkez başaramaz sadece çok çalışanlar becerebilir. Ama bu işi başaramayanlar yazılımcıları da yönetemezler. Birincisi iyi bir yazılımcıyı tanıyamazlar ikincisi yazılımcıya ulaşamazlar. Bu yüzden bu tipteki adamlar bırakın yazılımcıları yönetmeyi yazılım sektöründe bile kalamazlar. En fazla harddisk ithalatı yapan firmalarda yönetici olabilirlir (olabilirlerse tabiki..) 

    8. Bilgisayar mühendisliği okuyacağıma başka bir bölüm okurum çok merak edersem kursa gider kod yazarım.


    Keşke herşey bu kadar siyah ve beyaz olsaydı. Böyle diyenlerden program yazabilen görülmemiştir. Bu yalanın kaynağı tam bilinmemekle beraber forum köşelerinde bölüm seçmeye çalışan lise öğrencileri olduğuna dair duyumlar almaktayım. Eğer kod yazmak bu kadar kolay olsaydı o kurslarda öğretmenlik yapanlar 3 kuruşa öğretmelik yapacaklarına daha falza ücrete piyasada program yazarlardı.... 

    9. Yazılım dili bilmek önemli değildir. Yazılım mühendisliği ve Bilgisayar mühendisliği farklı şeylerdir. 



    Hayır efendim farkı şeyler değildir. Eğer bir adam kod yazamıyorsa bilgisayar mühendisi değildir. Bu yalan genellikle kod yazamayan akademik çevrelerde rağbet görmektedir. Ben kod yazmam, ben yapay zeka ile uğraşıyorum, ben robotik ile uğraşıyorum derler. Yerim sizin robotiğinizi. Bilmesek bize yutturacaklar. Sevgili okurlar yazılım bilmeden, yazılım olmadan hiçbir elektronik şey işlemez. Hiçbir yapay zeka vs projeler yazılımsız olmaz. Birilerinin mutlaka yazılımı yapıyor olması gerek. Bu yazılımı hazır da kullanabilirsiniz siz de yazabilirsiniz. Yani birilerinin yazılımı mutlaka yapıyor olması gerekir. Yapay zekayı yapay zeka yapan yazılımdır. Eğer işin içinde yazılım yoksa olay mekanikleşir. Yazılım varsa elektronikleşir. MP3 çalarınızın içinde bile yazılım çalışıyor. Maç yapan robotlar ya da araba üreten robotlarda bile yazılım var. İlla bu yazılımın C, C#, Java olması gerekmiyor. Bunlar bir araçtır, ama temel yazılım becerileri olmadan bir bilgisayar mühendisi mühendis değildir.  Untumayın bir bilgisayarı bilgisayar yapan monitörü değil, içindeki işletim sistemidir.

    10. Ben yazılım kavramını biliyorum bu yüzden yeni bir programlama dilini 1-2 haftada öğrenirim.


    Genelde yeni mezunlar arasında oldukça yaygındır. Genelde okulda bir programlama dilini biraz öğrenmişlerdir. Farklı bir yazılım dilini kullanan bir işyerine başvuru yaptıkları sırada söylerler bunu... Ya da programlamadan hiç anlamayan tipler böyle der. Ama genelde işler böyle yürümüyor. Hiç bir dil 1 haftada öğrenilmiyor ve bu öğrenilenleri enterprise uygulamalarda kullanmanız çok zordur.. En azından eğer bir projeye girecekseniz gerçekten o dil ile iligli bir çok deneme yanılma programları yapmanız gerekiyor. Öyle şak diye bir dilden bir dile geçilmiyor. Ancak 5-10 yıl bu işlerde tecrübeli iseniz böyle şak diye geçebilirsiniz. Unutmayın yazılımda en önemli şeylerden bir tanesi tecrübedir. Bir dilde yazdığınız programlarda edindiğiniz tecrübe çok önemlidir. Bu yüzden bol bol program yazın. Tecrübenizi bol bol arttırın. 

    Unutmayın iyi bilgisayar mühendisleri iyi paralar kazanmaya devam edecek.
    alıntı: http://www.bilgisayarmuhendisleri.com

    7.05.2010

    Java'da Sınıf ve Metotları Anlayalım

    Yazılım, gerçek dünyaya ait problemlerin  bilgisayarda gösterimi ve çözülmesi ile ilgilidir. Gerçek dünyada her şey  nesneler ve nesnelerin işlenmesi ( ya da değişimi ) ile ilgilidir. Bu sebeple programların da nesnelerin tanımı (sınıflar) ve nesnelerin işlenmeleri (metotlar) çerçevesinde oluşturulmaları, programların daha kolay gelişmesini sağlar.

    Java'da sınıf kavramını daha önce belirtmiştim. Şimdi biraz daha açıp örneklerle pekiştirmek istiyorum. Sınıf kavramı için benzer özellik gösteren nesnelerin oluşturduğu topluluk diyebiliriz. Hatta bunu diğer yazımdan başka bir örnekle de açıklayabiliriz. Sınıfı bildiğiniz sınıf olarak düşünün. İçerisinde neler vardır. Öğrenciler vardır değil mi? Diğer alet-zırzavatlarda bu vereceğim örnekle benzerlik gösterecektir; ama farklı bir sınıf olarak tanımlanabilirler. Biz sadece sınıfın içinde öğrencilerin olduğunu varsayalım. O zaman öğrencilerin hepsi birer nesne olur değil mi? Hatta gerçek hayatta bile düşünseniz onlar birer nesnedir, her şey gibi. Bunların benzer özellikleri var değil mi? Zaten benzer özellikleri olmasa aynı sınıf içinde yer almazlar. En basitinden el,kol ve ayakları var. Bu insan sınıfının da özellikleri. Başka üniformaları var, kitapları var,defterleri var. Hemen hepsi aynı dersleri alıyor (muhtemelen aynı hocadan) vs vs..

    Gelin başka bir örnek verelim:

    Kitap bir sınıftır değil mi? Buraya dikkat bende burayı karıştırmıştım en başında. Kitap tabiri olarak java kitabı, matematik kitabı, tarih kitabı vs diyoruz. Hepsinde kitap geçiyor ve hepsi de yapraklardan, kendi kaplarından oluşuyor, içerisinde yazılar var vs. Bunları birleştirirsek şu sonuca ulaşıyoruz:
    Tarih kitabı bir nesnedir, java kitabı bir nesnedir, matematik kitabı bir nesnedir. O zaman KİTAP bir sınıftır.

    Hatta daha iyi bir örnek:

    Java Kitabı
    Özellikleri:

    • Kitabın adı
    • Yazarları
    • Yayıncı
    • Sayfa
    • Fiyat

    Matematik Kitabı
    Özellikleri:

    • Kitabın adı
    • Yazarları
    • Yayıncı
    • Sayfa
    • Fiyat
    Sanırım bayağı kapsamlı bir örnek oldu anlaşılması bakımından...

    Peki metot nedir?
    Kısaca sınıfların içinde işlevi olan program parçalarıdır desek sanırım yanlış olmaz. Sınıf içinde tanımlı metotlar ileride programın ana gövdesine çağırılır ve çalıştırılır. Metot kavramına da güzel bir örnek vermek gerekirse, bir mağazada çalışan personellerin oluşturduğu bir sınıfı ele alalım.

    Personel Sınıfı:
    Sınıf Adı: Personel
    Özellikleri:

    • isim
    • sicilNo
    • vergiNo
    • ePosta
      Metotları:

    • maaşHesabı();
    • ePostaYollama();
    Sınıf metotları, sınıfa ait tüm nesnelerle birlikte kullanılabilir. Yukarıdaki örnekte, Personel sınıfının maaşHesabı() ve ePostaYollama() metotları tanımlanmıştır. Bu metotlar, Personel sınıfına ait herhangi bir nesne ile birlikte kullanılabilir. maaşHesabı() metodu, hangi Personel nesnesi ile birlikte kullanılmışsa, o personelin maaşını hesaplar; ePostaYollama() metodu da hangi Personel nesnesi ile birlikte çağrılmış ise o personel tarafından bir eposta gönderilmesini sağlar.

    Diğer yazılarımda örneklerle daha da iyi açıklayacağım...

    4.05.2010

    Java'ya Başlangıç

    Bu dönem okulumda nesne yönelimli programlama adlı ders görüyorum ve Java üzerine gidiyoruz. Bende öğrenebildiğim kadar bilgi öğrenmeye çalışıyorum ve hem öğrendiklerimi unutmamak için hem de yavaş yavaş kendimi geliştirmek için bildiklerimi burada paylaşmak istedim.

    Java nedir ne değildir diye burada uzun uzadıya bir açıklama yazmayacağım. Zira bunun hakkında internetten yığınla bilgi edinebilirsiniz. Ben burada daha çok öğrendiğim ve notlarıma yansıttığım konuları, örnek kodları ve programları yazacağım. Buna benzer yazılarla javayı daha da iyi öğreneceğimi sanıyorum. Öğrendikçe paylaşacağım sanırım paylaştıkça da öğreneceğim.

    Efendim java ile ilgili ilk yapmamız gereken şey bir java programlarını geliştirme platformlarından birini bilgisayarımıza kurmaktır. Ben bunun için iki şey kullanıyorum. Birincisi Eclipse, diğeri ise Netbeans. İkisi de birbirinden güzel. 

    Şimdi en başta söylediğim şeyi hatırlayalım. Java nesneye dayalı bir programlama dilidir. Yani java da her şey nesnedir. Tabi nesneleri yönetmek için referanslar kullanılır. Nesneye dayalı bir dilde nesnenin yanında sınıflar vardır, hemen her programlama dili gibi değişkenler vardır vs. 

    Öncelikli olarak nesne kavramının iyi bilmemiz gerekiyor. En kolay yolu da sanırım gündelik hayattan örnek vermek. Çevremize bir bakarsak her şey bir nesnedir: İnsanlar, arabalar, binalar, ağaçlar vs. Bütün bu nesnelerin kendi içinde ya da diğerleri ile birtakım etkileşimleri olur. İşte nesneye dayalı programlama da bunlar gibi açıklanabilir. Benzetmeye uygun olması açısından  bir programın birbirleri ile temas halinde bulunan nesneler bütünü olarak tasarlanmasıdır diyebiliriz. 

    Sınıf  (class)  kavramını ise birbirine benzer özellikler taşıyan nesnelerin oluşturduğu topluluk diyebiliriz. Örnek vermek gerekirse taşıt bir sınıftır. Sınıf kavramı içinde nesnelerden bahsettik o zaman taşıt sınıfının içinde nesneler olmalı. Mesela araba bir nesnedir, mesela motosiklet bir nesnedir ya da başka bir örnek bisiklet bir nesnedir. Sınıf kavramında bahsettiğimiz bir olgu daha vardı o da benzer özellik taşıyan nesneler idi. Peki saydığım bu nesneler benzer özellik taşıyor mu? Evet, mesela hepsinde fren var ( farklı şekillerde de olsa) ya da hepsinde tekerlek var gibi gibi gibi. 

    Metot (method) kavramı ise bir sınıf içinde tanımlanmış nesneler vardır demiştik işte bu nesneler üzerine tanımlanan işlemlere ya da fonksiyonlara da metot denir. 

    Başlangıç için sanırım bu kadar yeterli. Zaten yeri geldikçe tanımlamalar yapacağım. Eğer daha önce bir programlama dili eğitimi almamışsanız şimdi kısaca bahsedeceğim şeyleri iyice kapmalısınız. Yok eğer daha önce böyle bir eğitim almışsanız sanırım bildiklerinizden fazla bir şey söylemeyeceğim.

    Programlama dillerinde kullanılan her değişkeni saklandığı verinin bir türü vardır. Bu veriler önceden tanımlanmış sayı, karakter ve Boole türünde olabileceği gibi kullanıcı tarafından da tanımlanan yapılar da olabilir. Bahsedeceğim  konu ise Java tarafından önceden tanımlanmış ve programlamanın temel yapı taşları olan veri türleri ve değişkenler.

    Değişkenler, bir programdaki sayılar ve karakterler gibi verileri saklamak ve göstermek için  kullanılırlar. Örnek vermek gerekirse:

    yumurtaSayisi= 6;

    Burada yumurta sayısı bir değikendir ve değeri 6'ya eşitlenmiştir.

    Değişken adlarının anlaşılabilir olması programı okuyan bir kişinin o değişkenin ne amaçla kullandığını anlaması açısından önemlidir. İleride yapacağımız değişiklikleri de kolayca yönetebilmek açısından da ayrı bir önemi vardır. Bu yüzden değişken adlarını olabildiğince anlaşılabilir kılmalıyız. 

    Ayrıca bilmemiz gereken bir diğer konu ise javanın büyük-küçük harf duyarlı olmasıdır. Yani, yumurtaSayisi ile yumurtasayisi değişkenleri farklı birer değişkendir. Bir diğer husus ise javada değişken adları yalnızca harfler, sayılar ve '_' (alt çizgi)  karakterlerinden oluşmasıdır.  Bir belirleyici ismi mutlaka bir harfle başlamalıdır. 

    Değişkenler sayı, karakter ve Boole türlerini göstermek için kullanılır. Bir değişkenin türü onun ne tür bir veri saklayabileceğini gösterir. 

    ------>   Tam sayılar ile ilgili bilgileri tutan değişkenler:
      byte, short, int  ve long.

    ------>   Ondalık sayıları tutan değişkenler:
      float ve double. 

    ------>   Karakter değişkeni:
      char.

    ------>   Boole değişkeni:
      boolean.

    Tabi bu veri türlerine gelişigüzel bir değer ataması yapamıyoruz. Her veri türünün bir aralığı vardır. O aralığın dışına taşarsa hata oluşur.

    Biraz açmak gerekirse:
    'byte' türü bir tam sayı değeri alıyordu. 'byte' türünün büyüklüğü 1 bayttır. 1 bayt 8 bittir. ikilik sistemde 2 üzeri 8, 256 eder. yani 256 tane değer alabilir. E peki hangi değerleri alabilir? Tam sayı dendiğinde akla hem negatif hem de pozitif değerler gelmiyor mu? Tamam o zaman. " -128 ile +127" arası değer alabilir deriz. ( 0 (sıfır) da bir değer olduğu için + 128 olmaz.)

    'short' türü iki bayttır. İki bayt 8 bittir. 2 üzeri 8 ne eder? 
    65536. Bunun yarısı negatif sayılara yarısı da pozitif sayılara eklenir. Yani -32768 ile 32767 arası (sıfırı unutmamak gerek)

    Bu hesaplamaları int ve long içinde yapabiliriz. 'int' 4 bayt, 'long' ise 8 bayttır. Artık matematik size kalmış. 

    Bunların dışında ondalık sayılar için 'float' ve 'double' veri türlerini kullanıyoruz. 'float' 4 bayt yer kaplar ve değer aralığı :
    1.7e-308’den 1.7e+308’e kadar olan aralığı kaplar. ( e 10 üzeri anlamındadır.  e-308, 10 üzeri -308 ) 

    'double' veri türü ise:
    3.4e-038’den 3.4e+038’e kadar olan aralığı kaplar.

    Karakter olarak kullanılan veri türü 'char' ise 2 baytlık büyüklüğe sahiptir ve alabileceği değerler Unikod karakterleridir.

    Boole olarak kullanılan veri türü  'boolean' da 1 bitlik yer kaplar ve alabileceği iki değer vardır. Bunlar true/false 'dur. 

    İlk yazı için bu kadar...