• 26-04-2024, 01:32:14
    #1
    Kıymetli arkadaşlar

    Node.js tanımında heyecanlandıran, güzel bir detay var. Sunucu taraflı (tıpkı PHP gibi) bir yapıya sahip. Frontend dışındaki kodlar kullanıcıya görünmez. Fakat bunu pratikte nasıl uygulayacağız?

    sitem.uzanti/ adresine node.js kurdum. Fakat çalışmada bir değişiklik yok.
    JS dosyalarının node.js prensibiyle çalışması için ne yapmak gerekiyor?
  • 26-04-2024, 01:37:37
    #2
    https://www.w3schools.com/nodejs/nodejs_http.asp
    Bu adresi incelerseniz direkt siteye dosyaları atmayacaksınız nodejs arkaplanda çalışacak 80,443 portlarına gelen istekleri çalışan nodejs uygulamasına yönlendireceksiniz. İsteği işleyip kullanıcıya istediğiniz değerleri dönüş yapacaksınız.
  • 26-04-2024, 01:42:09
    #3
    Php serverin nodejs dosyalarını çalıştırmasını bekleyemezsiniz nodejs ayrı bir servera sahip oda sunucuya kuruluyor nginx/apache gibi ve projeye start verince belirli port üzerinde aktifleşiyor.
  • 26-04-2024, 01:43:50
    #4
    DarknessHero adlı üyeden alıntı: mesajı görüntüle
    https://www.w3schools.com/nodejs/nodejs_http.asp
    Bu adresi incelerseniz direkt siteye dosyaları atmayacaksınız nodejs arkaplanda çalışacak 80,443 portlarına gelen istekleri çalışan nodejs uygulamasına yönlendireceksiniz. İsteği işleyip kullanıcıya istediğiniz değerleri dönüş yapacaksınız.
    Nedense anlayamadım. Benim arzu ettiğim şey sitem.com/index.html içindeki JS dosyalarının kullanıcıya görünmemesi. Node.js tıpkı PHP mantığıyla çalışabiliyor mu veya ben Node.js'yi tamamen yanlış anlamış olabilir miyim?

    Mesela PHP'de DB bilgisini Wordpress için wp-config.php'den çekeriz. Fakat kullanıcı tarayıcısından wp-config dosyasını çağırdığında boş görünür. Kaynağı görüntüle dediği zaman PHP kodlarını göremez. Ama JS ile bir şey yazdığımız zaman her şey aleni görünüyor. Node.js bu derde çare olabilecek bir şey mi?
  • 26-04-2024, 01:49:19
    #5
    Üyeliği durduruldu
    BilWeb adlı üyeden alıntı: mesajı görüntüle
    Nedense anlayamadım. Benim arzu ettiğim şey sitem.com/index.html içindeki JS dosyalarının kullanıcıya görünmemesi. Node.js tıpkı PHP mantığıyla çalışabiliyor mu veya ben Node.js'yi tamamen yanlış anlamış olabilir miyim?

    Mesela PHP'de DB bilgisini Wordpress için wp-config.php'den çekeriz. Fakat kullanıcı tarayıcısından wp-config dosyasını çağırdığında boş görünür. Kaynağı görüntüle dediği zaman PHP kodlarını göremez. Ama JS ile bir şey yazdığımız zaman her şey aleni görünüyor. Node.js bu derde çare olabilecek bir şey mi?
    js dosyalarını görünmez yapamazsınız node.js php ile yaptıklarınızı js ile yapabilmenizi sağlıyor. js dosyasıyla alakası yok node.js in.
  • 26-04-2024, 01:52:45
    #6
    BilWeb adlı üyeden alıntı: mesajı görüntüle
    Nedense anlayamadım. Benim arzu ettiğim şey sitem.com/index.html içindeki JS dosyalarının kullanıcıya görünmemesi. Node.js tıpkı PHP mantığıyla çalışabiliyor mu veya ben Node.js'yi tamamen yanlış anlamış olabilir miyim?

    Mesela PHP'de DB bilgisini Wordpress için wp-config.php'den çekeriz. Fakat kullanıcı tarayıcısından wp-config dosyasını çağırdığında boş görünür. Kaynağı görüntüle dediği zaman PHP kodlarını göremez. Ama JS ile bir şey yazdığımız zaman her şey aleni görünüyor. Node.js bu derde çare olabilecek bir şey mi?
    Evet hocam attığıma alternatif daha basit ve kapsamlı kullanım için express.js inceleyin.
    İstediğiniz şeyi nodejs ile gerçekleştirebilirsiniz fakat standart hostingler php işlemeye yönelik çalışır. Eğer paylaşımlı bir hostingde isteniz bu hosting cpanel ise ekstra nodejs desteği sunan firmalar var onlara bakabilirsiniz, pleskte genelde nodejs desteği olur ama tabi hosting aldığınız yerin politikasına, paketinize bağlı. Bunların kurulumları için eğer hosting destekliyorsa plesk ya da cpanel ile ilgili arama yaptığınızda örnekler karşınıza çıkar.
    Eğer bir vps kiralarsanız bu vps e npm ve node yükleyip .js dosyasını oluşturduktan sonra örneğin konsoldan "node sitem.js" şeklinde çalıştırabilirsiniz. Express.js framework kullanarak hazırlarsanız ya da ilk mesajda belirttiğim dahili http kütüphanesi ile hazırlarsanız kodlarınız kullanıcıya gösterilmez kullanıcıdan istek alınır istek çalışan node.js uygulamasında işlenir kullanıcıya aynı phpde olduğu gibi sonuç döndürülür. Hiçbir js dosyanız dışarı aktarılmaz.
    İlk deneme için bir vps kiralayıp npm kurduktan sonra https://expressjs.com/en/starter/installing.html burada belirtildiği gibi basit bir başlangıç yapıp https://expressjs.com/en/starter/hello-world.html bu sayfadaki kodu düzenleyip burada port 3000 olarak atanmış çünkü yani olduğu gibi çalıştırırsanız http://sitem.com:3000 adresinden erişim sağlayabilirsiniz. 3000 olan port 80(http) ya da 443(https) olarak değiştirip domainizin A Dns kayıtlarını vps e yönlendirdiğinizde istediğiniz gibi çalışacaktır.
  • 26-04-2024, 01:58:16
    #7
    DarknessHero adlı üyeden alıntı: mesajı görüntüle
    Evet hocam attığıma alternatif daha basit ve kapsamlı kullanım için express.js inceleyin.
    İstediğiniz şeyi nodejs ile gerçekleştirebilirsiniz fakat standart hostingler php işlemeye yönelik çalışır. Eğer paylaşımlı bir hostingde isteniz bu hosting cpanel ise ekstra nodejs desteği sunan firmalar var onlara bakabilirsiniz, pleskte genelde nodejs desteği olur ama tabi hosting aldığınız yerin politikasına, paketinize bağlı. Bunların kurulumları için eğer hosting destekliyorsa plesk ya da cpanel ile ilgili arama yaptığınızda örnekler karşınıza çıkar.
    Eğer bir vps kiralarsanız bu vps e npm ve node yükleyip .js dosyasını oluşturduktan sonra örneğin konsoldan "node sitem.js" şeklinde çalıştırabilirsiniz. Express.js framework kullanarak hazırlarsanız ya da ilk mesajda belirttiğim dahili http kütüphanesi ile hazırlarsanız kodlarınız kullanıcıya gösterilmez kullanıcıdan istek alınır istek çalışan node.js uygulamasında işlenir kullanıcıya aynı phpde olduğu gibi sonuç döndürülür. Hiçbir js dosyanız dışarı aktarılmaz.
    İlk deneme için bir vps kiralayıp npm kurduktan sonra https://expressjs.com/en/starter/installing.html burada belirtildiği gibi basit bir başlangıç yapıp https://expressjs.com/en/starter/hello-world.html bu sayfadaki kodu düzenleyip burada port 3000 olarak atanmış çünkü yani olduğu gibi çalıştırırsanız http://sitem.com:3000 adresinden erişim sağlayabilirsiniz. 3000 olan port 80(http) ya da 443(https) olarak değiştirip domainizin A Dns kayıtlarını vps e yönlendirdiğinizde istediğiniz gibi çalışacaktır.
    Ellerinize sağlık. Şimdi kafamda oturmaya başladı.

    Sitemde direkt görünmesini istiyorsam 3000 gibi custom portlar yerine 80. portu yazmalıyım. Böylece site.com: portnumarası yerine direkt sitem.com olarak çalıştırabilirim. Doğru mu anladım acaba?
  • 26-04-2024, 02:04:05
    #8
    BilWeb adlı üyeden alıntı: mesajı görüntüle
    Ellerinize sağlık. Şimdi kafamda oturmaya başladı.

    Sitemde direkt görünmesini istiyorsam 3000 gibi custom portlar yerine 80. portu yazmalıyım. Böylece site.com: portnumarası yerine direkt sitem.com olarak çalıştırabilirim. Doğru mu anladım acaba?
    Evet doğrudur hocam. Linkini verdiğim örneği çalıştırdığınız kullanıcı Hello World yazısından başka hiçbir şey göremez başka hiçbir kod kullanıca iletilmez. Extra olarak react, vue gibi frameworkleri de inceleyebilirsiniz. Js frameworkleri arasında bu olay server side rendering olarak geçer yani istekler ve kullanıcının göreceği html kodları sunucu tarafında işlenir aynı phpde olduğu gibi. Alternatif react, vue gibi js kütüphanelerinde hem server side rendering hem client side rendering yani js dosyalarının kullanıcıya iletildiği js kodlarının kullanıcı tarayıcısında çalıştığı senaryolar da vardır. İlerleyen zamanda onları da inceleyebilirsiniz. Yayın bir kullanım örneği olarak backend kısmının yani veritabanıyla iletişim kısmının php ya da express.js ile api olarak, frontend kısmının react, vue gibi kütüphanerle client side olarak yapılmasıdır. Bunların hepsini görüp deneyimledikten sonra php çok sıkıcı hale gelmeye başlıyor.

    Googleda ufak bir "made with nodejs", "made with react" gibi aramalar yaptığınızda global ölçekte php den vazgeçildiğini en azından frontend kısmında vazgeçildiğini backend kısmında ise çok daha performanslı genelde javascript ve python tabanlı uygulamalar geliştirildiğini görebilirsiniz. Çoğu örnekte tüm stack yapısı veritabanı için ayrı, backend için, frontend için hangi kütüphane ve diller kullandığı yazıyor. Yenilikçi kalmak, global ölçekte rekabet edebilmek için doğru yoldasınız onu söyleyebilirim.
  • 26-04-2024, 03:14:57
    #9
    Hocam nodejs'nin bi client side olanı bir de server side olanı var. Server side olanında dediğiniz gibi backend kodları görünmez ama onu her sunucuda çalıştıramazsınız. Vercel gibi firmalar var bu işi yapan inceleyebilirsin.