Nazan Bekiroğlu ~ Yusuf ile Züleyha

Bir kuyu’nun derinliklerinden Mısır’ın hükümdarlığına uzanan Yusuf’un hikayesi bu ..
Mısır’ın en güzel kızıyken sevgisinin sarhoşluğundan sevdiğinin zindana atılmasına sebep olan Züleyha’nın
hikayesi bu kitap ..
Yusuf’unun kanlı gömleğiyle gözlerine perde inen Yakub peygamberin yıllar sonra yine oğlunun gömleğiyle
gözlerine inen perdenin kalktığının anlatıldığı bir hikaye bu ..
Böyle güzel bir hikaye Nazan Bekiroğlu’nun betimlemelerle dolu güzel uslubuyla anlatılmış bu
kitapta.Kardeşleri tarafından kuyuya atılan Yusuf’un günler sonra bir kervan tarafından bulunmasıyla başlıyor
kitap.Köle pazarında güzelliğiyle rağbet gören Küçük Yusuf,Mısır valisi Potifar tarafından yeni evlendiği eşi
Züleyha’ya hediye olarak alır.Züleyha Yusuf’a çok iyi bakar ve onu büyütür.Sonrasında çok önceleri rüyasında
gördüğü karşısına çıkacak o güzel insanın Yusuf olduğunu düşünür ve ona aşık olur.Züleyha’nın aşkı Mısırlı
kadınların diline düşer.Züleyha kendisini ayıplayan Mısırlı kadınlara Yusuf’un güzelliğini göstermek için bir
yemek düzenleyip bu kadınları misafir eder.Yemekten sonra meyvelerin yenilmeye başladığı sırada Züleyha
Yusuf’un içeriye girmesini ister.Yusuf’un güzelliğin gören kadınlar o esnada farkına varmadan ellerini
keserler.O zaman Züleyha’ya hak verirler.
Züleyha bir gün yusuf’u odasına çağırıp “Gelsene” diyerek yanına oturmasını ister.Ancak yusuf bunu
istemez.Bir yandan da sahibesi kapıları kapatıp Yusufu sıkıştırmaktadır.Yusuf o esnada şu güzel duada
bulunur.”Rabbim bana istememeyi isteyebilmeyi nasib et.” Yusuf odadan çıkmaya çalıştığı esnada Potifar
kapıyı açar ve olanları görünce Yusuf’a zindana atar.Sonrasında 7 sene zindanda yatan Yusuf rüya
yorumcularının yorumlayamadığı Firavun’un rüyasını yorumlayınca Firavun’un Yusuf’u görmek ister.Firavun
Züleyha’yı dinledikten sonra Yusuf’un suçsuz olduğunu anlar.Firavun Yusuf’a Mısıra vali yapıp Züleyha ile
evlendirir.

Nazan Bekiroğlunun kitapları güzel betimlemelerle dolu oluyor.Bu kitapta da çok güzel bölümler var.İşte bunlardan bazıları ;

”Sevginin yanılgısı yok. Yanlış olan neyi sevdiğini bilmemek ve yolu yanlış çizmek. Hangi kaynaktan geldiğini suyun, hangi dağın üstünden döküldüğünü aydınlığın, bilmemek. Bilmemek yanlış kılar sevgiyi.”

”Sevginin yanılgısı yok. Yanlış olan neyi sevdiğini bilmemek ve yolu yanlış çizmek. Hangi kaynaktan geldiğini suyun, hangi dağın üstünden döküldüğünü aydınlığın, bilmemek. Bilmemek yanlış kılar sevgiyi.”

”Ben bana yeterim senin yetmediğin yerde, onarırım kendi ellerimle kalbimi, kendi ellerimle severim kendi yüreğimi.”

”… aşk zorlu bir sınav, ben bu sınavı en baştan ve gönüllü mü kaybettim? Hayır işte! Yitirmiş görünsem de kazancımsın sen benim. Ve şer gibi görünsem de göreceksin, yitirdiğin ne varsa benim sana açtığım kuyuda, hayrın olacağını sonunda.”

”Rabbim sen en iyisini bilirsin. Sen en iyisini bilirsin ve böyle olduysa, böyle olması gerekiyor demektir.”

”Hayat çok şey öğretiyordu ama bir hayli kabadayıydı.”

YusufileZuleyha“Yûsuf’un rüyası: Gerçekleşen bir rüya. Bir peygamber rüyası.
Züleyha’nın rüyası: Yanıltıcı bir rüya? İlk bakışta? Sonunda o da gerçekleşen bir rüya.
Firavn’ın rüyası: Bir hükümdar rüyası.
Görülmeyen bir rüya: Nil nehrinin rüyası.
Rüyaların rüyası: Yazıcının yazılmayan rüyası.
Kim kaderin Züleyha’yı köle etmek için önce Yusuf’u pazarlara düşürdüğünü tahmin edebilirdi ki ?”

“Bundan böyle sözcük dağarcığım Yusufun dilinden dökülen kadardır…Sadece sözcükler değil,hayat sözcükler kadarsa varlığımda Yusuf kadardır… ”

“Sende bileyim, sende bilineyim. ”

“Bu kadar ısrarla çağırmadı kimse kimseyi, tamamla bu fethi, sun bana zaferini. Yusuf kuyuda da mutluydu,Züleyha’nın yanında da..Şimdilerde ne Züleyhalar yetiyor Aşka,ne de kuyudakilerin yüreği sabra.. “

