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 );
  }
 }

bugün meydan simülasyonu dersimden kaldım. hiç beklemiyordum kalmayı ve çalışmam o kadar kötü değildi. pekala böyle olmuş olabilir ve yapacak birşey yok. okulum uzadı kesin olarak. beklenen buydu, canımı daha fazla sıkmanın bir anlamı yok. bir kaç gün önce bir arkadaşım sayesinde github kullanmanın temellerini öğrendim. evet bende artık ftp’nin gereksiz olduğunu düşünüyorum 😀 bundan sonra en basitinden en kasışına bütün projelerimde github’ı kullanacağım kesin. treehouse, codecademy ve codeschoolda ruby eğitimlerine başladım. beni gerçekten içine çeken treehouse oldu. html/css biliyorum yalnız ruby on rails öğrenmek istiyorum dediğimde beni yönlendirdikleri track’te html/css’den başlamaları dikkatimi çekti. videoları atlayıp sadece code challange ve testleri yaptım yalnız treehouse’ın işi ciddiye alıp temelden öğrettiğini görmüş oldum. şu anda programlama mantığnı javascript ile anlattıkları derslerdeyim ve harika bir iş çıkarıyorlar. js’yi öğrenmeyi istiyordum ve temelden daha ileri düzeyde js eğitimini sırf programlamanın mantığını anlamam için ruby derslerinden önce veriyorlar. istersem php kursunu da alabilirdim ama zaten orta düzeyde php biliyorum ve ruby’nin php’den daha gerekli olduğunu düşünüyorum. bugün öğrendiğim javascript ve github bilgilerim ile server’ımla bağlantılı olarak bir kaç basit uygulama vs geliştirmeyi düşünüyorum. bakalım neler olacağını göreceğiz. treehouse’ı denemek isteyenler varsa buradan üye olup ilk 14 gün ücretsiz bütün kurslara katılabilirler. programlamayı öğrenmek isteyenlere kesinlikle öneririm.

Videolu Anlatım Sayfanın En Altında!

UBUNTU VPS DESKTOP KURULUMU HARBI VAR MI?

Daha once ucuz vps almak ile ilgili yazdigim makalede nasil vps server sahibi olabileceğinizi anlatmistim. Ayni servis saglayicidan ubuntu 12.10 desktop isletim sistemi kurulu bir vps acarak masaustu ortamı kurabileceginizi bilmiyorsaniz önce bunun mümkün olduğunu soyleyim sonra da bunu nasil yapacağınızı anlatayim.

Bir linux vps hizmetimize masaustu ortami kurarak linux uzak masaüstü bağlantısı ile cok daha yuksek hizlarda internet baglantisi olan bir nevi ikinci bilgisayar sahibi olabiliriz. Ozellikle torrent ile dosya indirip sonra upload yapiyorsaniz cok isinize yarayacak bir sistemdir bu.

Yalniz linuxta masaustu ortami terminal yoneticisine göre cok daha fazla kaynak tuketir. Onerim olusturacaginiz vpsyi en az 1 gb ram yapin yada 512 mb yapin vnc baglantisi kullanmadiginizda 512 mb ramde kalsin ihtiyaca gore istediginiz gibi artirin iste. Kullanacagimiz isletim sistemi Ubuntu 12.10 Desktop olacak buraya dikkat lutfen. Gnome desktop kuracagiz benim onerim de bu yonde en azindan linux bilmeyenler icin kullanımı rahat kolay anlasilabilir. Ubuntu ve gnome icin kolay program bulup indirebilirsinizde. Butun kurulum tahmini olarak yarim saat kadar surecektir. Asamalari en bastan en basitten anlatacagim ama sayfanin sonunda hizli cozumu de paylasacagim. Belki video kaydi yapipta paylasabilirim tabi :)

Öncelikle root olarak giriş yapıyor ve aşağıdaki kodu uyguluyoruz

 

