The Odin Project — Web Development 101

Selamlar,

The Odin Project’in 5 ana kısmından ilki olan “Web Development 101” bölümünü bugün itibariyle bitirmiş bulunmaktayım.

Yazımın ilk kısmında bu ana bölümün altında neler öğrendim parça parça ondan bahsedeceğim. İkinci ve son kısımda ise ruhsal olarak bu süreçte neler yaşadım, benim gibi programlamaya sıfırdan kendi çabalarıyla başlayanları neler bekliyor onlara kısaca değineceğim.

Öncelikle benim hiçbir yazımı okumayanlar “Kim bu Odin ya? Thor’un babası olan yaşlı amca mı?” diyebilirler. The Odin Project önceki adı Viking School olan, sonrasında ise Thinkful olarak değişen online ücretli bir coding bootcamp’in ücretsiz olarak sunduğu açık kaynak programlama öğrenme ders programı. Tamamen ücretsiz olan program aslında çok basit bir mantık ile çalışmakta. Programlama öğrenirken 0'dan junior seviyeye gelebilmek için sırasıyla neleri öğrenmeniz, hangi projeleri yapmanız gerektiğini konu başlıkları ile ayırmakta. Öğrenci bu konu başlıklarını sırasıyla takip ederek programa devam etmekte. Bunun en büyük faydası yeni birşey öğrenirken sürekli kaynaktan kaynağa atlamanıza ve totalde hiçbirşey öğrenemeden saatler harcamanızın önüne geçmesi. TOR’a şimdilik bu kadar değineceğim, yakın zamanda bir daha detaylı bir tanıtım yazısı yazmayı planlıyorum zira.

Web Development 101 ise TOR’in ilk mihenktaşı. Bu bölüm altında aşağıdaki alt bölümler oluşmakta:

1. Basics

  • İnternet ve web sayfaları nasıl çalışır?
  • Web developer’lar ne iş yaparlar?
  • Backend ve Frontend farkı nedir?
  • Komut satırı nasıl çalışmakta?

2. Installations

  • Geliştirme ortamının local bilgisayarınıza kurulumu
  • Proje olarak ilk rails uygulamanızı Heroku üzerinden deploy etme.

3. Git Basics

  • Git nedir ne değildir?
  • Temel git komutları ve şukela birkaç git basics kursu.

4. The Front-End

  • HTML ve CSS Basics
  • Chrome developer tools nasıl kullanılır?
  • Proje: Google Ana Sayfasını kopyalama

5. Javascript Basics

  • Javascript Basics
  • Developer tools kullanımında biraz daha derin bilgiler
  • Clean code yazılım kuralları
  • Dom manipulasyonu
  • Proje: Taş Kağıt Makas oyunu
  • Proje: Pixel Pixel anadolu mantığıyla resim çizme uygulaması
  • Proje: Hesap Makinası

6. The Backend

  • Ruby dili yapısı ve syntax’ı
  • Proje: 8 adet ruby ile çözülecek algoritma sorusu

7. Web Development Frameworks

  • Web Framework’leri ne işe yarar, niye kullanırız?
  • Rails nedir? Neden popülerdir? Hangi anlayışları savunur.
  • Proje: Rails resmi sitesinden baka baka blog app’i kopyalama.

8. Pair Programming

  • Pair programming nedir? Şöyle muazzam öyle muazzam birşey.
  • Proje: Pomodoro Saati (Bunu yapamadım zira odin’de benim saat dilimimde eşleşecek öğrenci bulamıyorum hala :( )

Yukarıda yazarken çok basit geldi ama çok zorlandığımı itiraf ediyorum. Bu ana bölüm size programlama temellerini öğretmek için tasarlanmış, dolayısıyla bir full stack web uygulamasının temel yapı taşlarına yüzeysel değinerek bir farkındalık sağlamaya çalışıyor. Ben en çok Javascript bölümünde zorlandım. Ama en çok da orada yaptığım projelerden keyif aldım. Ruby ve Rails kısımları tahminimden çok hızlı bitti. Toplamda tüm web development 101'i bitirmem 114 saatimi aldı.

Kursa devam ederken sık sık takıldığım yerlerde şu psikolojiye büründüm. “Ben yanlış çalışıyorum. Bunları daha hızlı yapabilmem lazım. Kesin benden başka herkes bu konuları şıp diye anladı. Sanırım bu kaynak benim için uygun değil, biraz da Y dilini Z,X kaynaklarından bakayım.”. Bunlar çok tehlikeli düşüncüler. Hedefinizi bir ağaca tırmanmak olarak düşünürseniz bu şekilde düşünmek çok hızlı daldan dala atlamanıza ama nihayetinde sürekli yatay ilerleyip hiçbir şekilde yukarıya gidememenize sebep olacaktır. Ben bu dehlize çok düştüm. Düşe düşe öğrendim ve kendime TOR’dan başka bir yere sapmayacağımı ve tamamen kendimi buraya adayacağıma söz verdim. Aralık ayından beri de bu düşünceleri aklıma hiç getirmeden tam gaz çalışmaktayım.

Şimdi önümde TOR’un ikinci büyük kısmı olan Ruby Programming bölümü var. Bu kısımda salt Ruby çalışacağım ve Rails için gerekli altyapıyı oluşturacağım. Önceden bir göz attım yine bolca proje yer almakta. Umarım JS bölümündekiler gibi zevkli olurlar.

Bir sonraki yazımda görüşmek dileğiyle.