“Yusuf en çok,Züleyha onun gözbebeklerine mühürlüyken güzeldi… “

“Her zaman olupda şimdi olmayan bir şey, her zaman galip de şimdi gelmeyen şey.”

“Yusuf anladı ki yitirmek gibi bulmanın da zamanı vardır.Ve zaman yakındır.”

“Bundan böyle sözcük dağarcığım Yusuf’un dilinden dökülen sözcükler kadardır.”

“Görmekten sonra görülmek aşkın ikinci kademesiydi.”

“Herhalde zamanı vardı Aşkın bir adı da sabırdı.”

“O sana bakmıyorsa sen onun baktığı yerde olursun.O gelmiyorsa sana,sen onun gittiği yerde durursun.”

““Senin kaderin benim tecellim”,kaderimde zindan varsa,Yusufluğun su götürmez benim”

” aşk benim hakkım,

aşkın hakkımız olmayanı istemek anlamına geldiğini bildiğimden bu hak ediş,

çünkü bu aşk benim yazgım,

çünkü kutsal kitaplarda zikredilecek benim adım.

Yükselmek için düşmek,arınmak için kirlenmek,çıkmak için batmak lazım.

yeniden doğmak için ölmeli insan bir kere,

ruh olmak için teni yakmalı kadın

ve suyun serinliğini bilmek için ateşe düşmeli kadın.

Vurucu,kavrayıcı ve kuşatan ,durmayan,koşan,

böyle yazılmış benim yazgım,kutsal kitaplarda böyle geçecek adım,

yazgıma nasıl baş kaldırırım

Okunası güzel bir kitap 😀

Dostoyevski – Yeraltından Notlar

Öncelikle şunu belirtmem gerekiyor ki bu kitaptan önce okuduğum kitaplarda benzer temalar işlenmiş olmasından dolayı yer altından notlar kitabının farklılığı,kitaplara olan algımın eksik olduğunu farketmemi sağladı.Bu kitapta çoğu kitapta olduğu gibi olaylar üzerinden insanı anlatmak yerine;okuyucuya bir insan üzerinden olayları anlatarak insanı (kendisini) romanın konusu haline getirmiştir.

Kitabın isminin neden yeraltından notlar olduğu sorusuna Dostoyevski romanında “Vardığım sonuca göre, en iyisi hiçbir şey yapmamak! Her şeyden iyisi, bir köşeye çekilip seyirci kalmak. Onun için yaşasın yer altı!” cümleleriyle cevap veriyor.Her ne kadar romanın Dostoyevski’nin otobiyografisi olduğunu söyleyemesekte roman kahramanının,yazarın yaşıtı olması ve hayat hikayesinin benzerliği romanın,Dostoyevski’nin kendisine olan özelelştirisi olduğunu düşündürtüyor.
Kitabın başkahramanı kendisinin çevresinden daha zeki ve iyi birisi olduğunu düşünmektedir.Ancak geçim sıkıntıları ve yaşadığı hayat itibariyle istediği hayatı yaşamamaktadır.Kendisini üstün gören başkahraman bu hayatıyla başedememenin acısını çekmektedir.Beraber büyüdükleri çocukluk arkadaşları iş güç sahibi olurken kendisi hiçbirşeyi başaramamıştır.(Bu deyim böyle değildi ama :)) Bu arkadaşlarından üstün olduğunu düşündüğü için arkadaşlarıyla buluşacağı bir veda partisinde onlardan zeki olduğunu göstermeye çalışır ancak bunu beceremez.Düşündüklerini yapamamanın verdiği acıyla aynı gece tanıştığı Lisaya tüm gecenin acısını çıkarırcasına sert bi dille nasihatler eder.(Kitabın bu bölümü adeta kitap içinde kitap olup harika yazılmıştır.)Bu arada Lisa’dan hoşlanmaya başladığını farkeder. …
Kitabın hoşuma giden altı çizilesi satırlarına gecmeden önce özgür düşünceyi güzel anlattığını düşündüğüm bir kısmı paylaşmak istiyorum.””Sözün gelişi, sana maymundan geldiğimizi kanıtlamışlarsa, bu gerçeği yüzünü buruşturmadan kabul edeceksin. Gövdendeki tek bir yağ damlasının senin için yüz binlerce hemcinsininkinden değerli olması gerektiği; erdem, sorumluluk, safsata, boş inanç denen şeylerin hep bu sonuca göre çözümlendiği kanıtlanırsa yine olduğu gibi kabul edeceksin, çünkü matematiğin ‘iki kere iki dört eder’ kesin sonucu vardır bunlarda. Hele bir karşı durmaya kalkın; ‘Aman efendim, nasıl karşı çıkarsınız? Bu, iki kere ikinin dört etmesi kadar açıktır! Doğa size danışmaz, onun sizin isteklerinizle, yasalarının hoşunuza gidip gitmediğiyle işi yoktur. Doğayı olduğu gibi, bütün sonuçlarıyla kabul etmek zorundasınız. Duvar duvardır vb. vb.’ diye bağırırlar. Aman tanrım, herhangi bir sebepten ötürü doğa yasaları ile iki kere ikinin dört ettiği hoşuma gitmiyorsa, bana ne bu yasalardan, bana ne aritmetikten? Duvarı delmeye gücüm yetmiyorsa, ‘ille deleceğim’ diye yırtınmam elbette; ama önümde yıkmaya gücümün yetmediği bir taş duvar bulunmasına da razı olamam.
“… insanlar,yeri gelince bir öküz gibi böğürerek boğazlarını yırtarlar;gerçi bu durum,onları insanlar içinde yükseltebilir ama küçük bir zorlukla karşılaştıklarında ise hemen bir köşeye siniverirler.”
Bir defacık da aklını bir köşeye bırakarak,ilk ve asıl nedenleri aramadan,derinlemesine düşünmeden,sadece bir şeyler yapmak için sev ya da nefret et.Sonuçta koca bir sabun köpüğü ve her zamanki tembelliğin çıkacaktır karşına.
” İnsan,bazen kendisi için iyi olanı değil de kötü olanı isteyebiliyor,hatta yapmak zorunda bile kalabiliyor;ya buna ne demeli? ”
Mantığın ne kadar önemli bir özellik olduğunu biliyorum,ama insanın düşünme ihtiyacını gidermekten başka işe yaramaz;fakat istek,hayatın tüm anlamıdır.üstelik en küçük bir hareketten yüce mantığa kadar.
” …Saçma,aptalca olan istek,bazen dünyadaki bütün nimetlerden değerli olabilir bizim için.”
” Kitaplarımızı elimizden alsalar,öylece ortada kalakalacağız.”