apt-get -y install ubuntu-desktop tightvncserver xfce4 xfce4-goodies

Sonrasında vnc isimli bir kullanıcı oluşturuyoruz.

adduser vnc
passwd vnc

vnc kullanıcısını root gibi kullanmak isterseniz (öneririm) aşağıdaki komutu uyguluyoruz. Komutu uygularken root olarak giriş yaptığınızdan emin olun.

echo "vnc ALL=(ALL)       ALL" >> /etc/sudoers

vnc için şifre belirlememiz gerekiyor. bunun için vnc kullanıcısına geçiş yapıyor ve şifreyi belirliyoruz:

su - vnc
vncpasswd

tekrar root olmak için

exit

komutunu uyguluyoruz. bundan sonra ilk işimiz aşağıdaki satırları belirlediğim dosyaya eklemek olacak. eğer dosya yok dosyayı kendimiz yaratmalıyız.

nano /etc/init.d/vncserver

bu dosyanın içine girmemiz gereken içerik:

#!/bin/bash
PATH="$PATH:/usr/bin/"
export USER="vnc"
DISPLAY="1"
DEPTH="16"
GEOMETRY="1024x768"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"
. /lib/lsb/init-functions

case "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;

stop)
log_action_begin_msg "Stoping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;

restart)
$0 stop
$0 start
;;
esac
exit 0

bundan sonra

nano /home/vnc/.vnc/xstartup

içine aşağıdakileri yerleştiriyoruz:

#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
startxfce4 &

dosya izinlerini aşağıdaki gibi güncellememiz gerekiyor

chown -R vnc. /home/vnc/.vnc && chmod +x /home/vnc/.vnc/xstartup
sed -i 's/allowed_users.*/allowed_users=anybody/g' /etc/X11/Xwrapper.config

vnc server dosyanının chmod iznini veriyor ve vnc serverı başlatıyoruz

chmod +x /etc/init.d/vncserver && service vncserver start

sunucuyu her yeniden başlattığınızda vncserver otomatik olarak açılmasını istiyorsanız aşağıdaki komutu uygulayın. bunu yapmak zorunda değilsiniz sunucuyu yeniden başlattığınızda bunun yerine kendinizde başlatabilirsini. otomatik başlatma talimatı:

update-rc.d vncserver defaults

bundan sonra vncserver bağlantımızı sağlamalıyız. bunun için bir kaç farklı program var. benim kullandığım vnc viewer serial numarasını çok rahat bulup kendi sitesinden indirdiğiniz programa uygulayabilirsiniz sorun olmaz korkmayın. dikkat etmemiz gereken şey bağlantı sağlamak için ipnumarası:5901 olarak bağlantı sağlayabiliriz.

Dikkat:

 Eğer vnc bağlantısı sırasında hata alıyorsanız işlemler bittikten sonra vnc server'ı baştan başlatın. Bunun için


service vncserver restart

kodu yeterlidir.

videoyu bugün çekmeyi düşünüyorum çeker çekmez buraya ekleyeceğim. bu sırada ekran görüntüleri de alıp eklerim. Kurulum Videosu:

Backlink geliştirme de uzmanlık webmaster ve seo uzmanlarının dış seo başlığı altında oldukça önem verdiği bir olgudur.

Doğru yapıldığı zaman yararı tartışılmaz olan bu eylem yanlış yapıldığında veya spam'a döndüğünde işleri tamamen tersine çevirebilir. Backlink geliştirmenin temel mantığı arama motorlarının başka sitelere verilen linkleri artı puan olarak algılamasından gelmektedir. Tabi son yıllarda gelen yeni algoritmalar ile her link artı puan olmaktan çıktı ve artı puan olan linkler bile kendi içlerinde değer sıralamalarına girdi. Bu son değişiklikleri göz önüne alarak siteleri için backlink geliştirmeye başlayacak olanlara bazı tavsiyelerde bulunacağım.

  • Footer ve Widget Bar linklerden uzak durun!

