şimdi efendim javascript ile bişiler yaptım karaladım ettim. dilin mantığını anladım. yani tam anladım denmez tabi epey kurcalamak gerek ama epey bi çözdüm temeli. bişiler de yazdım karaldım. en basit yazdığım scipte github blogumdan ulaşılabilir. ha unutmadan ingilizce blog tutmaya (iptal) dım. neyse. blogda background resmini süre ile değiştiren bir script var. mantık çok basit. daha da basit olabilir mi bilemem. bi iki ufak şey daha var yaptığım ama üşendim yazmaya. neyse.

javascript foundations serisinden sıkılıp “For best results, we recommend first taking these prerequisite courses: javascript bla bla and bla bla” uyarısın es geçip jquery’e başladım. ulan. bu çok kolay. yani jquery ciddi anlamda çok kolay. api’ye giriyorsun, ne kullanacağına bakıyorsun, yapıştırıyorsun tataaaaam. js’de yapmaya kalksam 7 günümü alacak iş 4 dk’da halloluyor bitiyor. tabi jquery sadece api’den bakıp yazılacak app felan değil. hatta benim gördüğüm kadarıyla jquery oradakilerden çok daha derin bir şey.“yazar burda felsefe yapıyor..anlayana”

javascript olmadan jquery olur mu sorusu çok popüler. sanırım jquery 1.0 yayınlandığı gün sorulmuştur bu soru ilk defa. jquery son sürüme kadar devam eder sorulmaya. bence efendim olur. gördüğüm bu. ama javascript’in temellerini bilmek çok daha iyi olur. bir arraya pop yapmayı bilmiyorsan ve anonimus function nedir haberin yoksa en basit yerde takılır kalırsın. demem o ki js kasın azcık. 2 3 hafta yeterde artar bile. sonra yardırın gitsin jquery.

aşağıya basit bir jquery kodu bırakacağım. ondan önce demek istediğim şey sırada javascript’te interaktif işlere girişmek, jquery’de daha ileri düzey app yazmak sonra angular.js. ha bi de node.js var tabi. node.js çok istiyorum. o kadar ki ruby’i siktir ettim felan yani. içimde sadece javascript kasma isteği var. hem front-end’de kullanacağım güçlü bir dil, hemde yapabilirsem node.js sayesinde back-end’de kullanacağım bir dil olacak. bir taşla 3-5 kuş heheh.

// 1. Hide .spoiler elements
$(“.theList span”).hide();
$(“.theList .x”).hide();
// 2. Add a button
var bttn = ‘<button class=”btt”>Reveal Spoiler</button>’;
$(“.theList”).append(bttn);
// 3. When button clicked
$(“.btt”).click(function() {
//3.1 Only show selected .spoiler element
$(this).prevUntil(“.thelist”).show();
//3.2 Get rid of button
$(this).remove();
console.log(“buton gitti spoiler geldi”);
});

kodun tamamına bu adresten ulaşabilirsiniz.

Treehouse Ruby on Rails eğitimlerinde html/css derslerini ve sınavlarını hızlıca atladıktan sonra sıra javascripte geldi. Javascript 1995 yılında C dilinden esinlenerek tarayıcılarda çalışan bir dil olarak tasarlanmış. İsmini o dönem bayağı popüler olan Java dilinden esinlenerek javascript yaptıklarını duymuştum.js

Daha önce javascript ve jquery kullanımım işime yarayacağınainandığım hazır kodları alıp biraz deneme/yanılma ile bunları istediğim kıvama getirmem üzerine kuruluydu yalnız dilin çalışma mantığı ile ilgili yeterli bilgim yoktu. Ruby’e başlamadan önce programlamanın mantığını çözmem için javascript eğitimi almam hem front-end development’ta eksik kaldığım noktayı tamamlayacak hem de back-end development’a arkada eksik konu bırakmadan başlamamı sağlayacak. Bu açıdan treehouse’u bir kez daha tebrik ettim.

Introduction to Programming başlığında basit komutlar,yorumlar ve variables(değişkenler) ile başladık. Php geçmişim olduğu için konular gayet geldi. Sonrasıda if/else ve loops (for/while) ile devam ettik. If/else ve while gene php geçmişimden dolayı çok kolay geldi. For döngüsünü çok kullanmadığım için üstünde bir saat kadar durup epey kurcalama yaptım. Sonuç olarak burada da eksiğim kalmadı. Ardından olay arrays ve objects’e geldi. Array’s bugüne kadar aldığım bütün derslerde anlatılan ilk konu olduğundan (ne alakaysa??) gene cacık bunlar serimi bozmadı. Objects konusunda ise çok emin değilim ahaha.

Başlığın son konusu functions. Php’de ki functions’tan çok farklı olacağını sanmıyorum ama göreceğiz. Merak edenler için dersler sırasında yazdığım bir kaç basit javascript kodunu aşağıya bırakıyorum. Daha detaylı anlatmak isterdim ama hazır zaman bulmuşken bugün Ruby derslerinde epey ilerlemek istiyorum.

aşağıda isim değişkeni için tarayıcı soruyu soruyor. aldığı cevapı variable olarak kaydediyor ve alert ile önüne merhaba koyarak önümüze sunuyor. yalnız sonraki aşamada aynı isim değişkeni değişiyor ve alkin oluyor. dolayısıyla konsolda isim değişkeni farklı görünüyor.

var isim = prompt("isminiz lütfen")

alert("merhaba " + isim );

isim = ("alkin");

console.log("console ismi " + isim);

aşağıdaki kod ise 1den 100e kadar olan sayıları konsola yazdırıyor. 3’e tam bölününler yerine fizz 5’e tam bölünenler yerine ise buzz yazıyor. 15’i yapmadım ama mantık basit anlaşılır zaten.

 sayi = 0;
while(sayi < 100){
  sayi = sayi + 1;
  if (sayi % 3 == 0) {
  console.log("fizz");
  }
  else if (sayi % 5 == 0) {
  console.log("buzz");
  }
  else {
  console.log( sayi );
  }
 }