Web sitesi yapmak için sıfırdan yazılıma nasıl başlanmalı?

senosumsu

Centipat
Katılım
7 Eylül 2024
Mesajlar
152
Makaleler
1
Çözümler
2
Merhaba, yazılım öğrenmeye sıfırdan başlamak istiyorum. Sıfırdan diyorum çünkü okulunu okumadım, kendim bizzat öğreneceğim. Amacım, insanların gerçekten kullanabileceği bir şeyler yapmak. Bu bir web sitesi ya da mobil uygulama olabilir ama daha çok ilk etapta web sitesi yapmak istiyorum.

Yapay zekâ tarafı şu an ilgimi çekmiyor; daha çok insanların hayatına dokunabilecek, işe yarar bir şey üretmek istiyorum. Aynı zamanda bu alanda kendimi geliştirip ileride yaptığım projelerden para kazanmak istiyorum. Nereden başlamam gerektiği konusunda kafam karışık.

Frontend, Full Stack alanları araştırıyorum ama hangisi benim hedefime daha uygun, emin değilim. Sıfırdan başlayacak biri için hangi alanlara odaklanmam, hangi konuları öğrenmem, hangi siteleri veya Udemy/YouTube kurslarını takip etmem gerekir? Tavsiye, kaynak veya yol haritası paylaşırsanız çok sevinirim.

Şimdiden teşekkür ederim herkese.
 
hocam devletin btk akademi diye sitesi var orda ücretsiz kurslar var bitirinfe belgede alıyorsunuz html css öğrenebilirsiniz tasarım ve site için etkileşim içinde js öğrenebilirsiniz
 
Ben doğrudan bir yol haritası öneremem ama bence bu dönemde geniş kitlelere ulaşmaya çalışmak yerine, belirli topluluklara hitap eden şeyler geliştirmeye odaklanmak daha mantıklı.

Mesela sinemaseverler için bir uygulama, kitap okuyanlar için bir uygulama ya da kitap okumaya yeni başlayanlar için özel bir araç gibi. Böylece farklı ilgi alanlarına yönelik birçok küçük ama değerli ürün ortaya çıkabilir.
 
Bu yapmak istediğin şeyle ilgili. Örneğin; tanıtım amaçlı statik siteler yapacaksan HTML ve CSS öğrenmen gerekir. Eğer Web Uygulamaları kısmına gireceksen bunların üstüne JS'de öğrenmen gerekir. İşlemen/tutman gereken veriler varsa bunların üstüne DB ve Backend de öğrenmen gerekir. Mobil için belli platforma spesifik ilerlemek istiyorsan Objective-C, Java gibi dilleri öğrenmen gerekir ya da Cross Platform yazarım ben herbirine uğraşamam dersen Flutter, Swift veya React-Native öğrenebilirsin. Bunların Deploy'u için CI/CD'si için zart zurt bir sürü Tool var. Hepsini bir anda öğrenmek imkansız ve yorucu ama bir başlayınca devamı gelir zaten.

Özetle; sen hangi tarafta bulunmak istiyorsan ona göre seçim yapıp ilerleyeceksin. Yol haritası için net bir şey söylemek zor ama hiçbir şey yapamıyorsan Youtube'da bir sürü ücretsiz ve kaliteli içerik var bunlarla ilgili. İngilizcen varsa zaten hiç Türkçe içerikler ile vakit kaybetme, direkt dal ve öğren. Dil ve bu işin eğitimi olmadan çok kör ilerlersin onu da belirtmek isterim. Hani şimdi vaktini iyi değerlendirmek için bakmanda elbette bir sakınca yok tabii fakat bunu ilerde meslek olarak yapmak istiyorsan mühendisliğini kazanıp oku. O zaman bazı şeyleri daha net ve hızlı kavrıyorsun.
 
Yazilimda baslangic yapacagin seye gore olmaz.

Web sitesi yapacaklar da, mobil uygulama gelistirecekler de, MRI cihazi programlayacaklar da ayni sekilde baslar. Sonradan spesifik alanlarda uzmanlasirlar.

