Blok 0 · Ders 0
Başlamadan önce: bilgisayar, program ve araçların
Kod ve program ne demek, bilgisayar kodu nasıl anlar, hangi programları neden kuruyoruz? VS Code, terminal, Node.js ve Git'i kurup ilk programını çalıştırıyorsun.
Bu dersin sonunda
- Program, kod ve programlama dilinin ne olduğunu, bilgisayarın yazdığın kodu nasıl çalıştırdığını anlatabilirsin
- VS Code, Node.js ve Git'i kurup
--versionkomutlarıyla doğrulayabilirsin - Terminalde
cd,ls,mkdirveclskomutlarıyla klasörler arasında gezinip yeni klasör oluşturabilirsin - Türkçe Q klavyede
{ } [ ] < > \ |gibi kod işaretlerini yazabilirsin merhaba.jsdosyasını yazıpnode merhaba.jsile çalıştırabilirsinis not recognizedveCannot find modulegibi kurulum hatalarının sebebini bulup düzeltebilirsin
Bu sayfada
- Program, kod ve programlama dili
- Bilgisayar yazdığın kodu nasıl anlar?
- Araç çantan: hangi program ne işe yarar?
- Kurulum
- Dosya, klasör ve uzantı
- Terminalde gezinmek
- VS Code'u tanımak
- Türkçe klavyede kod karakterleri
- İlk programın: merhaba.js
- Git'e kendini tanıt
- macOS ya da Linux kullanıyorsan
- Görevler
- Kendini sına
Bu derste henüz programlama öğrenmiyorsun, atölyeni kuruyorsun. Önce program, kod ve programlama dilinin ne olduğunu, bilgisayarın yazdığın kodu nasıl çalıştırdığını göreceksin. Sonra kullanacağın programları tanıyıp kuracak, terminalde ilk komutlarını yazacak ve dersin sonunda ilk programını çalıştıracaksın. Kurulum sıkıcı görünebilir, ama burada doğru yaptığın her ayar sonraki derslerde seni bir dertten kurtaracak.
Program, kod ve programlama dili
İşlemci, bilgisayarın içindeki hesap yapan parçadır. Saniyede milyarlarca küçük iş yapar ama kendi başına hiçbir şey bilmez; neyi, hangi sırayla yapacağını birinin söylemesi gerekir. LoL'de Q'ya basınca çıkan yetenek de, köşedeki altın sayısı da yazılımcıların bilgisayara adım adım söylediği komutların sonucu.
Bu komutların sıralı listesine program denir; oyun, tarayıcı, Discord, hepsi birer program. Komutların yazılı hâli koddur: içi yazı dolu bir ya da birçok dosya. Kodu yazarken uyduğun kurallara (hangi sözcük ne demek, hangi işaret nereye konur) programlama dili denir. JavaScript, Python, C++ birer programlama dili; bu kursta JavaScript ile başlıyorsun.
Bilgisayar yazdığın kodu nasıl anlar?
İşlemci JavaScript bilmez; yalnızca sıfır ve birlerden oluşan makine dilini anlar. Makine diliyle program yazmak çok zordur. Bu yüzden insanlar okunaklı dillerde yazar ve araya bir çevirmen koyar.
JavaScript'in çevirmeni Node.js'tir: kodunu yazdığın dosyayı okur, işlemcinin anlayacağı komutlara çevirir ve çalıştırır. Sonuç ekrana gelir. Dersin sonunda tam olarak bunu yapacaksın:
node merhaba.js yazınca kodun yolculuğu: sen yazarsın, Node.js çevirir, işlemci çalıştırır, sonucu terminalde görürsün.Araç çantan: hangi program ne işe yarar?
Yazılımcının her gün kullandığı programlar az ama her birinin belli bir işi var. Önce haritaya bak, sonra her birini tanı.
VS Code: yazı masan
Kod düz yazıdır; Not Defteri'nde bile yazılabilir. Ama yazılımcılar bunun için kod düzenleyici kullanır: kodu renklendirir, yazarken öneri verir, hataların altını çizer ve içinde bir terminal barındırır. Bu kursta Microsoft'un ücretsiz düzenleyicisi Visual Studio Code'u, kısaca VS Code'u kullanacaksın.
Terminal ve PowerShell: bilgisayarla yazışmak
Bilgisayara genelde fareyle iş yaptırırsın. Terminal ise yazıyla komut verdiğin penceredir: komutu yazarsın, Enter'a basarsın, bilgisayar işi yapar ve sonucu alt satırlara yazar. Windows'ta bu komutları okuyan programın adı PowerShell'dir. Fareyle on tıklama süren bir iş terminalde tek satırdır; Node.js'i ve Git'i de buradan kullanacaksın.
Terminali açmak için Başlat düğmesine sağ tıkla (ya da Win+X'e bas) ve Terminal'i seç; listede yoksa Başlat menüsüne powershell yaz. Şuna benzer bir satır görürsün:
PS C:\Users\Deniz> Bu satıra istem (prompt) denir. PS PowerShell'de olduğunu, C:\Users\Deniz terminalin şu an hangi klasörde durduğunu söyler (Deniz yerine senin kullanıcı adın yazar). Komutlarını > işaretinden sonra yazarsın.
Node.js: JavaScript motoru
Yukarıda anlatılan çevirmen budur. Terminale node dosya.js yazarak bir JavaScript dosyasını çalıştırırsın. Yanında npm adlı bir yardımcı gelir: başkalarının yazdığı hazır kod paketlerini indirir. npm'i Ders 14'te kullanacaksın; bu derste yalnızca kurulduğunu kontrol edeceksin.
Git ve GitHub: kayıt noktası ve bulut
Git, klasöründeki dosyaların istediğin anlardaki hâlini saklayan bir sürüm kontrol (version control) aracıdır: bir şeyi bozduğunda eski hâle bakabilir, neyin değiştiğini görebilirsin. GitHub ise Git kayıtlarını internette saklayan bir sitedir. İşverenler bir yazılımcının GitHub sayfasına bakıp neler yaptığını görür; yani orası portföyün olacak.
Bu derste Git'i yalnızca kurup kendini tanıtacaksın. İlk kaydını Ders 1'in sonunda alacak, GitHub hesabını Ders 7'de açacaksın.
Tarayıcı ve geliştirici araçları
Web sayfaları tarayıcıda (Edge, Chrome, Firefox, Brave) çalışır; tarayıcı onların sahnesidir. Her tarayıcının içinde bir JavaScript motoru vardır. F12'ye basınca geliştirici araçları (developer tools) açılır: sayfanın kodunu ve hatalarını gösteren bir bölme.
Şimdi dene: bir sayfada F12'ye bas, bölmeye göz at, yine F12 ile kapat. Edge ilk seferde onay isteyebilir; dizüstü bilgisayarda F12 için Fn tuşunu da basılı tutman gerekebilir. Bu araçları Blok 3'te her gün kullanacaksın.
Kurulum
Üç program kuracaksın: VS Code, Node.js ve Git. Sıra önemli: önce VS Code, çünkü Git'in kurulumu VS Code'u bulup onu Git'in düzenleyicisi yapabiliyor. İki yoldan birini seç; ikisi de aynı sonuca götürür:
- Yol A, winget: Terminale üç komut yazarsın. Daha hızlı.
- Yol B, resmî siteler: Kurulum dosyalarını indirip tıklayarak kurarsın.
Kurulum sırasında Windows "Bu uygulamanın cihazınızda değişiklik yapmasına izin vermek istiyor musunuz?" diye sorabilir (İngilizcesi "Do you want to allow this app to make changes to your device?"). Pencerede yazan programın adını kontrol et ve Evet (Yes) de.
Yol A: winget ile kurmak
winget, Windows 11'le gelen bir paket yöneticisi: programları adını yazarak indirip kuran araç, terminalden çalışan bir uygulama mağazası gibi. Önce var olduğunu kontrol et. Komutu elle yazabilir ya da kutunun sağ üstündeki Kopyala düğmesine basıp terminale Ctrl+V ile yapıştırabilirsin; sonra Enter'a bas:
PS C:\Users\Deniz> winget --versionv1.29.380Sende sayı farklı olabilir. Kırmızı bir is not recognized mesajı görürsen bu bilgisayarda winget yoktur; Yol B'ye geç. Varsa üç komutu sırayla, birer birer çalıştır:
- VS Code:
Terminal — PowerShell PS C:\Users\Deniz> winget install --id Microsoft.VisualStudioCode -e - Node.js, LTS sürümü:
Terminal — PowerShell PS C:\Users\Deniz> winget install --id OpenJS.NodeJS.LTS -e - Git:
Terminal — PowerShell PS C:\Users\Deniz> winget install --id Git.Git -e
install "kur", --id "paketin kimliği şu", -e (exact) "kimlik harfi harfine eşleşsin" demek. İlk kullanımda winget, Microsoft Store kaynağının sözleşmesini onaylamanı isteyebilir: Do you agree to all the source agreements terms? sorusuna Y yazıp Enter'a bas.
Her komut önce indirir (bir ilerleme çubuğu görürsün), sonra kurar. winget bazen The installer will request to run as administrator. Expect a prompt. ("kurulum yönetici izni isteyecek, bir soru bekle") der; Windows'un sorusuna Evet de. Sonunda Successfully installed (başarıyla kuruldu) yazar. VS Code kurulunca kendiliğinden açılabilir; şimdilik kapat.
Yol B: resmî sitelerden indirmek
- VS Code: code.visualstudio.com adresinde Download for Windows'a tıkla, inen dosyayı aç ve I accept the agreement'ı seç. Select Additional Tasks ekranında Add to PATH (requires shell restart) işaretli kalsın; istersen iki Add "Open with Code" action kutusunu da işaretle (klasöre sağ tıklayıp VS Code'da açmak için). Sonra Install.
- Node.js: nodejs.org adresinde LTS yazan sürümü Windows Installer (.msi) olarak indir ve aç. Lisans ekranında I accept the terms in the License Agreement kutusunu işaretle, sonra Next ile ilerle. Tools for Native Modules ekranındaki "Automatically install the necessary tools" kutusunu işaretleme: bu kursta gerekmeyen Chocolatey, Python ve Visual Studio Build Tools gibi büyük araçları kurar.
- Git: git-scm.com adresinden Windows için 64 bitlik (x64) kurulum dosyasını indir ve aç. Ekranların çoğunda varsayılanı bırakıp Next de; iki ekrana dikkat et (aşağıda).
Git kurulumunda iki ekran
- Choosing the default editor used by Git: Listeden Use Visual Studio Code as Git's default editor'ı seç. Git bazen senden bir metin ister (örneğin bir kaydın açıklaması); o metni VS Code'da yazarsın. Varsayılan seçenek Vim'dir ve yeni başlayan için kafa karıştırıcıdır. VS Code kurulu değilse bu seçenekte Next düğmesi soluk kalır; VS Code'u önce kurmanın sebebi bu.
- Adjusting the name of the initial branch in new repositories: Let Git decide seçili kalsın; Ders 1'deki ekran çıktıları buna göre.
Öteki ekranlarda, örneğin Adjusting your PATH environment'ta, varsayılanlar doğru.
Yol A'yı seçtiysen bu ekranları görmezsin: winget Git'i varsayılan seçeneklerle kurar, düzenleyici de Vim olur. Bunu dersin sonunda, Git'e kendini tanıt bölümünde tek komutla VS Code yapacaksın.
Kurulumdan sonra: terminali kapatıp yeniden aç
Kurulum bitince açık bütün terminalleri ve VS Code'u kapatıp yeniden aç. Bu adımı atlamak, kurulumdan sonraki en yaygın hatanın sebebidir.
Terminale node yazınca Windows bu programı PATH denen bir klasör listesinde arar. Kurulum programları kendi klasörlerini bu listeye ekler, ama açık bir terminal listeyi açılırken okumuştur; yeni ekleneni görmez. VS Code'un içindeki terminal de VS Code açılırken okunan listeyi kullanır.
Kurulumu doğrula
Yeni bir terminal aç ve şu dört komutu sırayla yaz; her birinden sonra Enter'a bas. Her biri programın sürüm (version) numarasını yazar:
PS C:\Users\Deniz> node --versionv24.20.0PS C:\Users\Deniz> npm --version11.19.0PS C:\Users\Deniz> git --versiongit version 2.55.0.windows.3PS C:\Users\Deniz> code --version1.141.02a59476c9bfcb90b3ddc372c36762471b7dfad1cx64Numaralar sende farklı olabilir; önemli olan kırmızı bir hata yerine bir sürüm görmek. code --version üç satır yazar: sürüm, o sürümün kimlik kodu ve bilgisayarının mimarisi (x64). Node'da ilk sayı 24 ya da daha büyükse tamam; kurs Node 24 ile denendi.
Windows'un güvenlik ayarlarını hiç değiştirmediysen npm --version satırında sürüm yerine büyük olasılıkla kırmızı bir npm.ps1 cannot be loaded mesajı görürsün. Kurulum bozuk değil; ne yapacağını aşağıdaki ikinci kart anlatıyor.
The term 'node' is not recognizedNe zaman çıkar? Kurulumdan önce açılmış bir terminalde node yazınca. Node hiç kurulmamışsa ya da komutu yanlış yazdıysan (nodee) da aynı mesaj gelir.
PS C:\Users\Deniz> node --versionnode : The term 'node' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.At line:1 char:1+ node --version+ ~~~~ + CategoryInfo : ObjectNotFound: (node:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundExceptionPowerShell "node adında bir komut ya da program tanımıyorum, adı doğru yazdığından emin ol" diyor; ~~~~ işaretleri tanınmayan sözcüğün altında. Windows'un dili Türkçe olsa da bu mesajı büyük olasılıkla İngilizce görürsün: bu ders Türkçe kurulu bir Windows 11'de denendi, PowerShell'in mesajları orada da İngilizceydi.
Nasıl düzelir? Bütün terminalleri ve VS Code'u kapatıp yeniden aç; sebep çoğu zaman budur. Komutun yazımına bak (node, nodee değil). Hâlâ çıkıyorsa bilgisayarı yeniden başlat; o da işe yaramazsa Ayarlar → Uygulamalar → Yüklü uygulamalar'da (Settings → Apps → Installed apps) "Node.js" ara; yoksa yeniden kur. Aynı mesaj git ya da code için de çıkabilir; çözüm aynı.
npm.ps1 cannot be loaded because running scripts is disabled on this systemNe zaman çıkar? npm --version yazınca. Windows'un varsayılan güvenlik ayarı PowerShell betiklerinin (.ps1 dosyalarının) çalışmasına izin vermez; Node 24 ile gelen npm komutu da PowerShell'de böyle bir betik olarak çalışır.
PS C:\Users\Deniz> npm --versionnpm : File C:\Program Files\nodejs\npm.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.At line:1 char:1+ npm --version+ ~~~ + CategoryInfo : SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccessMesaj "bu sistemde betik çalıştırmak kapalı olduğu için npm.ps1 dosyası yüklenemiyor" diyor.
Nasıl düzelir? Kurulum bozuk değil. Şimdilik komutun adına .cmd ekleyerek npm'i kontrol et:
PS C:\Users\Deniz> npm.cmd --version11.19.0npm'i Ders 14'e kadar kullanmayacaksın; kalıcı çözümü (PowerShell'in çalıştırma ilkesini ayarlamak) o derste yapacaksın.
Dosya, klasör ve uzantı
Bilgisayardaki her şey dosyalarda durur; dosyalar klasörlerin, klasörler de başka klasörlerin içindedir. Bir dosyanın adresine yol (path) denir; Windows'ta yolun parçaları ters eğik çizgiyle (\) ayrılır. Kurulumda gördüğün PATH de bu sözcükten gelir: komutların arandığı klasör yollarının listesi.
Dosya adında son noktadan sonraki kısım uzantıdır (.js, .txt, .png, .exe). JavaScript dosyalarının uzantısı .js'dir.
Uzantıları görünür yap
Windows uzantıları varsayılan olarak gizler; adı aslında merhaba.js.txt olan bir dosya ekranda merhaba.js diye görünür ve seni yanıltır. Bir kez aç, hep açık kalsın:
- Dosya Gezgini'ni aç (Win+E).
- Üstteki çubukta Görünüm'e tıkla (İngilizce Windows'ta View).
- Açılan menüde Göster'in (Show) üzerine gel.
- Dosya adı uzantıları'nı (File name extensions) işaretle.
Çalışma klasörün: C:\kod
Bu kursta yazacağın her şey C:\kod'da duracak; ilk iki bloğun ders dosyaları C:\kod\ogren'de. Masaüstü ya da Belgeler yerine burayı seçmenin üç sebebi var:
- Kısa: terminalde yazması kolay.
- Boşluksuz, Türkçe harfsiz:
C:\Users\Gökhan\Desktop\Yeni klasörgibi yollar bazı programlarda sorun çıkarır; boşluklu yollar terminalde tırnak ister. - OneDrive dışında: Masaüstü ve Belgeler çoğu bilgisayarda OneDrive'la eşitlenir; eşitleme, sen çalışırken dosyaları kilitleyebilir.
Klasörü terminalden oluştur. mkdir (make directory, "klasör yap") komutu, aradaki C:\kod yoksa onu da oluşturur:
PS C:\Users\Deniz> mkdir C:\kod\ogren Directory: C:\kod Mode LastWriteTime Length Name---- ------------- ------ ----d----- 11.10.2026 15:55 ogrenPowerShell yeni klasörü bir tabloyla gösterir: Mode sütunundaki d klasör (directory) demek, yanında oluşturulduğu tarih ve saat var. Tarihin biçimi Windows'un bölge ayarına göre değişir.
An item with the specified name C:\kod\ogren already exists.Ne zaman çıkar? Var olan bir klasörü yeniden oluşturmaya çalışınca; örneğin aynı mkdir komutunu ikinci kez çalıştırınca.
PS C:\Users\Deniz> mkdir C:\kod\ogrenmkdir : An item with the specified name C:\kod\ogren already exists.At line:1 char:1+ mkdir C:\kod\ogren+ ~~~~~~~~~~~~~~~~~~ + CategoryInfo : ResourceExists: (C:\kod\ogren:String) [New-Item], IOException + FullyQualifiedErrorId : DirectoryExist,Microsoft.PowerShell.Commands.NewItemCommandNasıl düzelir? Düzeltecek bir şey yok: mesaj "bu adda bir öğe zaten var" diyor. Klasör ve içindekiler yerinde, hiçbir şey silinmedi.
Terminalde gezinmek
Terminal her an bir klasörün içinde durur ve istem hangisi olduğunu söyler. node merhaba.js yazdığında Node dosyayı bu klasörde arar; bu yüzden klasörler arasında gezinmeyi bilmen gerekiyor. Gereken komutlar az:
| Komut | Ne yapar? | Adı nereden geliyor? |
|---|---|---|
cd C:\kod | Verilen klasöre gider | change directory: klasör değiştir |
cd ogren | Bulunduğun klasörün içindeki ogren'e girer | |
cd .. | Bir üst klasöre çıkar | .. "bir üstteki klasör" demek |
ls | Buradaki dosya ve klasörleri listeler | list: listele |
mkdir deneme | deneme adında yeni bir klasör oluşturur | make directory: klasör yap |
cls | Ekranı temizler | clear screen: ekranı temizle |
Dene: yeni bir terminalde cd C:\kod yaz. cd başarılı olunca bir şey yazmaz, yalnızca istem değişir: artık PS C:\kod> görürsün. Sonra ls yaz:
PS C:\kod> ls Directory: C:\kod Mode LastWriteTime Length Name---- ------------- ------ ----d----- 11.10.2026 15:55 ogrenTek bir klasör var. cd ogren ile içine gir; istem PS C:\kod\ogren> olur. Burada ls hiçbir şey yazmaz, çünkü klasör boş; bu bir hata değil.
cd .. seni C:\kod'a geri çıkarır. C:\'deyken cd .. yazarsan hiçbir şey olmaz: sürücünün üstünde klasör yoktur. Ekran kalabalıklaşınca cls yaz.
Üç tuş işini çok hızlandırır:
- Tab tamamlar:
cd C:\kod\ogyazıp Tab'a basınca satırcd C:\kod\ogrenolur. Bulunduğun klasördeki bir adı tamamlarken PowerShell başına.\ekler (cd og→cd .\ogren);.\"bu klasördeki" demek, sorun değil. Ad tamamlanmıyorsa ya yanlış yazıyorsundur ya da yanlış klasördesin. - ↑ (yukarı ok) önceki komutları getirir: aynı komutu yeniden yazmak yerine ↑ ve Enter.
clsekranı temizler ama bu geçmiş durur. - Ctrl+C durdurur: bitmeyen bir programı keser, yarım yazdığın satırı iptal eder. Fareyle bir yazı seçiliyken ise onu kopyalar. Terminale yapıştırmak için Ctrl+V kullan.
Cannot find path 'C:\kod\olmayan' because it does not exist.Ne zaman çıkar? cd ile var olmayan ya da adı yanlış yazılmış bir klasöre gitmeye çalışınca.
PS C:\kod> cd olmayancd : Cannot find path 'C:\kod\olmayan' because it does not exist.At line:1 char:1+ cd olmayan+ ~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (C:\kod\olmayan:String) [Set-Location], ItemNotFoundException + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.SetLocationCommandNasıl düzelir? Mesaj "C:\kod\olmayan yolu bulunamıyor, çünkü yok" diyor ve aradığı tam yolu gösteriyor. ls ile bulunduğun yerdeki klasörlere bak ve adı Tab ile tamamla.
VS Code'u tanımak
Klasörü açmak
VS Code'da tek tek dosya değil, klasör açarsın: içindeki dosyalar solda listelenir ve VS Code'un terminali o klasörde başlar.
- VS Code'u aç: Başlat menüsüne
Visual Studio Codeyaz. - Menüden File → Open Folder...'ı seç.
C:\kod\ogrenklasörüne git ve Select Folder'a bas (Türkçe Windows'ta Klasör Seç).- VS Code "Do you trust the authors of the files in this folder?" (bu klasördeki dosyaların yazarlarına güveniyor musun?) diye sorar. Yes, I trust the authors'a bas. Önce "Trust the authors of all files in the parent folder 'kod'" kutusunu işaretlersen
C:\kodaltındaki klasörler için bu soru bir daha gelmez.
VS Code neden soruyor? Bazı özellikler klasördeki dosyaları kendiliğinden çalıştırabilir; internetten indirdiğin tanımadığın bir projede bu tehlikeli olabilir. Bu klasörü sen oluşturdun: güvenebilirsin.
Pencerenin bölümleri
- Etkinlik çubuğu (Activity Bar): en soldaki simgeler. En üstteki Explorer'ı açar; ötekiler arama, Git, hata ayıklama ve eklentiler için.
- Explorer: açtığın klasördeki dosyalar; başlıkta klasörün adı büyük harfle yazar (OGREN).
- Düzenleyici (Editor): kodu yazdığın yer. Açtığın her dosya üstte bir sekme olur.
- Panel: VS Code'un terminali burada açılır (Terminal → New Terminal) ve açtığın klasörde başlar.
- Durum çubuğu (Status Bar): imlecin satırı ve sütunu (
Ln 1, Col 1), girinti ayarı, dosyanın dili.
Auto Save ve yakınlaştırma
- File → Auto Save'i işaretle: VS Code dosyayı, sen yazmayı bıraktıktan kısa bir süre sonra kendisi kaydeder. Kaydedilmemiş dosyanın sekmesinde adının yanında ● görünür.
- Yazılar küçükse View → Appearance → Zoom In ile pencereyi büyüt; Zoom Out küçültür, Reset Zoom eski hâline döndürür. Menüde her birinin yanında kısayolu da yazar.
Türkçe dil paketi kurma
VS Code'un menüleri İngilizce. Türkçe dil paketi var, ama kurmanı önermiyoruz: hata mesajları, internetteki çözümler, belgeler ve bu kursun bütün ekranları İngilizce menüleri gösteriyor. "File → Auto Save" dediğimizde aradığını hemen bulursun; File, View, Terminal gibi sözcükler birkaç günde yerine oturur.
Restricted Mode yazıyorNe zaman çıkar? Klasörü açarken güven sorusuna No, I don't trust the authors dediysen. VS Code klasörü kısıtlı modda açar: üstte "Restricted Mode is intended for safe code browsing. Trust this folder to enable all features." yazan bir şerit, sol altta Restricted Mode yazısı görünür. Bazı özellikler kapalı kalır; örneğin Ders 7'de kullanacağın hata ayıklayıcı çalışmaz.
Nasıl düzelir? Şeritteki Manage'e ya da sol alttaki Restricted Mode yazısına tıkla, açılan sayfada Trust'a bas. Kendi oluşturduğun klasörlere güvenebilirsin; internetten indirdiğin tanımadığın projelerde önce kodu incele.
Türkçe klavyede kod karakterleri
Kodda süslü parantez, köşeli parantez, ters eğik çizgi gibi işaretler bolca geçer. Türkçe Q klavyede bunların çoğu AltGr tuşuyla (boşluk çubuğunun sağındaki Alt) yazılır: AltGr'yi basılı tutup ikinci tuşa basarsın.
| İşaret | Adı | Nasıl yazılır? |
|---|---|---|
" | çift tırnak | " tuşu: Esc'nin altında, 1'in solunda |
' | tek tırnak | Shift+2 |
( ) | parantez | Shift+8 ve Shift+9 |
{ } | süslü parantez | AltGr+7 ve AltGr+0 |
[ ] | köşeli parantez | AltGr+8 ve AltGr+9 |
< > | küçüktür, büyüktür | < tuşu (sol Shift'in sağında) ve Shift+< |
; : | noktalı virgül, iki nokta | Shift+, (İ'nin sağındaki tuş) ve Shift+. (Ç'nin sağındaki tuş) |
= + | eşittir, artı | Shift+0 ve Shift+4 |
- _ | eksi, alt çizgi | - tuşu (*'ın sağında) ve Shift+- |
* / | yıldız (çarpı), eğik çizgi (bölü) | * tuşu (0'ın sağında) ve Shift+7 |
\ | ters eğik çizgi | AltGr+* |
| | dikey çizgi | AltGr+- (ya da AltGr+<) |
# $ | kare, dolar | AltGr+3 ve AltGr+4 |
% & | yüzde, ve işareti | Shift+5 ve Shift+6 |
@ | et işareti | AltGr+Q |
İlk programın: merhaba.js
Her şey hazır; şimdi zinciri baştan sona çalıştır.
- VS Code'da
C:\kod\ogrenklasörü açık olsun (solda OGREN yazıyor). - Explorer'da boş bir yere sağ tıkla, New File...'ı seç,
merhaba.jsyaz ve Enter'a bas. Dosya düzenleyicide açılır. - İçine şu satırı kendi elinle yaz:
console.log("Merhaba dünya"). VS Code,(ya da"yazınca kapatan eşini kendisi ekler. Şaşırma, yazmayı sürdür: kapatan işarete geldiğinde yenisini eklemez, var olanın üstünden geçer. - Ctrl+S ile kaydet (Auto Save açıksa kendisi kaydeder).
- Menüden Terminal → New Terminal'i seç; altta bir terminal açılır.
node merhaba.jsyaz ve Enter'a bas.
console.log("Merhaba dünya")PS C:\kod\ogren> node merhaba.jsMerhaba dünyaÜstte dosya, altta VS Code'un içindeki terminal. node merhaba.js komutu Node.js'e "bu dosyayı çalıştır" der.
Bu satırı gördüysen bütün zincir çalışıyor: VS Code dosyayı kaydetti, terminal komutu Node.js'e iletti, Node.js dosyayı okuyup çevirdi, işlemci çalıştırdı (Şekil 0.1). console.log(...) "parantezin içindekini terminale yaz" demek; tırnak içindeki yazı olduğu gibi çıkar. Parçalarını Ders 1'de tek tek öğreneceksin, şimdilik kalıp olarak yaz.
Error: Cannot find module 'C:\kod\merhaba.js'Ne zaman çıkar? Terminal, dosyanın olmadığı bir klasördeyken node merhaba.js yazınca. Burada terminal C:\kod'da, dosya ise C:\kod\ogren'de.
PS C:\kod> node merhaba.jsnode:internal/modules/cjs/loader:1568 throw err; ^ Error: Cannot find module 'C:\kod\merhaba.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1564:15) ... at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: []} Node.js v24.20.0Nasıl okunur? Üstteki node:internal/... satırları Node'un kendi iç dosyaları; geç. Asıl satır Error: Cannot find module 'C:\kod\merhaba.js': "bu dosyayı bulamıyorum". Tırnak içindeki yol Node'un nereye baktığını söyler; yol yanlışsa terminal yanlış klasördedir.
Nasıl düzelir? Ya dosyanın klasörüne geç (cd C:\kod\ogren) ve komutu tekrar çalıştır, ya da dosyanın yolunu ver: node ogren\merhaba.js. VS Code'un terminali açtığın klasörde başladığı için bu hatayı en çok ayrıca açtığın terminallerde görürsün.
merhaba.js.txt olmuşNe zaman çıkar? Dosyayı Dosya Gezgini'nde Yeni → Metin Belgesi (New → Text Document) ile oluşturup adını merhaba.js yapınca. Uzantılar gizliyse adın sonunda görünmeyen bir .txt kalır ve Node merhaba.js adında bir dosya bulamaz:
PS C:\kod\ogren> node merhaba.jsnode:internal/modules/cjs/loader:1568 throw err; ^ Error: Cannot find module 'C:\kod\ogren\merhaba.js' ...PS C:\kod\ogren> ls Directory: C:\kod\ogren Mode LastWriteTime Length Name---- ------------- ------ -----a---- 11.10.2026 15:57 29 merhaba.js.txtNasıl düzelir? ls gerçek adı gösterir. Dosyayı VS Code'un Explorer'ında seçip F2 ile yeniden adlandır ve sondaki .txt'yi sil. Uzantıları görünür yaptıysan bu tuzağa düşmezsin; kod dosyalarını hep VS Code'da oluştur.
Ne zaman çıkar? Dosyaya yazıp kaydetmeden çalıştırınca. Node diskteki dosyayı okur; kaydetmediysen diskte boş ya da eski bir dosya vardır. Boş dosya hata vermez, hiçbir şey yazmaz:
console.log("Merhaba dünya")PS C:\kod\ogren> node merhaba.jsSekmedeki ● dosyanın kaydedilmediğini söylüyor. Terminalde çıktı yok.
Nasıl düzelir? Ctrl+S ile kaydet ve yeniden çalıştır. Kalıcı çözüm File → Auto Save.
> işareti çıktı, komutlar Uncaught SyntaxError veriyorNe zaman çıkar? Terminale yalnızca node yazıp Enter'a basınca. Node, satır satır JavaScript yazabileceğin etkileşimli moduna girer ve istem > olur. Bu modda yazdığın her şeyi JavaScript sanır; node merhaba.js JavaScript olmadığı için hata verir:
PS C:\kod\ogren> nodeWelcome to Node.js v24.20.0.Type ".help" for more information.> node merhaba.jsnode merhaba.js ^^^^^^^ Uncaught SyntaxError: Unexpected identifier 'merhaba'>Nasıl düzelir? Bu moddan çık. Ctrl+C'ye bir kez basınca Node (To exit, press Ctrl+C again or Ctrl+D or type .exit) yazar ("çıkmak için Ctrl+C'ye bir daha bas"); ikinci basışta çıkarsın. .exit yazıp Enter'a basmak da olur. İstem yeniden PS C:\kod\ogren> olunca komutu yaz.
Git'e kendini tanıt
Git her kaydın yanına onu kimin yaptığını yazar; bunun için adını ve e-postanı bir kez söylemen gerekir. Söylemezsen Ders 1'deki ilk kayıtta Git seni durdurup sorar. Terminalde şu iki komutu kendin yaz; tırnakların içine kendi adını ve e-postanı koy:
PS C:\Users\Deniz> git config --global user.name "Adın Soyadın"PS C:\Users\Deniz> git config --global user.email "eposta@ornek.com"Üçüncü komut, Git senden bir metin isteyeceği zaman VS Code'u açmasını söyler. Bunu olduğu gibi kopyalayabilirsin:
PS C:\Users\Deniz> git config --global core.editor "code --wait"Komutlar bir şey yazmazsa ayar kaydedilmiş demektir. Kontrol et; örnekte Deniz'in bilgileri var, sende kendi bilgilerin görünmeli:
PS C:\Users\Deniz> git config --global --listuser.name=Deniz Yılmazuser.email=deniz@example.comcore.editor=code --wait--global: ayar bu bilgisayardaki bütün projelerinde geçerli olsun.user.name: kayıtlarda görünecek adın.user.email: her kaydın içine yazılır; projeni GitHub'a koyduğunda bu e-posta da herkese açık olur. Kişisel adresinin görünmesini istemiyorsan şimdilik başka bir adres yaz; Ders 7'de GitHub'ın e-postanı gizleyen adresine geçeceksin.core.editor "code --wait": Git senden bir metin isteyeceği zaman (örneğin bir kaydın açıklaması) VS Code'u açsın ve sen o sekmeyi kapatana kadar beklesin. Yol A ile kurduysan bu ayar şart, çünkü winget Git'i Vim ile kurar. Kurulumda VS Code'u seçtiysen de zararı yok.
macOS ya da Linux kullanıyorsan
Görevler
Görevleri sırayla yap. Önce kendin dene, takılırsan ipuçlarını sırayla aç; çözüme en son bak.
Kurulum karnesi
Yeni bir terminal aç ve şu bilgileri topla: Node.js, npm, Git ve VS Code sürümlerin ile Git'e kaydettiğin adın. Sonunda elinde şuna benzer beş satırlık bir liste olsun (sayılar sende farklı olabilir):
Node.js: v24.20.0npm: 11.19.0Git: 2.55.0VS Code: 1.141.0Git'teki adım: Deniz Yılmazİpucu 1
Sürümleri Kurulumu doğrula bölümündeki komutlar yazdırır; hepsi --version ile biter.
İpucu 2
Git'e kaydettiğin tek bir ayarı okumak için ayarın adını, değer vermeden yaz: git config --global user.name.
Çözümü göster
PS C:\Users\Deniz> node --versionv24.20.0PS C:\Users\Deniz> npm --version11.19.0PS C:\Users\Deniz> git --versiongit version 2.55.0.windows.3PS C:\Users\Deniz> code --version1.141.02a59476c9bfcb90b3ddc372c36762471b7dfad1cx64PS C:\Users\Deniz> git config --global user.nameDeniz YılmazSınır denemesi: node --version çıktısının ilk sayısı 24'ten küçükse (örneğin v20.11.0) bilgisayarda eski bir Node kalmış demektir; LTS sürümünü yeniden kur. git config --global user.name hiçbir şey yazmıyorsa adını henüz kaydetmemişsin: Git'e kendini tanıt bölümüne dön. npm kırmızı yazıyorsa npm.cmd --version dene.
Terminalde gezinti
C:\kod\ogren klasöründe açık bir terminalle (VS Code'un terminali de olur) şunları yalnızca komutlarla yap. Her adımdan sonra istemdeki klasöre bak.
- Bir üst klasöre,
C:\kod'a çık. - Orada
denemeadında bir klasör oluştur ve içine gir. lsile içinin boş olduğunu gör.cd ..ile en üste,C:\'ye kadar çık. Sonra bir kez dahacd ..yaz: ne oluyor?- Tek bir
cdkomutuyla ve Tab'ı kullanarakC:\kod\ogren'e dön.
Sonunda istem PS C:\kod\ogren> olmalı.
İpucu 1
Bir üst klasöre cd .. ile çıkılır, klasör mkdir ile oluşturulur.
İpucu 2
C:\kod\deneme'den C:\'ye iki kez cd .. ile çıkılır. Son adımda cd C:\kod\og yazıp Tab'a bas.
Çözümü göster
Terminalde baştan sona şöyle görünür; her satırın başındaki istem, o an hangi klasörde olduğunu söylüyor:
PS C:\kod\ogren> cd ..PS C:\kod> mkdir deneme Directory: C:\kod Mode LastWriteTime Length Name---- ------------- ------ ----d----- 11.10.2026 16:08 deneme PS C:\kod> cd denemePS C:\kod\deneme> lsPS C:\kod\deneme> cd ..PS C:\kod> cd ..PS C:\> cd ..PS C:\> cd C:\kod\ogrenPS C:\kod\ogren>ls hiçbir şey yazmadı, çünkü deneme boş. Son komutta cd C:\kod\og yazıp Tab'a basınca satır cd C:\kod\ogren oldu.
Sınır denemesi: C:\ sürücünün en üstüdür; cd .. orada hata vermez, yerinde kalır. Tab hiçbir şey tamamlamıyorsa ya adı yanlış yazmışsındır ya da o klasör orada yoktur. deneme klasörünü silme; Görev 5'te yeniden kullanacaksın.
Kendi mesajın ve kaydetme deneyi
merhaba.js'yi, ekrana şu satırı yazdıracak şekilde değiştir:
Hoş geldin Sihirdar, bugün kaç maç kazandın?Sonra bir deney yap: File → Auto Save açıksa tıklayıp kapat, mesajdaki bugün'ü dün yap, kaydetmeden çalıştır ve ne olduğuna bak. Sonra kaydedip yeniden çalıştır. En sonunda Auto Save'i yeniden aç.
İpucu 1
Yalnız tırnakların içini değiştir; console.log( ile başlayıp ) ile biten kalıp aynı kalıyor.
İpucu 2
Kaydetmeden çalıştırınca Node diskteki son kaydedilmiş hâli çalıştırır. Sekmede ● varken dosya kaydedilmemiştir.
Çözümü göster
console.log("Hoş geldin Sihirdar, bugün kaç maç kazandın?")Hoş geldin Sihirdar, bugün kaç maç kazandın?Kaydetmeden çalıştırdığında ekranda hâlâ bugün yazar; kaydettikten sonra dün yazar. Sınır denemesi: Türkçe harfler (ş, ğ, ü, ç, ı) ekranda doğru çıkmalı. Tırnakların arasını tamamen boşaltırsan (console.log("")) program hata vermez, boş bir satır yazar.
Klavye antrenmanı
C:\kod\ogren içinde klavye.js adında yeni bir dosya oluştur ve aşağıdaki çıktıyı veren tek satırlık programı kopyalamadan yaz. Her işareti klavyede kendin bulacaksın.
{ } [ ] ( ) < > ; : = + - * / | _ # $ % & @ ' ^ ~ `İpucu 1
Kalıp merhaba.js'deki gibi: console.log("..."). İşaretlerin hepsi tırnakların içine girer.
İpucu 2
{ } [ ] | # $ @ AltGr ile yazılır. Takıldığın işareti klavye tablosunda bul.
İpucu 3
^, ~ ve ters tırnak ölü tuştur: bastıktan sonra boşluğa bas. Boşluk tuşu yalnızca işareti çıkarır; iki işaretin arasındaki boşluk için bir kez daha basman gerekir.
Çözümü göster
console.log("{ } [ ] ( ) < > ; : = + - * / | _ # $ % & @ ' ^ ~ `"){ } [ ] ( ) < > ; : = + - * / | _ # $ % & @ ' ^ ~ `Çalıştırmak için node klavye.js. Sınır denemesi: ^'dan sonra boşluk yerine doğrudan bir harfe basarsan iki tuş birleşir (^ ve a → â) ve çıktın tutmaz. Bu satırda ters eğik çizgi (\) bilerek yok: tırnak içinde özel bir anlamı var, ileride göreceksin.
Yol bul
C:\kod\ogren içinde kontrol.js adında bir dosya oluştur; ekrana Kurulum tamam, Ders 1'e hazırım yazdırsın. Sonra terminalde Görev 2'de oluşturduğun C:\kod\deneme klasörüne geç ve dosyayı oradan çalıştırmayı dene:
- Önce
node kontrol.jsyaz. Çıkan hatayı oku: Node dosyayı nerede aradı? cdkullanmadan,C:\kod\deneme'deyken dosyayı çalıştıran iki komut bul: biri dosyanın tam yolunu versin, öteki..kullansın.
İki komutun da çıktısı şu olmalı:
Kurulum tamam, Ders 1'e hazırımİpucu 1
Hata mesajında tırnak içindeki yol, Node'un baktığı yerdir. Onu dosyanın gerçek yeriyle (C:\kod\ogren\kontrol.js) karşılaştır: hangi kısım farklı?
İpucu 2
node komutuna dosyanın yalnız adını değil, yolunu da verebilirsin. C: ile başlayan tam yol, terminal nerede durursa dursun aynı dosyayı gösterir.
İpucu 3
cd ..'daki .. "bir üst klasör" demekti; bu işaret bir yolun içinde de çalışır. deneme'den bir üste çıkıp ogren'e girmek için önce .., sonra ters eğik çizgi, sonra klasörün adı gelir. node ..\og yazıp Tab'a basarsan PowerShell klasörün adını tamamlar.
Çözümü göster
console.log("Kurulum tamam, Ders 1'e hazırım")Kurulum tamam, Ders 1'e hazırımPS C:\kod\deneme> node kontrol.jsnode:internal/modules/cjs/loader:1568 throw err; ^ Error: Cannot find module 'C:\kod\deneme\kontrol.js' ...PS C:\kod\deneme> node C:\kod\ogren\kontrol.jsKurulum tamam, Ders 1'e hazırımPS C:\kod\deneme> node ..\ogren\kontrol.jsKurulum tamam, Ders 1'e hazırımNode, kontrol.js'yi terminalin durduğu C:\kod\deneme'de aradı. Tam yol her yerden çalışır. ..\ogren\kontrol.js ise "bir üst klasöre çık, ogren'e gir, kontrol.js'yi al" demek.
Sınır denemesi: node ..\kontrol.js yazarsan Node C:\kod\kontrol.js'yi arar ve bulamaz, çünkü .. yalnızca bir kat yukarı çıkar. Adı yanlış yazarsan (node ..\ogren\kontol.js) mesajdaki yol C:\kod\ogren\kontol.js olur: klasör doğru, dosyanın adı yanlış.
Kendini sına
Soru 1
Kodu VS Code mu çalıştırır, Node.js mi?
Cevabı göster
Node.js. VS Code yalnızca kodu yazdığın düzenleyicidir: dosyayı kaydeder, içinde bir terminal gösterir. Kodu okuyup işlemcinin anlayacağı komutlara çeviren ve çalıştıran Node.js'tir. Bu yüzden herhangi bir terminalde node merhaba.js yazarak programı VS Code olmadan da çalıştırabilirsin.
Soru 2
Git ile GitHub'ın farkı ne?
Cevabı göster
Git bilgisayarına kurduğun bir programdır: dosyalarının hâllerini kayıt noktaları olarak saklar. GitHub ise bir web sitesidir: Git kayıtlarını internette saklar, başkalarıyla paylaşmanı sağlar ve portföyün olur. Git'i GitHub olmadan da kullanabilirsin.
Soru 3
Mesajı oku: terminal hangi klasörde, ne yapmalısın?
Error: Cannot find module 'C:\Users\Deniz\merhaba.js'Cevabı göster
Node dosyayı C:\Users\Deniz içinde aradı; yani terminal kullanıcı klasöründe duruyor, C:\kod\ogren'de değil. cd C:\kod\ogren yazıp komutu tekrar çalıştır ya da dosyanın tam yolunu ver: node C:\kod\ogren\merhaba.js.
Soru 4
Node.js'i kurdun. Başlat menüsünden yeni açtığın terminalde node --version çalışıyor ama VS Code'un terminalinde The term 'node' is not recognized diyor. Neden, ne yaparsın?
Cevabı göster
VS Code, Node kurulmadan önce açılmıştı; içindeki terminal de PATH listesinin eski hâlini kullanıyor. VS Code'u tamamen kapatıp yeniden aç. Yeni açılan terminal, Node'un klasörünü içeren güncel listeyi okur.
Soru 5
{, [ ve \ Türkçe Q klavyede hangi tuşlarla yazılır?
Cevabı göster
{ için AltGr+7, [ için AltGr+8, \ için AltGr+* (0'ın sağındaki tuş). Kapatanlar: ] için AltGr+9, } için AltGr+0.
Soru 6
Uzantılar gizliyken Dosya Gezgini'nde merhaba.js adlı, simgesi Not Defteri olan bir dosya görüyorsun. Gerçek adı ne olabilir, nasıl emin olursun?
Cevabı göster
Büyük ihtimalle merhaba.js.txt: Not Defteri simgesi dosyanın bir metin belgesi olduğunu ele veriyor. Emin olmak için dosya uzantılarını görünür yap (Görünüm → Göster → Dosya adı uzantıları) ya da o klasörde terminale ls yaz; ikisi de gerçek adı gösterir.
Bir sonraki derste, Ders 1'de, console.log ile ekrana istediğini yazdıracak, bilgileri değişken denen kutulara koyacak ve JavaScript'in hata mesajlarını okumayı öğreneceksin.