Kayıtlar

Kasım, 2017 tarihine ait yayınlar gösteriliyor

Node.JS - 7 - Event yönetimi

Resim
Bilgisayar dünyasında her işlem bir event olarak değerlendirilebilir. NodeJS te özellikle Asenkron çalışan tüm işlemler Eventler ile takip edilebilir. Dosya okuma, bağlantı Açma, Http/Https işlemleri gerek Snucu gerekse İstemci davranışı olarak yapılan şu ana kadar gördüğümüz Asenkron işlemlerde, işlemlerin bitme zamanı belirsizlik içerir, Bu tip durumlarda Eventlerde faydalanarak stenen Aksiyonu işlemin neticesine göre almak yada Hata durumlarını yakalayarak ilgili yönlendirmeleri yapabilmek Adına Event leri kullanıyor olacağız. Örneğimizde, Dosya okuma işlemi yapıyoruz, Tanımlı 2 Event mevcut, Ancak "error" durumuna ilikin Event sonradan ileva ediliyor ve 2 versiyon için uygulamanın çalıştırıldığında Dosya okuma hatası için sergilediği farklı davranışlar gösterilmeye çalışılmıştır. ayrıca, Ön tanımlı (Built-in) eventlerin yanı sıra Kendi Eventinizi tanımlamanız ve Bu şekilde yol almanızda mümkün. Bu amaçla " Events " modülü eklenmeli ve " EventEm...

Node.JS - 6 - Http modülü ve işlemleri

Resim
http modülü, “Hyper transfer protocol” ü üzerinden veri iletimi için kullanılan modüldür. Bu işlemleri temelde Sunucu (Server) yada İstemci (Client) işlemleri olarak değerlendirebiliriz. kısacası hizmet veren mi alan mı olmak istiyoruz :) Güvenli (Secure) HTTP işlemleri (https) için "https" modülünün varlığı unutulmamalıdır. Sunucu Olarak: Bu modül yardımı ile verilen portu dinleyen sunucu yaratılabilir. Oluşturulan değişken için port ifadesi ve içerik verilmelidir.  Öncelikle Modülümüzü ekledik, http sunucu objemizi “createServer” ile oluşturuyoruz, tanımlanan “res” isimli cevap objesi için Başlık (Header) bilgilerini set ettikten sonra, esas cevabımızı oluşturuyoruz. “listen” komutu http objemize çalışma emrini vermiş oluyoruz. Böylelikle herhangi bir sunucu uygulamasına ihtiyaç duymadan http isteklerini işler duruma gelmiş oluyoruz. Bir ileriki boyutta, parametre alınması için parse methodu kullanılabilir, u şekilde oldukça pratik olacak...

Node.JS - 5 - Modül Tanımlama

Resim
Modül tanımlamayı kısaca class lar ile çalışmak olarak düşünebiliriz. Bu noktada 2 farklı şekilde kurgu yapmak mümkün, propety leri ile tam bir kütüphane (Library) mantığını oturtabilir ya da kendi başna işlem görecek şekilde tasarlabilirsiniz. Bu noktada ifadesi zor oldu ancak örnekler üzernden gitmek faydalı olacaktır sanırım.  example008.js / modul008.js Örnek 8 de biraz sonuç odaklı, yaklaşım görülebilir; Bu Örnekte, property yada Method dış dünya ya açılmıyor, aslında class lardan constructor olarak bildiğimiz ana method içinde Tüm dünya dönüyor, Gerekli inputlar sağlanarak tüm işlemlerin içerde dönmesi bekleniyor. Bakıldığında ayrı bir işlem gerçekleşiyor ve biz çağırdığımız noktada (example008.js içinde) gerçekleşen işlemlerle ilgilenmiyoruz, dolayısı ile daha sade bir çağrımgerçekleşiyor.  Bu yapıyı Özellikle Web uygulaması yaptığınızda, münferit sayfaları oluştururken kullanabiliriz. Burda amaç ortak fonksiyonları toparlamak yerine, münfe...

Node.JS - 4 - IO/Dosya işlemleri