Ocak 2014 güncellemesi ve hemen ardından Matt Cutts'ın attığı tweet bu linklerin artık spam olarak algılanmaya kadar gidebileceğini gösteriyor. Özellikle 10 farklı siteye birden link verilen footer'lar size yarar değil zarar getirecektir. Arama motorları bu tarz linklerin artık yararlı bulunulan sitelere değil, spam amaçlı ücret karşılığı veya temalara zorla eklenen linkler olduğunun farkında.

  • Hack linklerden uzak durun!

Hacklinklerin ahlaki boyutları dışında konuşmam gerekirse genel olarak bu linkler kullanıcıya görünmeden yerleştirilirler. Botlar artık içeriklerin insanlara nasıl göründüğüne de dikkat ediyor ve sayfa görünümüne olmadığını fark ederlerse (ki ediyorlar) linkin spam olduğunu anlayabilir ve ceza puanınıza bir şeyler ekleyebilirler. Bunun yanında site sahibinin durumu çakması hukuki yollara başvurması ve arama motorlarına durumu bildirmesi de hoş olmaz.

  • Tanıtım yazıları yararlıdır.

Spam ve kopyala-yapıştır içerik olmayan sitelerden alınacak tanıtım yazıları (her yazı özgün olursa) kesinlikle yararlıdır. En doğal link alma yöntemlerinden biri olmasının yanı sıra bu linkler yazının yayınlandığı sitede alt sayfaların taşıdığı gücü de yanına alarak sitenize puan katar. Ayrıca özgün ve istediğiniz bir konuda yayımladığınız özgün bir makalenin içinden sitenize link geldiği için "kelime bazlı yükseliş" dedikleri olgu da ivme kazanabilirsiniz.

  • Nerden Alırsanız Alın Linkinizin Silinmeyeceğinden Emin Olun

Aldığınız linkler 1 ay sonra siliniyorsa botlar size yazdıkları artı puanı sildikleri gibi üstüne bir de eksi puan eklerler. Yani kendinizi botun yerine koyun, adam başkasına kefil oluyor önce, sonra da çok kısa süre içinde kefil olmaktan vazgeçiyor tanımıyorum onu ayağına yatıyor. Siz ne düşünürsünüz?

  • Sosyal İmlemenin Hası, Kullanıcıların Tacı

Sosyal imleme olayının link değeri ilk ortaya çıktığından beri insanlar çılgınlar gibi sosyal imleme yapıyor. La bi dur iki sakin olun. Sosyal imleme denen olay senin internette gezerken beğendiğin bir şey gördüğünde onu paylaşman. Adam tutuyor kendine bi hesap açıyor sadece kendi sitesinden paylaşım yapıyor. Botlar salak mı e be kardeşim? Biliyorlar senin gün gibi kendine link kastığını. Sosyal imlemeler doğal olursa güzeldir. Sosyal imleme yapacaksınız her sayfanıza yazınıza yapmayın, yazı yayımlandığı anda yapmayın yani anladınız işte doğal olsun. Arkadaşlarınızdan panpa ve kankalarınızdan rica edin farklı farklı bazı linklerinizi verin paylaşsınlar hepsi kendi yorumu için bir cümle yazsa yeter. Yani ne kadar hoş ve doğal geliyor kulağa dimi? Sanki adam siteye hasta olmuş da paylaşmış gibi..

  • Az da Olsa Dizinlerden İş Çıkabilir..

 Aynen öyle. Eskiden Dmoza kayıtlı site ortalığın .mk'ına koyabilirdi. Şimdi? Fısssssss. Neden mi böyle oldu demeyelim hepimiz biliyoruz dizinleri spamlaştırdık diye böyle olduğunu. Neyse bahsedeceim konu şu siteniz türkçe ise yerli, ingilizce ise ingilizce "liste böyle devam eder" aynı dilde kaliteli dizinler bulun. Dizini bulunca girin biraz içeride dolaşın takılın bakın dizin kaliteli ise oraya sitenizi eklemeye çalışın işte. Bunun bi faydası olabilir ama spama dönmüş dizinler ve birde toplistler sitenize kucak dansı yaptırır (wiki sitelerde) (wikipedia hariç)(ordan link alabiliyorsanız alın mk). Ben söyleyim.

  • Linkleri Tek Seferde Almayın!