Ayrıca Zeki demirkubuz bu kitaptan uyarlama Yeraltı filmini çekmiştir.

HTML Tagler

HTML taglerine geçmeden önce HTML Syntaxı ile ilgili biraz bilgi vermek istiyorum.Html’de büyük-küçük harf duyarlılığı yoktur.HTML elemanları bir başlama tagi ile başlar ve bir bitiş ya da kapanış tagi denile tag ile sonlandırılır.Tanımlanan elemanın içeriği bu iki başlama ve bitiş tagının arasında bulunur.Çoğu tagler başlangıç ve bitiş tagları halinde kullanılırken bazı tagler sadece başlangıç tagleri ile tanımlanır.Taglerin özellikleri vardır ve elemanları istediğimiz şekilde dizayn etmemizi sağlar.Eleman düzenlemesini Style tagının yanı sıra Css ile daha da profesyonelce görünümler elde edebiliriz.Şimdi taglere geçelim..
Bir HTML dokumaninda olmasi gerekli olan temel taglerimiz vardir.Bunlar şu şekildedir:

<!DOCTYPE html>
<html>
<head>
<title>Sayfanın Başlığı</title>
</head>
<body>
Sayfa içerigi
</body>
</html>
<!DOCTYPE> websayfamızın browserda düzgün bir biçimde gösterilmesini sağlayan tagdir.İlk satırda yazılması gerekmektedir.Html5 ten önce daha karmaşık olan bu tag HTML5 ile en sade haline getirilip bu ifadeyle yazımı yeterli hale getirilmiştir.
<h1,h2,h3,h4,h5,h6> :Bu tagler ile text boyutunu düzenleyebiliriz.
<p></p>:Sayfamıza paragraf eklememizi sağlayan taglerdir.
HTML’de kullandığımız elemanlara link vermemizi sağlayan tagler sayesinde yönlendirmeleri de sağlayabiliriz.
<link> tagleri dokuman ile yonlendirilecek yeni dokuman arasındaki ilişkilendirmemizi sağlar.

<a href=”http://www.seydialkan.com/“>Visit my blog</a>:Bu tanımlama ile texte link vermiş oluruz.<a> tagi arasına yazılan texte tıklandığında href ile belirtilen sayfaya yönlendirme yapılır.
<a href=”http://www.seydialkan.com/“><img src=”URL” alt=”Alternate Text”></a>:Burada bir resime url atamış oluyoruz.
<a href=”mailto:info@seydialkan.com“>Send e-mail</a>:Bu şekilde bir linklendirme ile belirtilen mail adresine yönlendiriliriz.
<link rel=”stylesheet” type=”text/css” href=”style.css”>:Bu ,fade ise yukarıda da kısaca bahsettiğim css dokumanında yazdığımız kodları sayfada kullanmamızı sağlayan ifadedir.
<br> :Bir text’i sonraki satırda başlatan tagdir.
<!– … –> : Bu tag arasına aldığımız ifadeler yorum olup sayfada işlevsizleşecektir..
<style> :Bu özellik html dokumanını bir duvara benzetirsek o duvarın çimentosu gibidir 😀 Sayfayı düzenlememizi sağlayan özelliktir.Bir sonraki aşaması CSS ile HTML Dokumanını çok karıştırmadan tek bir yerden düzenlemektir.
<class>:Bir eleman için bir veya birden fazla sınıf tanımlanabilir.(css’te bize birçok kolaylık sağlayacaktır.)
<id> :Her bir elementi tek bir id ile özelleştirebiliriz.
<script>:HTML dokumanımızda bir script kullanmak için bu tag ile yonlendirme yaparız.
<meta>:Bu tag sayfada herhangi bir işlev gerçekleştirmez.Arkaplanda sayfanın browserda çalışmasıyla ilgili detayları düzenleten tagdır.Arama motorlarına sayfa hakkında ihtiyaç duydukları bilgileri sağlar.

