Ben de merak ediyorum lütfen silme.
Süper adamlar var burada emrahday pluton tchuck gibi. İşşalla görüp karalarlar bir şeyler.
Şu an mobilim ama kendim için araştırırken bulduğum şeyleri göndermek için bir mesaj atıcam gün içinde. Unutursam lütfen hatırlat.
freecodecamp.org ile başlayabilirsiniz.
alaylı web yazılımcısı olmak için harika bir yer.
iyi bir path sunuyorlar, güzel alıştırma çalışmaları var. iyi bir forumu var vs.
ingilizceniz varsa pluralsight gibi yerlerden öğrenmeye çalışırsanız çok daha profesyonel olur. ayrıca öğrenmek istediğiniz şeyleri mesela javascript, react her ne ise, onu kendi resmi dökümantasyonlarını takip etmeniz iyi olur. udemy'den kurs alayım video izleyim öğreneyim işi çok iyi değil.
udemy'den de faydalanabilirsiniz ama ingilizceniz yeterli ise bunu yapmak yerine dediğimi yapın.
öncelikle sen kim köpeksin diyebilirsin ama benim teorime göre web sitesi diye bir şey kalmayacak yakın gelecekte.
nereden başlamalıyım sorusuna temeli parçalayarak cevap vereyim.
websitesi dediğin şey iki parçadan oluşuyor, front ve back.
front dediğimiz son kullanıcının gördüğü kısım, websitesi. ekşi duyuru'dan örnek vermek gerekirse. duyuruların listelenmesi, sağda son cevaplananların olması, son cevaplananlarda bir şeye tıklayınca başka bir sayfaya gitmesi, ikonlar, açılıp kapanma animasyonları, renkler, şekiller, görseller, borderlar, yazı stilleri.
tüm bunların özünde iki üç şey var,
html
javascript
css
hangi kütüphane (jquery, vue.js, typescript, less ....) kullanırsan kullan websitesi dediğin şeyin özü yukarıdaki üçlüdür, kullandığın kütüphaneler sadece işi daha kolaylaştırır ama işin sonunda yine en temel sonucu verir, html, javascript, css.
__________
bir de back kısmı var. burada seçebileceğin bir sürü dil var. c#, php, ruby, python, java, node.js, swift, rust.
back kısmında ise veritabanından veri sorgulama, çeşitli işlemlerden geçirme ve mantıklı veriyi front'a gönderme işi yapılıyor. Route kontrolü de yine buraya ait,
eksiduyuru.com/herbirsey/ sayfasına gidince hangi kodlar çalışacak, hangi html son kullanıcıya gösterilecek bunun yönlendirmesini de yine back end tarafında yapıyorsun.
toparlayacak olursak eğer full stack web developer olacağım diyorsan en başta öğrenmen gereken temel şeyler.
HTML
CSS
javascript
Herhangi bir back-end dili
bunların özünü öğrenmekle başlayabilirsin, herhangi bir kütüphane kullanmadan sadece bu üçünü kullanarak neler yapabildiğini görmelisin.
html özel bir dil sayılmaz, haliyle bir kütüphanesi vs. yok. yapabileceğin şeyler standart ve belli, öğrenmesi kolay. bir websitesinin kaba inşaatı gibi bir şey aslında, neyin ne işe yaradığını bilmende fayda var.
link verirken hangi tag'ı kullanılıyor, paragrafta hangi tag kullanılıyor. meta tagları nelerdir, ne işe yarar vs.
css dediğimiz ise HTML'i güzelleştiren renklendiren, işin peyzajı, boyası, iç mimarisi. bunda işini kolaylaştıracak kütüphaneler bulabilirsin, özellikle sürekli tekrar tekrar aynı şeyleri yazmamanı sağlayan less var en bilindik.
javascript artık kullanım olarak çok değişik yerlere evrildi ama temelinde kullanıcı arayüzünde yazdığın yani front-end bir programlama dili.
temelinde kullanıcı şuraya tıklayınca şunu yap, şunun üzerine gelince bunu yap gibi komutlarla arayüzü daha kullanışlı hale getirmeni sağlıyor diyebiliriz. ama tabii bunlarla sınırlı değil. en çok da bununla ilgili kütüphane bulacaksındır.
jQuery en bilindik ve muhtemelen hakkında en çok kaynak kod bulabileceğin fakat artık kullanımı da yavaş yavaş azalmaya başlayan bir kütüphane. komplike animasyonları, event yakalamalarını vs. çok kolay bir şekilde yapmanı sağlayan bir kütüphane.
hatta o kadar güzeldir ki çoğu kişi jquery'i bir dil sanar. javascript'i hiç bilmeden kullananlarını da çok gördüm.
özellikle mvvm ve single page application muhabbetiyle de bir çok fremework ortaya çıktı.
angular, vuejs, reactjs, typescript incelenebilecek kütüphaneler.
ama bu kütüphaneleri en sona bırakmakta fayda var, öncelikle temelden html, css ve javascript öğrenmelisin. daha sonra zaten bir şekilde karşına bu kütüphaneler gelecektir.
Tüm bunları öğrendikten sonra back-end tarafına geçebilirsin. yine kendine uygun bir dil ve framework seçmen gerekiyor. alternatif çok, en çok kullanılan ve en çok kaynak bulabileceğin dil muhtemelen PHP, wordpress mesela php tabanlı bir dil. bir de yine javascript'te olduğu gibi temel php var ve çeşitli frameworkler var,
laravel, smyfony, codeigniter, cakephp, yii, zend gibi.
yani php seçtiysen eğer php syntax'ını öğrendikten sonra bir framework seçip onun yapısını öğrenmelisin.
php'den sonra muhtemelen ikinci dil olarak da c# (asp.net, asp.net mvc, asp.net core mvc) geliyor, yapı ve syntax olarak php'den çok farklı bir dil.
öğrenme tekniği olarak önereceğim şey de şu olur, kendinize basit bir proje belirleyin. kopya bir proje de olur mesela ekşi duyuru'yu yeniden yapmak gibi. oturup yazmaya başlayın. yazarken karşınıza çıkan zorluklar zaten sizi araştırmaya ve yeni şeyler öğrenmeye yönlendirecektir. ben öğrendiğim çoğu şeyi oturup çalışarak öğrenmedim, karşıma çıkan problemleri çözerek öğrendim.
çünkü mesela css, html syntax'ını öğrenmek/ezberlemek çok kolay ama pratikte karşına öyle bir tasarım gelir ki ben bunu nasıl koda dökerim diye uğraşır durursun, asıl öğrenme o zaman başlar.
valla ben girdim pişman oldum. bir sürü site yaptım, bişey olduğu yok. vakit kaybı.
freecodecamp +1, çok güzel kaynak.
@aziz dostum jack +1, özellikle proje yaparak öğrenme kısmı. sadece bir kaç ekleme yapmak istiyorum.
backend için bence node.js seçin. seveni var sevmeyeni var o ayrı konu ama başka bir dil öğrenmeniz gerekmiyor, frontend'de kullandığınız gibi js kullanıyorsunuz. full-stack olmak zaten zor, bir de sıfırdan iki farklı dili aynı anda öğrenmeniz iyice zor olur.
başlangıç için backend stack'i tavsiyem: node.js + express + mongodb
başlangıç için frontend stack'i tavsiyem: vue.js (pug/jsx falan, css kütüphanesi ya da preprocessor tavsiye etmiyorum, düz html/css yazın).
hepsinden önce tavsiyem js ile project euler çözün (bitirmenize gerek yok, bi 50-100 tane çözseniz yeter): www.hackerrank.com
syntax'a alışmak ve genel programlama pratiği için çok faydalı.
stack'e döneyim, niye bunlar? çünkü öğrenmesi kolay, sade ve internette zibille kaliteli kaynak var. bunlarla rahat rahat istediğiniz projeyi yapabilecek hale geldiğinizde artık zevkinize göre şu daha iyi bu daha kötü diye kendi yolunuzu bulursunuz.
@giovanni teşekkür ederim :)
teknik tavsiyeleri başkaları vermiş, ben sana çok para kazanman için gerekeni söyleyeceğim.
bir konu seç ve o konuda aranılan kişi ol.
örneğin front-end developer oldun. bu bir uzmanlık değil. seyahat siteleri yapan bir front-end developer olursan, uzman ve aranılan kişi olursun. yaptığın iş başına birkaç kat fazla kazanırsın.
front-end veya back-end seçtikten sonra bir uzmanlık seçmelisin.
peki uzmanlığı nasıl seçersin?
- sektör (e-ticaret, seyahat, bankacılık, fintech vs)
- platform (shopify, wordpress, squarespace vs)