Once Ingilizce. Sonra Algoritma, veri yapilari, data , network, isletim sistemleri, daginik & butunlesik sistemler, programlama dilleri, compiler, gramer gibi core yazilim muhendisligi bilgileri. Elbette bunlari anlayacak seviyede matematik bilgisi gerekiyor. Matematigini bilmedigin seyin teorisini anlamazsin. Ornegin bilgisayar sistemlerinde memory de tuttugun sayilarin en yaygin standartlarindan birisi IEEE 754
standardidir ve temel bir bakista dahi memory de bilgi tutmak, erismek ve kullanmak icin dahi ne kadar matematik bilgisi gerektigi gorulebilir. ( Discrete math en kiymetlisi ) Ornegin bu mesaji okudugun console'da 0.1 + 0.2 isleminin sonucuna bakarsan 754 u is ustunde yakalarsin


Iyi muhendisi kotu muhendisten ayiran sey; bu ve bunun gibi pek cok farkli kuramin nasil bir araya geldigini anlamasi ve sistem dizayn ederken efektif sekilde kullanabilmesi, hesaplarina dahil edebilmesidir.

Temel kavramlardan sonra da hangi alanda gelistirme yapacaksan ilgili alanda tecrube kazanip sektore uygun lib ve framework ogrenmen gerek.

Uzun bir maraton bu ve bahsi gecen konulari dogru kaynaklardan alaninda uzman insanlardan ogrenmen ya da dogru metodoloji ve siralama ile ogrenmen gerek.

Genel prensip olarak; ogrendigin sey zaman gectikce degismeyen bir sey ise ( ornegin sayilar teorisi ) kitaplar en iyi kaynaktir. Dolayisiyla CS icin de oyle. Gidip reputasyonu yuksek okullarin online kurslarina bakarsan da muhtemelen ders materyali olarak yine kitap oneriyorlardir. Ogrendigin sey zamanla surekli degisim halindeyse, yayimlandigi resmi kaynak en iyi kaynaktir. Programlama dilleri, kutuphaneler vs bu kategoride yer alir. Cunku gunceldir, direkt sen ve senin gibiler icin tasarlanmistir ve dogru & kapsayici olmak durumundadir. Elbette bu ogrenme yontemine gore de degisir.

Temel kavramlari ogrendigin dilin bir onemi yok. Amac temeli anlamaktir cunku. Ileride web sitesi yaparken C# kullanacagim, o halde C# ile baslayayim ki temelden asinaligim olsun gibi bir sey yok. Zira temelin olunca istedigin dilde istedigini yaparsin ( fizibil ise ).

Forumlarda genelde yeni baslayanlar icin bu alanda bilgisiz tavsiyeler bol oluyor; "Kardes sen web sitesi yapacaksin PHP ile basla, Ertem Zoptrik'ten PHP ile adim adim kursunu al 12 saate kralsin" , "Haci sen embedded yapacaksan C ile baslayacaksin, Uzeyir Tatak'tan Gommeli Kurs al biraz pahali ama uzmansin bitince" seklinde yanlis bilgi cok fazla. Bunlarin en iyisi, en iyi ihtimalle, eger guncel bilgi iceriyor ve egitmenin sektor tecrubesi uygun ise; yuzeysel bilgi verebilirler.

Bu dediklerim "kafamda bir proje var, onu yapmak istiyorum" tarzi insan modeli icin uygun degil. Bunlar "Ben bu isi hakkiyla ogrenmek istiyorum" diyen insan modeli icin gerekli. Aksi durumda kurs ve workshop ile pratik bilgi alip yalnizca istedigin seyi yapacak kadar ogrenmek daha mantikli. Ya da parasini verip yaptirmak. Kod yazmak sanildigi kadar pahali bir is degil, 200-300$ a cogu seyin kodunu iyi kotu yazip sana verecek bir Hintli bulursun.
 
Son düzenleme:
ÜYZ'lere sorabilirsin. Hiç bilmeyen biri için yol haritası da çizer, örnek de çözer.
 
hocam devletin btk akademi diye sitesi var orda ücretsiz kurslar var bitirinfe belgede alıyorsunuz html css öğrenebilirsiniz tasarım ve site için etkileşim içinde js öğrenebilirsiniz
bakayım bir teşekkür ederim