HTML’de Listeleme Tagleri:
<ol> Listelemeyi (1,2,3 ..) şeklinde sıralı bir biçimde yapar.
<ul> Listelemeyi sıralama yapmadan gerçekleştirir.Liste elemanlarının başına nokta türlerini getirir.
<li> Listelenecek elemanları listeler.
<dl> Listemizin başında herhangi bişey olmasını istemediğimiz durumlarda kullanırız.
<dt> Listemizin başında boşluk bırakmadan satır başından yazdırır.
<dd> Listeyi alt kategoriler şeklinde içeriden başlatır.

HTML’de Table ve div’ler
<table> Tablo oluşturmamızı sağlayan tag
<th> Tablodaki hücreye başlık ekleme tagıdır.
<tr> Tabloda bir satır eklememizi sağlayan tagdir.
<td> Tabloya bir sütün ekler.

<div> Dökümanı bölmelere ayırır.Böylelilkle bölmeler üzerinde daha kolay düzenlemeler yapabiliriz.

<span> Verilerin gösterilmesi için bir katman sağlar.

HTML Form Oluşturma Tagleri:
<form> Kullanıcı girişine izin verecek bir form oluşturur.
<input> İnput girişini sağlar.
<textarea>Multiline text alanı oluşturur.
<label> Bir etiket oluşturur
<fieldset> Formdaki ilişkili elemanları gruplandırır.
<select> Seçim yapabileceğimiz bir drop-down listesi oluşturmamızı sağlar.
<option> Drop-down listesindeki elemanları oluşturmamızı sağlar.
<button> Buton oluturan tag’dir.
Çeşitli input tipleri vardır.Bunlar:
<input type=”text” name=”email” size=”40″ maxlength=”50″>
<input type=”password”>
<input type=”checkbox” checked=”checked”>
<input type=”radio” checked=”checked”>
<input type=”submit” value=”Send”>
<input type=”reset”>
<input type=”hidden”>
<textarea name=”comment” rows=”60″ cols=”20″></textarea>
<iframe> Frame kullanabileceğimiz bir alan oluşturur.

Sosyal Medya Üzerine

Sosyal medya özellikle Facebook’un yaygınlaşmasıyla 5-6 yıldan beri hayatımıza giren ve son dönemlerde artık günlük yaşantımızın her anında iletişim halinde olduğumuz bir ortam.Sosyal medya televizyon,gazete ve interneti birarada harmanlayıp bunları istediğimiz şekilde seçip kendi profilimizi oluşturabileceğimiz bir ortam.Sadece Facebook’un 1 milyara yaklaşan kullanıcı sayısıyla dünyada Çin ve Hindistan’dan sonra bu kadar insanın bir arada bulunduğu üçüncü en büyük topluluk.Hal böyle olunca Sosyal medya kimleri için büyük bir reklam pazarı kimileri için iş alanı oldu.Artık büyük firmalar sosyal medya uzmanları veya danışman firmalar aracılığıyla bu büyük topluluğa ulaşmanın gayreti içerisindeler.
Peki Sosyal ağların bu kadar popüler olmasının nedeni nedir? Neden fotoğraflarımızı facebookta paylaşıp fikirlerimizi twitter üzerinden paylaşmaktayız? İş çevremizle linkedin üzerinden iletişimde kalıp foursquare ile check-in lerle yerimizi arkadaşlarımızla paylaşıyoruz.Yapılan bir araştırmaya göre kadınlar günde 81 dk;erkekler ise günlük 64 dk’sını sosyal ağlarda geçiriyor.Öğrenciler özellikle sınav zamanlarında stresten kaynaklı her 5 dk’da bir facebook hesaplarına bakıyor. (Çok doğru 😀 )
Sosyal ağların bu kadar yaygınlaşmasının en önemli sebeplerden birisi insanlara kendine özel alanlar sunması.Herkes bu profiller üzerinden fotoğraflarının paylaşıp olaylar hakkında yorumlar yaparak dünyada gerçekleşen olaylar hakkında fikirlerini beyan edebiliyor.İnsanlara çok daha kolay ve hızlı bir biçimde ulaşabilme imkanı sunuyor.Bu şekilde istediğimiz kişilere hemen ulaşabiliyor isteyenlerin de bize her an ulaşabileceği bir imkana sahip olmuş oluyoruz.Hiç tanımadığımız ama yazılarını severek okuyup,fikirlerini merak ettiğimiz birisiyle sosyal ağlar üzerinden iletişime geçebiliyor hatta sohbet edebliyoruz.Örnek verecek olursam daha dün İstanbul Valisi Hüseyin Avni Mutlu dün (03.02.2013) twitterdaki bazı takipçilerini evinde konuk ederek onlarla sohbet edip fotoğraflarını paylaşmıştı.Bir diğer örnek ise severek takip ettiğim Ahmet Hakan.Bayramda takipçileriyle buluşan Ahmet Hakan gibi Ankara Belediye Başkanı Melih Gökçekte takipçi sayısı 400 bini geçince takipçileriyle bir twitter yemeği düzenledi.Sosyal ağlar sadece toplumda etki yaratmış bir ağ değil.Devlet yetkilileri de insanlara ulaşabilmek için sosyal ağları kullanmaktadırlar.Bunun en iyi örneklerinden bir tanesi ABD başkanı Obama.2008’de başkanlık seçiminde sosyal medyadan profesyonelce yararlandığı kabul gören Obama 2012 seçimlerinde de son ana kadar sosyal medya üzerinden seçmenlere ulaşmaya çalıştı.Nitekim son seçimlerde bu etkiyi farkeden cumhuriyetçi başkan yardımcısı adayı Ryan’da adaylığı kesinleştiği gün ilk iş olarak twitter hesabı açmıştır.Biz de ise devlet tarafında sosyal ağları en iyi kullanan isim şüphesiz Cumhurbaşkanı Abdullah Gül.Hatta geçen hafta sosyal medya ile ilgili söz sahibi kişilerin yanında bir twitter fenomeni olan beyinsizadamın da katıldığı bir yemek düzenledi.

