Cohorts
  • Discover
  • About Us
  • Blog
  • Patika.dev
  • Web3

Node.js

Node.js Nedir?
Çalışma Ortamının Kurulması
Asal Sayılar Çalışması
Node.js REPL Ortamı
Ödev 1 - Node.JS Komut Satırı Kullanımı

Node.js'in Asenkron Yapısı
Callback Nedir?
Promise Nedir?
Async - Await Yapısı
Ödev 2 - Post Sıralama ve Post Ekleme

Olay Odaklı - Bloklamayan
Modül Kavramı
Ödev 3 - Daire Modülü
FS Modülü Kullanımı
Ödev 4 - FS Modülü Çalışması
NPM ve Package.json Kavramları
Request - Response Döngüsü
Bir Web Sunucusu Yazmak
Ödev 5 - Kendi Web Sunucumuz
Express.js Giriş
Ödev 6 - Koa.js ile Web Sunucusu Yazımı

PCAT Proje Tanıtımı
PCAT Projesi Çalışma Ortamı
PCAT Projesi Express Nodemon Kurulumu
Clean Blog Proje - 1. Bölüm - Ödev 7
Statik Dosyalar - Middleware Giriş
Template Engine Kavramı
Clean Blog Proje - 2. Bölüm - Ödev 8
MongoDB Giriş
MongoDB - Compass Kurulumu
Mingo Kurulumu
MongoDB - CRUD İşlemleri
Mongoose CRUD İşlemleri
Request Body Nesnesi
Model ve Dinamik İçerik
Clean Blog Proje - 3. Bölüm - Ödev 9
Tekil Fotoğraf Sayfaları
Clean Blog Proje - 4. Bölüm - Ödev 10
Görsel Yüklemek
Fotoğraf Bilgisi Güncellemek
Fotoğraf Silmek
MVC Yeniden Düzenleme
Clean Blog Proje - 5. Bölüm - Ödev 11
PCAT Sayfalama
Heroku - MongoDB Atlas Deployment
Clean Blog Proje - 6. Bölüm - Ödev 12

Smartedu Projesi Tanıtım
HTTP Durum Kodları
Linkleri Güncellemek
Routing - Yönlendirme
Kurs Modeli
Postman ve API
Kursları Listelemek
Tekil Kurs Sayfası ve Slugify
Kategori Oluşturmak ve Listelemek
Kayıt Sayfası ve Bcrypt Paketi
Giriş Sayfası ve Giriş İşlemi
Session Nedir?
Çıkış İşlemi
Kişiye Özel İçerik
Özel Middleware
Kullanıcı Rolleri
Kurs Oluşturmak
Kurs - Öğretmen İlişkisi
Kurs - Öğrenci İlişkisi
Kurs - Öğrenci İlişkisi II
Search Alanı
İletişim Sayfası ve Mail Göndermek
Bildirim Mesajları
Kayıt ve Kullanıcı Doğrulama
Kurs Silmek
Kurs Güncellemek
Admin Alanı ve Kullanıcı Silmek
Kategori Eklemek ve Silmek
Smartedu Deployment

Asal Sayı Bulma Örneği


Node.js tanımı üzerine konuşurken yaptığımız en temel tanımlamayı tekrar açıklayalım. Node.js bir javascript çalışma ortamıdır ve bu nedenle bizler bir tarayıcıya gerek kalmadan da Node.js kodlarını çalıştırabileceğiz.


Komut satırından Node.js ile javascript uzantılı dosyaları çalıştırmak için: node dosya_adi.js veya node dosya_adi komutlarını kullanabiliriz.


İki Sayı Arasındaki Asal Sayıları Bulmak


Örneğimizde senaryomuz şu şekilde: Komut satırından iki sayı girebileceğiz ve sonuç olarak bu iki sayı arasında bulunan asal sayıları komut satırı ekranına yazdıracağız. Kısaca asal sayı tanımını tekrar hatırlayacak olursak: Yalnız 1 ve kendisine bölünebilen, 1 den büyük doğal sayılardır.


  • Önce asal sayıları bulabileceğimiz showPrimeNumbers fonksiyonumuzu yazalım ve primeNumbers.js olarak kaydedelim.