Resim
Node.JS’ in özellikle asenkron çalışma mantığı sayesinde IO işlemlerinde oldukça performanslı olduğunu dile getirmiştik. Bu noktada File işlemine örnek vermeden geçmek olmaz. Bu amaçla IO işlemler için kullanılacak olan modülden ve aslında dolaylı olarak bir modülün nasıl ekleneceğinden bahsetmenin de zamanı geldi. Dosya işlemleri: IO işlemleri için kullanacağımız modül “fs” bir modül eklenirken öncelikle “var” anahtar kelimesi ile parametre tanımı yapılıyor ve “require(“<modül-adı>”)” komutu ile kullanılacak modül bilgisini bu değişkene atama yapıyoruz. Öncelikle “Deneme.txt” isimli bir  dosyamızın var olduğunu düşünerek aşağıdaki şekilde kodumuzu düzenleyerek, çalıştırdığımızda içeriğini ekrana bastırıyor olacağız. "example005.js" olarakta dosyaya yazmak için aşağıdaki komut kullanılabilir: //Dosyamizin içerisine yazimizi yaziyoruz fs.writeFileSync("D:\\TEMP\\nodejs\\" + process.argv[2],process.argv[3]) Bu adıma kadar, dosya işleml...

Node.JS - 3 - İlk uygulama

Resim
İlk uygulamamız için çok temel düzeyde bir örnek seçmek faydalı olacaktır. Node.JS için şöyle bir ifade demek doğru olacaktır; “node <dosya-adı>” komutu yordamı ile, belirttiğimiz dosya javascript engine ile çalıştırılıyor.  Bu sebeple içinde sadece console.log(“<Bir Metin>”)”  (example002.js) İfadesinin olduğu dosya yaratılabilir, buda bizim için geçerli bir uygulama olacak ve tüm yaptığı komut satırında komutumuzu çalıştırdığımızda Komut satırına ilgili komut ile yazdırılmak istenen metin yazdırılacaktır ve çalışan başka bir nesne olmadığından uygulama sonlanacaktır. Evet, bu biraz basit oldu sanırım, Ozaman Modüller ile ilgili aşağıdaki ufak eklemeyide yaparak, bir adım ileri gidelim ve Parametre kullanımı ekleyelim: Bu noktada başlamadan önce 2 bilgiyi ele almakta fayda var: parametreler boşluk ile ayrılır, array dir istediğimiz kadar tanımlayabiliriz, ancak ilk 2 parametre ön tanımlı olarak sistem tarafından kullanılır. Node.JS...

Node.JS - 2 - NPM (Node Package Manager)

NodeJs in ne olduğunu gördük, neleryapabileceğimizi hayal etmeye başladık, ozamna nasıl sorularına cevap aramaya başlayabiliriz. Öncelikle NodeJS te modül kavramından bahsedeceğiz, Modül Birazda diğer dillerden alışık olduğumuz paket yada class ifadelerine denk geliyor. Bir amaca yönelik yordamların bulunduğu eklenerek kullanıldığı kod parçaları. Online olarak bir çok kullanabileceğimiz Modül bulunmaktadır, listesine sitesinden ulaşabilirsiniz. Bu noktada NPM ( Node Package Manager ) den bahsetmek faydalı olacaktır. İlgili paketleri yani node.JS için yazılmış paketleri yönetmek amaçlı kullanılabilecek, Komut satırı arayüzü ile çalışan bir uygulama. Bu uygulama aracılığı ile ihtiyaç duyduğumuz scriptleri kullanıyor olacağız. Kullanımı ise oldukça basit, komut satırında sadece “npm” yazarak kurulu olup olmadığını kontrol edebilirsiniz, normal şartlar altında doğru release’i indirerek kurulumu sağlamanız sonrasında npm kurulumunun yapılmış olması gerekiyor. “npm” yazıp enter’a...

Node.JS - 1 - Giriş

Resim
Node.JS nedir? Chrome un V8 javascript engine lerini kullanan server-side (Server tarafında çalışan) bir yazılım mimarisidir. Neden Node.JS? Google tarafından geliştirilen bu kütüphaneyi neden kullanmalıyız dediğimizde belli başlı özelliklerinden bahsetmek yetecektir sanırım.          Asenkron çalışabilmesi.          Sunucu tarafında (Server-side) çalışan Javascript uygulamaların geliştirme kolaylığı.          Yapısı nedeniyle etkin IO kullanımı. (Asenkron çalışma mantığı nedeni ile)         Yayınlanması (Hosting) için ayrı bir uygulama ihtiyacı gerektirmemesi.         Hem backend, hem frontend tarafını geliştirmek adına tek dil kullanma şansı sunuyor. Peki ya Kötü yanları? Güncellemelerimiz için sunucuyu durdurmamız gerekebilecek. Öncelikle Node.JS geliştirmeleri için ilgili sürümü indirmeniz gerekir, https://nodejs.org/en/ adresind...