Sosyal medyayı en etkili kullanan kesimlerden birisi ise sanatçı ve futbol takımlarının takipçileri.Sosyal ağları bu şekilde etkin kullanan grupların başında ise Justin Bieber ve OneDirection hayranları var.Ben bu yazıyı yazarken bile #JustinTurkishBeliebersCryingForYou hashtagiyle TT listesindeler.Kendilerine Biberciler diyen bu fan grupları yaptıkları hashtagler ile Justin Bieberin dikkatini çekmiş ve Bieber’in Türkiyede bir konser vereceğini duyurmasıyla istediklerini almışlardır.(Adamlar çalışıyo abi 😀 )

Aslında bi yazıda tamamlamak istemiştim ama sadece giriş yapabildim.En iyisi sosyal medya hakkında bir yazı değil bir kaç yazı yazmak olacak.
Bu arada  sağ üst taraftan sosyal ağlarıma ulaşabilirsiniz 😀

StringTokenizer()

StringTokenizer() bir metni belli kriter veya kriterlere göre parçalamaya yarayan bir sınıftır.Java.util paketinden import edilir.Bu parçalama sonucu oluşan her bir parçaya token ismi verilmektedir.Metni parçalamak için herhangi bir kriter konulmazsa default olarak boşluk koşul olarak seçilir.

StringTokenizer() sınıfının hasMoreTokens() metodu sırada bir token olup olmadığını check edip boolean(True or false) değer döndüren bir metottur.nextToken() sıradaki token’i döndürür.countTokens() O anda kalan tokenların sayısını döndürür.

[php]

import java.io.*;
import java.util.*; //StringTokenizer() sınıfını kullanmamız icin
public class filestoken {
public static void main(String[] args){
try {
FileInputStream fs=new FileInputStream("D:training.txt");
BufferedReader buf=new BufferedReader(new InputStreamReader(fs));
String line;
StringTokenizer st;
while((line=buf.readLine())!=null){
st=new StringTokenizer(line);
while(st.hasMoreTokens()){
System.out.println(st.nextToken());
}
}
}
catch (FileNotFoundException f) {
f.printStackTrace();
}
catch(IOException e){
e.printStackTrace();
}
}
}

[/php]

Kodun çıktısı ise şu şekilde olacaktır.

[php]

The
weather
is
awesome.Unfortunately
i
gotto
work
.

[/php]

Koşulları belirtmek istersek StringTokenizerdan nesne üretirken aşağıdaki gibi bi işlem yapmalıyız.

[php]StringTokenizer st=new StringTokenizer("The weather is awesome.Unfortunately i gotta work.",",!");[/php]

StringTokenizer() ile StringBuffer() beraber kullanırsak ;

[php]
import java.io.*;
import java.util.*;
public class filestoken {
public static void main(String[] args){

String a="Java Programlama";
StringTokenizer st=new StringTokenizer(a);
while (st.hasMoreTokens()){
System.out.println(st.nextToken()); }
StringBuffer text = new StringBuffer("anita ");
text.append(a);
System.out.println(text);
}
}

[/php]

Cıktısı da

[php]

Java
Programlama
anita Java Programlama[/php]

şeklinde olacaktır.

Java’da Dosya Yazma ve Okuma İşlemleri

Bir önceki yazıda File işlemlerini ve ilgili fonksiyon ve metodları yazmıştım.Bu yazıda ise bir dosya üzerine yazma işlemi ve içerisinde veri olan bir dosyayı okuma işlemlerini yazan kodu paylaşacağım.Kullanılan fonksiyonları önceki yazıda belirttiğim için burada bir kez daha ne işlev için kullanıldıklarını yazmayacağım.Sadece line to line kodu açıklamaya çalışacağım.

Önceki yazıda da değindiğim gibi File class ve metodlarını kullanabilmemiz için öncelikle java.io.* paketini program koduna import etmemiz gerekiyor.Klavyeden veri girişini alabilmek için ise Scanner‘i  kullanıyoruz.