teşekkür ederim, çok detaylı açıklamışsınız. gerçekten bu işin mühendislik tarafını öğrenmek isteyen biri için çok yol gösterici olmuş. ben okulunu okumayı düşünmüyorum, buna pek zamanım da yok açıkçası. 25 yaşındayım ve artık kendimi verip bir şeyleri derinlemesine öğrenmek, üzerine çabalamak istiyorum. amacım biraz daha pratik bir şekilde başlayıp, adım adım ilerlerken temelleri de öğrenmek. sizce bu kadar derin teorik konulara girmeden, web geliştirme alanında sağlam bir başlangıç yapmak için hangi sırayı izlemek mantıklı olur? örneğin önce HTML, CSS, JS gibi konulardan mı başlamak daha doğru olur, yoksa önce programlama mantığını (örneğin Python veya C gibi bir dille) öğrenmek mi daha faydalı olur? bu arada, bir arkadaşım “öğrendiğin dilin ardından hemen küçük bir proje yap” önerisi olmuştu. bu da pratikleşme yöntemlerinden biri sanırım.
 

Eger amac is bulmak ve web development uzerine kariyer insa etmek ise bu teorik bilgi her turlu ogrenilmeli.

Ancak amac bunlari ogrenip spesifik bir projeyi bir an once hayata gecirmek ise esneklikler yapilabilir.

Ben burada siralama yaptigim zaman derin konular gibi geliyor kulaga belki ama bunlar aslinda yuzeysel, standart bilgisayar muhendisligi konulari.

Yani veritabani, network, daginik sistemler, algoritma, data structure bunlar herhangi bir orta seviye web projesinde zaten hayata gecirilen seyler.

HTML ve CSS ile olusturulan "sey" yazilim degil. Markup ve styling dilleri bunlar. Teknik olarak dokuman yazip yazi fontunu belirlemekten farksiz. Birisi hehehodo.com web sitesini ziyaret ettiginde, ziyarete gore istenilen HTML, CSS ve JS dosyalarini dogru zamanda dogru sekilde bu kullaniciya gonderen sistem yazilim. Bunu da ogrenmeye baslangicin HTML - CSS - JS kombosu oldugunu ben dusunmuyorum.

Buradaki tek avantaj erkenden ekranda web sitesine benzeyen sonuclar uretmeye baslamak olabilir; bu da belki motivasyon saglar ama programlama ve muhendislik acisindan bakarsan HTML ve CSS in herhangi bir onemi yok. Konsol uzerinden calisan , 2 tane bilgisayar arasinda dosya paylasimi yapmaya yarayan bir program cok daha ogretici olur yazilim anlamina.

Ogrenilen dille kucuk proje yap fikri dogru. Cunku proje yaparken ogrenme gerceklesir. Burada tabi korlemesine projeye dalmak degil, ogrenilen sey ile alakali yapmak onemli.
 
kafam açıkçası iyice karıştı.
balıklama atlamak bana da mantıklı gelmiyor; hiçbir konuda yüzeysel kalmak istemiyorum. sanırım önce biraz daha derin araştırmalar yapmam gerekecek.söyledikleriniz ve fikirleriniz için gerçekten teşekkür ederim.

önemli bir başka konuda şunu da sormak istedim;
siz yazılıma alaylı olarak başlayacak olsanız, ilk yapacağınız ve en net araştırma ne olurdu?

bu hem bana hem de konuyu okuyan diğer arkadaşlara farklı bir bakış açısı kazandırabilir diye düşünüyorum. ben kolay bir şeyle başlayıp içine girdikçe yolumu çizmek istiyorum ama hangi aşamada nelere dikkat etmem gerektiğini kestiremiyorum.

ek olarak şunları da merak ettim verdiğiniz cevaplara yönelik :

1-/teorik kısmı ve pratiği aynı anda götürmek mümkün mü, yoksa biri bittikten sonra diğerine mi geçmek daha verimli olur?
2-alaylı birinin en çok zorlandığı veya atladığı konu sizce hangisidir? (örneğin algoritma, network, veri tabanı gibi)
3-günümüz şartlarında web tarafında kariyer hedefleyen biri için hangi dil veya teknolojiyle başlamak daha mantıklı olur?
cevap vermek için zaman ayırırsanız gerçekten sevinirim.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…