function showPrimeNumbers(lownumber, highNumber) {
    for (let i =lownumber; i <= highNumber; i++) {
        let isPrime = true;
        for (let j = 2; j <= i; j ++) {
            if( i % j ===0 && j !==i) {
                isPrime = false
            }
        }

        if(isPrime) {
            console.log(i);
        }
    }
}


  • Ve fonksiyonumuzu çalıştıraşım. Fonksiyonumuzu çalıştırırken iki adet argüman girmemiz gerek ve bu argümanları biz fonksiyonu çalıştırırken yazıyoruz.


showPrimeNumbers(7,22);


  • Yalnız burada şöyle bir temel sorunumuz var, uygulamayı node primeNumbers komutuyla çalıştırdığımızda devamlı olarak aynı sonuçları 7,11,13,17,19 alacağız. Bunun için komut satırından parametreleri gireceğimiz bir yol bulmamız gerekiyor. Bunun için process nesnesinden faydalanacağız.



Process Object


Şu an için tamamıyla kavramak bizi zorlasa da process nesnesi, node.js çalışma ortamında o an yapılan iş ile ilgili bilgiler içerir. Bizim için önemli olan kısım ise process.argv özelliğidir. process.argv bize node.js programı çalıştığında komut satırından girilen argümanları bir array olarak bize sunar.


Örneğin test.js dosyasını node test.js one two three komutuyla çalıştırdığımızda, (rakamlar satır sırasını gösteriyor)


0: /usr/local/bin/node
1: /Users/mjr/work/node/process-args.js
2: one
3: two=three
4: four


sonucunu elde ederiz. O zaman biz bir şekilde bu arrayin ilk iki elemanından kurtulabilirsek argümanlara ulaşabiliriz. Bunun için array.slice metodundan faydalanacağız.


const arguments = process.argv.slice(2);


bize sadece argümanlardan yeni bir nesne döner. arguments[0], arguments[1], ....arguments[n] ile n tane argümana ulaşabiliriz. Bize 2 tane argüman gerekli olduğu için arguments[0] ve arguments[1]'i kullanacağız. ve uygulamamızı çalıştırmak için


showPrimeNumbers(arguments[0] *1, arguments[1]* 1);


yeterli olacaktır. Burada argümanları 1 ile çarpmamızın nedeni ise komut satırından girilen argümanlar varsayılan olarak String veritipine dönüşür, onu Number veritipine dönüştürmek isteriz.


Kodumuzun son hali:


const arguments = process.argv.slice(2);

function showPrimeNumbers(lownumber, highNumber) {
    for (let i =lownumber; i <= highNumber; i++) {
        let isPrime = true;
        for (let j = 2; j <= i; j ++) {
            if( i % j ===0 && j !==i) {
                isPrime = false
            }
        }

        if(isPrime) {
            console.log(i);
        }
    }
}

showPrimeNumbers(arguments[0] *1, arguments[1]* 1);

Quiz

Answer the questions to check your understanding.

This lesson includes a short quiz.

Previous
Next

Lesson discussion

Swap insights and ask questions about “Node.js”.

Enroll to participate
Start the course to unlock the discussion. Enrolling helps us keep conversations relevant to learners.
Cohorts
WebsiteDiscoverBlogPatika.devRise In
CoursesCircleRustSoliditySolanaWeb3 FundamentalsBlockchain Basics
CompanyAbout UsTerms of UsePrivacy PolicyGDPR NoticeCookies
Don't miss any update!

Disclaimer: The information, programs, and events provided on https://cohorts.patika.dev is strictly for upskilling and networking purposes related to the technical infrastructure of blockchain platforms. We do not provide financial or investment advice, nor do we make any representations regarding the value, profitability, or future price of any blockchain or cryptocurrency. Users are encouraged to conduct their own research and consult with licensed financial professionals before engaging in any investment activities. https://cohorts.patika.dev disclaims any responsibility for financial decisions made by users based on the information provided here.

© 2026 Cohorts, All rights reserved