[php]import java.io.*;
import java.util.Scanner;
public class files {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
int choose;
System.out.println("Select your choose:To Write:1;To Read:2");
choose=in.nextInt();
if(choose==1){
try{
String sentence="The weather is awesome.Unfortunately i gotto work .";
File f=new File("D:training.txt"); //Eğer yoksa bu isimde bi txt dosyası olusturulur.
FileOutputStream input=new FileOutputStream(f); // f dosyasından okuma yapılır.
PrintStream write=new PrintStream(input);
write.println(sentence);
}
catch(IOException e){
System.out.println("File can not be created.");
}
}
else if(choose==2){
try{
FileInputStream fs=new FileInputStream("D:training.txt");
BufferedReader buf=new BufferedReader(new InputStreamReader(fs));
//Burada parantez içinde ınputstreamreader ile dosyanın okunabilir bir şekilde bufferlanmasını sağlarız.
String line;
while((line=buf.readLine())!=null){
System.out.println(line);
}}
catch(FileNotFoundException f){
System.out.println("There is no file!");
}catch(IOException e){
System.out.println("Something is wrong!");
}
}
else
System.out.println("You have chosen invalid value!");
}
}
[/php]

7.satırda Kullanıcıdan okuma mı yoksa yazmamı yapacağını öğrenmek için bir seçim yapması istenmektedir.Scanner ile alınan seçime göre if-else if yapısında gerekli işlemler yapılacaktır.try catch yapısı ile bu işlemleri gerçeklenip gerçeklenmediği check edilerek program sonlandırılacaktır.

Burada try-catch demişken biraz da bu blok yapısından bahsetmek istiyorum.Try-catch yapısı kodu çalışması esnasında herhangi bir hata oluşup oluşmadığını kontrol eden bir yapıdır.Kodda bir hata oluşması durumuna exception;bir hata var ise bu hatanın yakalanıp bildirilmesine ise catching işlemi denir.try bloğu çalışmasını istediğimiz kodun bulunduğu kısımdır.Catch kısmı ise eğer kod çalışmaz ise bize hatayı ya da hatayla ilgili bir uyarıyı verecek olan kısımdır.Bu uyarılar File classında IOException,RuntimeException,FileNotFoundException  … şeklinde tanımlıdır.

yukarıdaki kodda yeni olan bişey ise 27. satırdaki buf.readLine() metodu olabilir.Burada dosyamızdan line to line prensibiyle satırları okumakta ve 28. satırda bunu konsola yazdırmaktadır.

Java’da Dosya İşlemleri 1

Java’da dosyalamaya geçmeden önce dosya yapısının ne olduğundan kısaca bahsetmek istiyorum.Dosyalama işlemleri veriler üzerinde yapılan veri saklama esaslı yapılardır.Veri depolamanın en ilkel hali de denilebilir dosyalama işlemleri için.Zira veri depolama ile ilgili özel programlar var olup dosyalamaya göre çok daha fazla veri üzerinde kolay işlemler yapmamıza olanak sağlar.
Java’da dosyalamaya geçersek dosyalarımıza ekleme,silme,düzeltme gibi işlemlerin yanı sıra veriler üzerinde string işlemleri de gerçekleştirebiliyoruz.
Bu yazıda javadaki dosyalama fonksiyonlarının önemli bir kısmından bahsedeceğim.Java’da dosya (File) üzerinde gerçekleştireceğimiz hazır sınıfları kullanabilmek için programımıza java.io paketini import etmemiz gerekmektedir.
Bir dosya üzerinde işlem yapabilmek için öncelikle o dosyaya erişim sağlamamız lazım.FileInputStream ile dosyayolu (path) belirtilerek dosyaya erişim sağlanır.
File :Dosya varsa erişimi yoksa yeni bir dosya oluşturmak için kullanılır.
FileInputStream:Dosyayolunun belirtilmesiyle dosyaya erişimi sağlayıp verileri byte tipinde okumayı sağlar.
FileOutputStream: Dosyaya karakterleri byte tipinde yazdırır.
PrintStream: print ve println metodları bu sınıfın metodlarıdır.Dosyaya metin veya kayıt eklemeyi sağlar.

Readerlar character veya text tipinde okuma yapılacağı zaman kullanılır.
FileReader:Dosyadan char ve text tipinde okuma yapar.
FileWriter : Dosyaya character tipinde veri yazmak için kullanılır.
Dosya işlemlerinde işlemlerin daha hızlı gerçekleştirilmesi için buffer denilen bir yapı vardır.Bufferlar bilgi istendiğinde daha küçük alanlarda arama yapacağından daha kısa zamanda bilgiye ulaşılabilir.

Ve son olarakta bazı file metodları:
boolean canRead():Dosya okunabiliyorsa true okunamıyorsa false döndürür.
boolean canWrite():Dosya yazılabiliyorsa true yazılamıyorsa false döndürür.
boolean exists():Dosya yolunun doğru olup olmadığını check eder.
String getName():Dosyanın ismini döndürür.
String getPath():Dosyanın yolunu gösterir.
String getParent():Dosyanın parent klasörünü döndürür.

Bir sonraki yazıda bu fonksiyon ve classları örneklerle pekiştirmeye çalışacağım.

Murat Menteş-Dublörün Dilemması

Uzun bir sınav dönemi sebebiyle bir türlü  hakkındaki yazımı yazamadığım Dublörün dilemması kitabına geçmeden önce bu güzel kitabın yazarı olan Murat  Menteş’ten bahsetmek istiyorum.Köşe yazıları vesilesiyle kendisiyle tanıştıktan sonra bir söyleşisindeki uslubu ve olaylara bakış açısı ilgimi çekmişti.Ayrıca her perşembe akşamı standart fm‘de Nunchaku adında bir program yapmakta.(Evet ismi bana da tuhaf gelmişti 😀 ) Kendilerine Afili Filintalar  çetesi dedikleri arkadaş grubuyla beraber bir blogta da yazılar yazmaktadır(ama uzun süredir yazmıyor).Olayları ele alış tarzı söyleşideki içten ve çoğu cümlesinde bana  “işte bu abi ” dedirten güzel cümlelerinden sonra kitabını okumaya karar verdim.