Şimdi linkleri tek seferde yüklenip hayvan gibi alırsanız kusura bakmayın ama adamlar mal değil olay çakılır. Senin bi link paketi aldığın ya da spam çalışma yaptığını anlarlar. Gömerler. Gömçürürler. Zamana yayın, doğal olsun, yavaş yavaş yedirin...

 

Ya dostlarım, link geliştirme başlığımıza bugün bunlara değindim. İşin aslı nerden alacağınızdan çok nerden almayacağınıza değindim ama olay şu önce nerden almayacağınızı bilin sonra alacağınız yeri oluşturursunuz. Yakında link alabileceğiniz kaynakları buraya gömmeye başlarım.

  • Videolarda Link Kazanın

Youtube ve vimeo link kazanmak için harika kaynaklardır. Yazılarınız ve içeriğiniz ile ilgili sizin hazırladığınız videoları youtube ve vimeoya eklemek altınada yazınıza link vermek size kalıcı ve kaliteli linkler sağlayacaktır. Burada dikkat etmeniz gereken husus videoyu hazırlayanın veya düzenleyenin siz olmanız. Video linkler kalıcıdır ve abartı spam yapılmadıkça silinmez!

Tmp Dosya Boyutu

Linux server idare edenler bazen tmp dosyasının boyutu ile ilgili sorunlar yaşayabilirler. Çoğu panel (misal cpanel) tmp dosyasının boyutunu512 mb default olarak belirler. Ki bence bu ziyadesi ile yeterlidir. Yalnız bazı scriptlerde ki hatalı kodlamalar, gereksiz fazlalıklar vs sistemde ve tmp dosyasında şişmeye sebep olabiliyor. Hal böyle olunca bu durumdan şikayetçi olanlar serverlarında hatayı arıyorlar. Neyse lafı uzatmadan tmp (temp) dosya boyunu büyütmek isteyenlerin yapması gereken adımları sırasıyla yazalım.

Linux sunucumuza ssh ile bağlandıktan sonra ilk olarak:

 

nano -w /scripts/securetmp

yazarak gerekli dosyayı açıyoruz.

nano -w /scripts/securetmp

değerini buluyoruz. Bu değerin karşısında yazana sayı 512000 ise 512 mb temp ayarlanmış demektir. Bunu istediğiniz rakama çevirebilirsiniz. Benim önerim 2 veya 4 gb olmasıdır ki bunun içinde 2048000 veya 4096000 değerlerini girmeniz gerekir. İşi garantiye almak için 4 gb yapmanız mantıklı olur.

Bundan sonra vereceğimiz komutlar ise

/bin/umount -l /tmp
/bin/umount -l /var/tmp
/bin/rm -fv /usr/tmpDSK
/scripts/securetmp
/scripts/restartsrv_mysql
/scripts/restartsrv_httpd

olacak. Bunlar sırasıyla servisleri kapatıp yeniden açmanızı sağlıyor. Böylece sorun olmadan yeni tmp değeri bütün sistem tarafından tanınmış oluyor. Bu işlemi yapmak için en uygun zaman ise sitenize ziyaretçi akışının en düşük olduğu saatler olmalı çünkü bu işlemler sırasında sitelere bir kaç dakikalığa erişim olmayabilir.

Can sıkan bir olay için basit bir çözüm. Dipnot olarak eğer scriptleriniz cidden hatalı ise dosya boyutunu büyütmek bi yerden sonra gene yetersiz gelebilir. Siz büyüttükçe daha fazla yer kaplanır.

Teşekkür ederim..