dKitaba geçicek olursam yazar kahramanlarına Nuh Tufan,İbrahim Kurban,Umur Samaz,Habip Hobo gibi ilgi çekecek isimler vermiş.Bu isimlerin meslekleri de son derece yaratıcı ve duyunca aa neden olmasın dedirten meslekler var.Bir tanesinden bahsedecek olursam Nuh tufan çeşitli tekniklerle müşterisinin yüzünü maskeye çevirip ses tellerini de bir ses bandajıyla kendi sesi haline getirip bu kişilerin yerine geçebiliyor ve bunların istemedikleri yerlere gidip,istemedikleri işleri veya yetişemedikleri yerlere gidebiliyor.Düşünsenize sizden ikinci bir kişi daha 😀 Benim hoşuma gitti ! Yerine derse gidecek biri daha sı sınava girebilecek birisinin olması işten sıkılınca yerinize geçecek birisi (Bu kadarı yeter de artar benim için.Hem sınavlara girecek biri mi yok artık ! Bu hafta ne kopya muhabbeti dondu okulda ya 😀 ) Neyse kitaba dönecek olursam kitabın baş kahramanı olan Nuh Tufan otobüste görüpte aşık olduğu kızla bu iş sayesinde Ferruh Ferman kılığında sevgili oluyor.Ve sonrasında tamamen bir zeka ürünü olan olaylar bazen komedi bazen polisiye roman tadında anlatılıyor.

Okurken bazen kendinizi Leyla ile Mecnun dizisini izler gibi hissedebilirsiniz ki zira ben bu kitap yüzünden metrobüste az gülmemişimdir 😀 Kitaptaki “Gülmeyi seven birisi olarak bu kitabi sevmeme ihtimaliniz 6 milyarda 1.” ifadesi bu yüzden haklı bir tespit.Bu şekildeki ilginç olasılık oranları kitabın belli bölümünde sürekli yapılmakta .

Yine bir kaç alıntıyla tamamlayacak olursam ;

Her ev, tüketim çılgınlığıyla satın alınmış lüzumlu lüzumsuz ürünlerle giderek daralmaktaydı.”

“Aşk, hayalin çocuğu, hayalkırıklığının annesidir.”

“Hiçbir aşkta umuda yer,sebebe lüzum yoktur.”

“Bir sözün doğruluğu ile inandırıcılığı arasında hiçbir bağlantı yoktur.”

“Her şey onunla aramızda kalsın isterdim. Dünya aramızda kalsın, tarih aramızda kalsın, kelimeler aramızda kalsın.”

”Hayatının geri kalanini birisiyle geçirmek istedigini anladigin zaman, hayatinin geri kalaninin bir an önce baslamasini dilersin.”

Ve son olarak Gülmeyi seven birisi olarak bu kitabi sevmeme ihtimaliniz 6 milyarda 1. Gülmek istiyosanız okuyun..

(Belki editlenecek çok kısmı olacak ama ertelemektense hasta hasta yazmayı tercih ettim .. )

Java’da Hesap Makinesi

Dört işlemi gerçekleştireceğimiz bu java programı koduyla hem programlamanın giriş konularına kısa bir giriş yapmış olacağız.Aşağıdaki kodla birlikte ilk defa göreceğimiz komut ifadeleri ve metodlardan bahsederek  bir giriş yapacak olursak ilk olarak

import : Java da her program bir package(paket) içerisinde bulunur.Bu paketlerin içerisinde arayüz ve classlar bulunur.Paketler belirli görevleri yapacak şekilde biraraya getirilmiş class ve arayüz topluluğudur.Çok fazla kod yazmak yerine javanın hazır paketlerini kodumuza import ederek bu paketlerdeki tüm classları kullanabiliriz.import edilecek sınıfları iki şekilde çağırabiliriz.Aşağıdaki kodda sınıfı tam şekilde belirtilerek (util paketinin altındaki Scanner sınıfı çağırılmıştır) ya da paketin isminden sonra * ifadesi yazılarak altındaki tüm sınıflar (java.util.*;) çağrılabilir.Bu kodda java.util paketini kullanmamızın sebebi  Scanner sınıfının bu pakette yer almasıdır.Scanner sınıfı kullanıcıdan veri girişi alabilmenin yanında dosyadan veri okumaya sağlar.Scanner sınıfının değişkenin tipine göre (.nextInt() ,.nextLong() …) kullanabileceğimiz metodları vardır.Aşağıdaki kodda klavyeden integer tipinde veri alınacağı için .nextInt() kullanılmıştır.

Burada ilk kez gördüğümüz yapıda switch case yapısıdır.Bu yapıyla bize yapılan seçimlere göre işlem yapmamızı sağlar.Break ifadesi switch yapısında ifade edilen şart gövdede gerçekleştirilmişse switch parantezinden çıkıp kaldığı yerden koda devam eder.default ifadesi switch teki hiç bir şartın gerçekleştirilememesi halinde yapılmak istenen ifadeyi gösterir.

Kısaca java’da metod mantığından bahsedecek olursam metod sınıfı C dillerindeki fonksiyon benzeri bir yapıdır.Main  fonksiyonu içinde metodun tanımlaması metodismi(değişkenismi,değişkenismi..) şeklinde yapılır.Main metodundan çağrılan metodun gövde kısmı ise aşağıda basitçe gösterilmiştir.

Şimdi de aşağıdaki koddan kısaca bahsedecek olursam bu programda kullanıcıdan alınan iki sayı ile kullanıcının seçeceği 4 işlemden birisinin sonucu verilecektir.Dikkat edilmesi gereken bölme işleminde girilen ikinci sayının (bölen) sayının 0 dan farklı olmasıdır ki bu da if else kontrolü ile kontol edilmiştir.

 

calculator

Java’da İlk Program

Java, ilk olarak Sun Microsystems tarafindan 1995’te piyasaya sunulan bir programlama dili ve bilgi islem platformudur.Ilk ortaya çikis amaci çamasir makinasi gibi elektronik esyalarin yazilimlarinin yazilacagi bir programlama dili olmasidir.Ancak gelistirilmesiyle C# ve C++ tan daha genis özelliklere sahip olmasi sebebiyle kisa sürede yayginlasti.Java nesneye yönelik,platformdan bagimsiz(Write Once Run Anywhere),multithread,açikkodlu yüksek seviyeli bir dildir.Su anda dünyada en çok kullanilan programlama dilidir.

Bu arada Java isminin çikis hikayesi hosuma gittigi için onu da paylasmak istiyorum.Java’dan önce programcilar programlarina Oak(Mese) ismini vermeyi düsünmüsler.Ancak bu isim daha önceden alinmis oldugu için programin patentini alinamiyor.Farkli rivayetler olmakla beraber daha sonra programcilar bir gün kafede otururken kahve ismarlamalariyla programinin dilinin isminin türkçe karsiligi kahve olan java olmasi fikri ortaya çikmis.Java nin sembolünün kahve olmasinin sebebi de budur.

Javada kodlarin islenmesi iki asamada gerçeklesir.Kodlar yazildiktan sonra .java uzantili bir sekilde kaydedilir.Daha sonra bu kodlar java derleyici tarafindan derlenip .class uzantili bir sekilde bytecode’a çevrilir.Javanin en can alici özelliklerinden biri olan Write Once Run Anywhere(Bir kere yaz heryerde çalistir) ilkesi bu bytecode sayesinde gerçeklestiriliyor.Derlendikten sonra Bytecode haline gelen kod platformdan bagimsiz bir sekilde hiçbir degisiklik yapilmadan, hatta tekrar derlenmeye bile ihtiyaç duyulmadan baska bir ortamda kullanilabilir.

Kisa bir kodla kodalamaya geçecek olursak bu kod ekrana üç defa First java Program yazdiracaktir.

public class firstProgram {
public static void main(String[] args) {
System.out.printf(“First Java Program “); /*printf komutu parantez içini yazdiktan sonra alt satira gecmez.
Alt satira gecmesini istiyorsak /n ifadesini kullaniriz.*/
System.out.println(“First Java Program “); //Println parantez içini yazdirip alta geçer.
System.out.print(“First Java Program “);//print de parantez içini yazdirip alta geçmez.
}
}

Satir satir kodu inceleyecek olursak ilk satirda sinifimizi tanimliyoruz.Nesneye yönelik programlamada olusturulacak nesneler bir ana sinif içerisinde bulunur.class deyiminin önündeki public ifadesi ise bu sinifa erisilebilirligi gösteren deyimdir.Java’da sinifa erisim public,prodected,private ifadeleriyle saglanir.Public tanimlanmis bir sinifa kodun heryerinden ulasilabilir.Diger iki ifadeyi ileriki yazilarimda kullandikça açiklayacagim.
Her java programimiz bir main sinifindan olusmak zorundadir.Main sinifina her yerden erisim saglanabilmesi için public atanmaktadir.Burada bir tane da yeni ifadeyle karsilastik.Bu da static anahtar kelimesi.Main metodumuzun static olmasi gerekir çünkü JVM kodumuzu çalistirirken main metodunun yazili oldugu siniftan bir nesne olusturmaz. Ortada nesne yokken bir metodu çalistirmak için de o metodun static olarak tanimlanmis olmasi gerekir.static ifadesi sinif yaratildigi anda hafizada onun için bir alan ayrilmasi ve sinifa her zaman erisilebilinmesini ister.Nesne olusturulmasa bile bu alan hafizada static metoda ayrilir.Static metotlardan sadece static degisken ve metotlara erisilebilirken, instance metotlardan hem static hem de static olmayan degisken ve metotlara erisilebilir. Static metotlarla ilgili bilinmesi gereken en önemli sey static metotlar içinden static olmayan bir sinif ögesine erisilmek istendiginde kod hata verir.
Main metodunun gövde kisminda ise çikti ekranina yazdirma islemini gerçeklestiren komutlarimiz var.

Bu sekilde Java paylasimlarina giris yapmis bulunmaktayim.Umarim güzel çalismalar yapar bunlari da burada paylasirim.

1 4 5 6 7 8 9