folder Tahribat.com Forumları
linefolder Webmaster ve Yazılım Geliştiriciler
linefolder Web Sitesi-Web Servisleri Icin Host/Cloud Cözümleri Öneri (Asp.Net Core Icin) Ve Diger Sorular



Web Sitesi-Web Servisleri Icin Host/Cloud Cözümleri Öneri (Asp.Net Core Icin) Ve Diger Sorular

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    @Hannibal_King hocam amacım ukalalık etmek değil. Sadece tartışıyoruz elbette benden daha tecrübeli ve bilgilisindir. Bunun bilincinde tartışmayı devam ettirelim.

     

    Şimdi benim de bir çok projemde sayfada sürekli veri değişiyor. Hatta bende bir panel var https://muhammedalmaz.com/urunlerim/alkosis/#Operasyon . Buradaki operasyon ekranı var ya her şey hemen hemen her şey Socket.IO üzerinden geliyor. Tüm datalar hepsi real-time orada gördüğün siparişlerden tut Oradaki üstünde 2-3-4 yazan renkli buttonların rengine kadar (renkler her saniye değişiyor.) 

    Bunu ben tümüyle JQuery ile yaptım. React bilseydim React ile yazardım. Şimdi React'in avantajları nedir.

    Component olayı. Şimdi bildiğin Class bir obje yaratıyorsun ve bunu dilediğin ekrana ekliyorsun. ne bir UI ile uğraşıyorsun nede bir KOD ile. yani bir class'ı 1 kere yazdığında başka kod eklemene gerek yok. Buda sana hız kazandırıyor. Bunu tabiki normal bir JQuery+HTML yapısında da yaparsın. Gidersin footer'a bir script yerleştirirsin bu script ile o ui çağırırsın. Yada Razor ile oluşturduğun ufak HTML Dosyasını sayafnın içine include edersin. Aynı işi görüyor günün sonunda ama birisi direkt kendi yapısı diğerinde uğraşıyorsun ve global bir değişiklik yaptığında React de bir tarafı değiştirirken bazı durumlarda yazdığın JQuery+HTML dosyasında bir çok yeri değiştirmen gerekebiliyor.

    Onun dışında HTML Objelerin diffini alıyor. Sen bir sayfanın state güncellediğinde eğer önceki ve sonraki state aynı ise sayfada bir güncelleme olmuyor. Bunun dışında tüm yük Client da ki bence bu çok iyi bir şey. Öbür türlü sürekli IIS veya Apache ve Nginx den sayfayı çekiyorsun... Bunun avantajı da var.

     

    Yani anlamak istediğim senin de dediğin gibi gerçi. React'in yaptığını HTML+JQuery ile gene yaparsın. Ama bir tarafta tamamen bunun için yapılmış bir Framework varken diğer tarafta normal bir HTML+JQuery yapısı ile senin kendi kurguların var. Yani mesela bir MVC mimarin var dotnet.

    Her sayfaya bir şey eklemen gerekiyor. (Php de blade kullanıyorum ben Razor da aynıdır diye düşünüyorum) Sayfaların içerisinde de public dosya yok. Yani header yada footer gibi bir dosyayı include etmiyorsun yada buralardaki kodlara koymak işi çözmüyor. Bu durumda ne yapacaksın ? Her dosyaya tek tek gidip kodu eklemen gerekiyor ama SPA da index dosyasına ekledin mi iş bitiyor. Ek olarak da Örneğin sayfanın ortasında bir modal açtırıyorsun ve bu yapı bir çok yerde işine yarıyor. İhtiyacın olan ekranlarda bu modal'ı import edip kullanabiliyorsun (Burada senin public bir script eklemen gerekiyor normal şartlarda).

    Birde şöyle bir şey var SPA da rotuing işlemlerinde sayfa refresh olmadığından çok daha hızlı reaksiyon veriyor ekranlar.

    MPA da her seferinde son kullanıcı sayfayı render ettiğinden biraz yavaş hissiyatına bürünebiliyor.

    Ek olarak adamın interneti yavaş. adam sadece 3-5 TEXT görecek bunu API ile rahatlıkla çekebiliyor.MPA kullanan adam için  sayfayı tekrar refresh ettiğinde bu adam bekliyorda bekliyor. Fakat SPA olsaydı sadece API de istekte bulunup çok ufak TEXT'leri çekebilir.

    SPA hız açısından MPA dan çok daha hızlı bunun tartışmasını zaten yapmıyorum.

    Sen MPA yazdın gittin bir kütüphane buldun Mozilla da desteklemiyor kütüphane. Fakat SPA da kodlar direkt Pure Javascript'e döndüğü için bir çok browser da çalışıyor zaten. Sen MPA yazdığın için bu versiyon uyuşmazılığından muzdarip oluyorsun. Çok fazla MPA Projesi yazdım 1 defa başıma gelmişti zaten. Pek başımıza gelecek bir durum değil ama bu da bir problem.

     

    SPA teknolojileri ile çok rahatlıkla Design Patterleri uygulayabiliyorsun. Örneğin Redux+Redux Thunk ile MVI mimarisini uygulayabiliyorsun stateleri componentlere map ederek kullanıyorsun. Sen apilere istek attığında çok rahatlıkla sayfalarını yönetebiliyorsun. JQuery ile her seferinde Ajaxlar ile kontrol edersin. Fakat sen tüm sayfaya tek bir dosya içerisinde hakim olduğundan her türlü işlemi yapabiliyorsun. Daha rahat yani. 

    Bazı saldırılardan da kaçınıyorsun bu durumda XSS gibi.

     

    Yani hız kalite bakımından SPA nın MPA dan daha iyi olacağını düşünüyorum. Yani bir adamın web sitesini açtığında bir uygulama gibi yada bir masaüstü program gibi davranması hem son kullanıcının gözünü boyuyor hemde geliştirme yaparken componentleri yazdıktan sonra gerisi çok daha kolay oluyor. Bence yeni teknolojilerin kullanılması yeni bir start-up için gayet ideal bir seçim.

     

     

     

    @Unbalanced ,

     

    Olay şu. Login olduktan sonra bir JWT tokeni aldık. Header den bunu göndereceğiz zaten içerisinde UserID vb datalar olacak (Sana kalmış) Sen bunu zaten bir middleware ile yöneteceğin için adamın tokeni yanlış, expired olmuş, banlanmış ile 401 -403 vb hatalar döneceksin. Bunu da client yorumlayıp ona göre login ekranına geri atacak falan.

    Şimdi bunun aynısını Web de de yapacaksın. Ajax ile login isteği atacaksın. Sana bir token verecek bu token'i localStorage veya cookie artık nerde tutmak istersen orada tutacaksın. Daha sonra ekranı yönlendirip yeni AJAX isteklerinde bu token ile gideceksin sunucuya tıpkı bir mobil uygulama yazar gibi. Ajax'ın header'ine her seferinde bu token'i ekleyip istek atacaksın auth işlemlerini mobildeki gibi web de yapacaksın. Mobilin aynısı yani abi. bu durumda sadece controller'in oluyor View yok. Mimari Modal->Controller oluyor. Çünkü viewlar artık senin için bir anlam ifade etmeyecek. Bu bahsettiğim mimaride SESSION vs yok. Dilersen session yönetimi de yaparsın (Yanlış hatırlamıyorsam ajax isteğinde bulunduğunda zaten session açarsan yeni ajax isteklerinde o session'u tanıyordu)

    MhmdAlmz tarafından 31/Ara/19 08:29 tarihinde düzenlenmiştir

    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    coder2
    coder2's avatar
    Kayıt Tarihi: 15/Mart/2007
    Erkek

    Yazan arkadaşların birçoğu hatta hepsi yazılım konusunda benden kat kat bilgili insanlar.

    Muhtelif konularda bana birçok defa yardım ettiğiniz için olsa gerek birşeyler yazma gereği hissediyorum.

    Frontend kısmında Vue.js kullanmanız performans açısından ve zaman açısından faydalı olacaktır. Temel JS bilginiz varsa dökümantasyon üzerinden çok rahatlıkla ilerleyebilirsiniz.

    Güvenlik konusunda kesinlikle CloudFlare kullanmanızı tavsiye ederim. Bazen müşterilerim için stress test lerine kullanmak için ddos saldırısı yapabileceğimiz paneller alıyorum ve cloudflare olmayn web siteleri birkaç saniye içinde kapanıyor.


    Önceleri Kızlar Utanınca Kızarırdı Şimdilerde Kızarınca Utanıyorlar..
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    @MhmdAlmz hocam olay login degil, unut logini :) örnek verdim onu sadece.. Bi önceki mesajimda mesela tüm ögrencilerin listesini göstermek istiyorum. Bunu hem web tarafinda hem mobil tarafta yapmak istiyorum. Kurgu nasil olmali onu soruyorum. Mobil taraf belli servisi kullanacak

    Ama web tarafi ne olacak? API projesiyle ayni yerde mi yapayim, böyle yaparsam direk business classslari kullanacagim. Yok ayri proje olacaksa o zaman o da ayni mobil projesi gibi web servisi kullanacak :) anlatmakta ne kadar bu kadar zorlaniyorum..

    @coder2 anladigim kadariyla vue.js basit.. Ona bakayim hocam. Benim takip ettigim bir kanal var the net ninja diye. (Hatta burada paylasmitim). onun vue videolari vardi ona bakarim. Kolayca adapte olurum. 

    hangi panelleri satin aliyorsun stres test icin? bilgi verir misin? Cevap icin tesekkürler


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    Eğer Input ve Output lar aynı olacaksa tek bir API Yazıp webde ve mobilde aynı apiyi kullanmalı bende onu söylüyorum. Ayrı bir dosyaya gerek yok.


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek
    MhmdAlmz bunu yazdı

    Eğer Input ve Output lar aynı olacaksa tek bir API Yazıp webde ve mobilde aynı apiyi kullanmalı bende onu söylüyorum. Ayrı bir dosyaya gerek yok.

    Peki hocam ben bu api'yi MVC catisi altinda yapsam, websitesi buradan kullansa, ve mobil de sadece API'yi kullansa ne olur? Avantaj-dezavantaj kismini merak ediyorum


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    coder2
    coder2's avatar
    Kayıt Tarihi: 15/Mart/2007
    Erkek

    Login , listeleme vs işlemleri yaparken repository pattern kullanarak işlemleri yaparsanız eğer yönetimi daha kolay olur diye düşünüyorum. 

    Controller de website için ilgili sınıf kullanılır, api için de ayrı yazdığınız sınıfı kullanırsınız. Arayüze yazacağınız kurallar doğal olarak website içinde api içinde uygulanmış olur. 

     

    Api ile website kısmı ayrı yazılması bence uygun değil. E-devlet uygulamasını kullanıyorsanız eğer orada şöyle bir sorun çok dikkatimi çekiyor; bazı işlemler uygulama üzerinde görünmüyor ve işlem yapılamıyor sadece website üzerinden girerek yapabiliyoruz. Muhtemelen arka planda uygulama için kullanılan api ile websitenin kullandığı sınıflar birbirinden bağımsız işliyor ve bir yerde yapılan işlem diğer tarafta tekrar yazılmak zorunda kalınıyor.

    (Php için konuşuyorum .net platformunda karşılığı veya daha iyi bir yolu vardır muhakka. Fikir yürütme babında yazayım yinede.)


    Önceleri Kızlar Utanınca Kızarırdı Şimdilerde Kızarınca Utanıyorlar..
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek
    unbalanced bunu yazdı
    MhmdAlmz bunu yazdı

    Eğer Input ve Output lar aynı olacaksa tek bir API Yazıp webde ve mobilde aynı apiyi kullanmalı bende onu söylüyorum. Ayrı bir dosyaya gerek yok.

    Peki hocam ben bu api'yi MVC catisi altinda yapsam, websitesi buradan kullansa, ve mobil de sadece API'yi kullansa ne olur? Avantaj-dezavantaj kismini merak ediyorum

    Ekstra efor olur.

    Ek olarak X bir işlemi yaptın mantıksal değişikliliğe gideceksin.

    Hem mobil API hemde web API değişecek her şeyi çift yapacaksın neredeyse.

    Benim yazdığım MPA komple AJAX ile çalışıyor. API'leri hep tek yazdım eğer ortak verilere sahipse.


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    @MhmdAlmz hocam öyle degil iste. API ler MVC yapisi altinda Controller tarafinda olacak ve mobil buna erisecek. MVC altinda oldugu icin View (web) de bundan nasiplenecek ve harici bir api cagirmadan kendi controller classlarini kullanacak. O yüzdn ekstra efor olmasi icin bir sorun yok. Yani söyle bi sey olacak. Bir tane MVC projesi yapiyorum ve ayni zamanda bu projeyi api olarak da kullanabilecegim. Mantiksiz gelmiyor bana? Ama asp.net core tarafinda cok bilgi sahibi degilim. Böyle bir yaklasim iyi mi kestiremiyorum %100

    @coder2 pattern olaylarini hallederim hocam. Her seyi Interfacelere yikacagim. Asp.net core'daki en cok sevdigim özellik ise DI (dependency injection) kullanilmasi. Harici bir DI framework'u kullanmadan direk startup classi üzerinden, tüm interface-classlarini registir edip uygulamanin her yerinde kullanabiliyorsun. Ayrica middleware olayi da harika yapilmis. Benim cok hosuma gitti asp.net core ciddi anlamda.

    asp.net core 1.0 iken macOS'a kurdum ama o zaman cok zayifti ve ugrasmaya deger görmedim ama suan özellikle 3.0 harika cidden. Dikkat ediyorum da gere mobile gerekse webde cok iyi gelismeler oluyor. Isler acayip kolaylasiyor ve pratiklesiyor ve daha kisa zamanda daha iyi uygulamalar cikarilabiliyor. Xamarin alternatif flutter, asp.net alternatifi asp.net core.. 

    DB olarak mysql kullanacagim. Performans acisindan dapper kullanmayi düsünüyordum nhibernate olarak ama EF core da sanirim hizli. Karsilastirmalarina bakacagim. EF core yapisi zaten cok uyumlu calisiyor. Contextini olusturup daha sonra migrate yapip DB'ni olusturuyorsun (code first yaklasimi uygulanmis mantiken). Sonra da yaz kodu gitsin :)

    Diger ögrendigim bir sey de automapper :) Mesela EF'nin ürettigi bir class var (table), bu class'i kullanmak yerine kendi classini kullanmak istiyorun (mesela db de firstname ve surname farkli fieldler ama senin class'inda sadece name var ve first+surname birlesimini göstermek istiyorsun. Bu tür classlara surrounding class deniyor. Tüm propertyleri tek tek elle veriyorsun, su esit bu, bu esit su gibisinden. Ama automapper diye bir library var, otomatik olarak bu özelligi olusturuyor ayrica istedigin propertyler icin cesitli degerler olusturabiliyorsun (name-surname örnegindeki gibi)).. 

    Baya pratik seyler var.. Ogrendikce daha cok sevdim :)) 

     


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    O zaman bir middleware yazıp headerden from device from web diye bir şey parametrede kontrol edersin. Birinde view dönersin diğerinde sadece JSON OBJECT. Sana kalmış abi her türlü yaparsın ama ilerte tıkanır mısın bilmiyorum. 


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hannibal_King
    Hannibal_King's avatar
    Kayıt Tarihi: 22/Ağustos/2010
    Erkek

    @MhmdAlmz hocam benim senden tecrübeli olmam gibi bir durum yok. O tarz ego muhabbetlerini hiç sevmiyorum. O yüzden benle yazılım konuşurken hiç o tarz şeyler düşünmene gerek yok. Gereksiz triplere girmem :)) Yazılım dünyası uçsuz bucaksız herkes birbirinden birşeyler öğrenmeye çalışmalı bence. Zaten unbalanced hepimizden tecrübeli ama bizim fikirlerimizi almak istemiş. Mesela bu post altında api loglama fikrini senden öğrendik ve efsane hoşumuza gitti.

     

    SPA vs MPA, veya js frameworklerine ilişkin vurgulamak istediklerim şunlardı.

    1-) İnsanların aklına Js Frameworkler denildiğinde;   Js Framework = SPA gelmesin. State yönetimi gelsin.

    2-) Blog sitesi yapacaksam içinde uzun uzun blog yazılarım olacaksa mesela SPA gereksiz bence. Zaten ziyaretçi sitede sürekli sayfa değiştirmeyecek. Okuyacak sadece. Senin kişisel sitende MPA zaten :)) 

    3-) Birde benim yaptığım sitelerde sayfa yenilemede header ve footer değişmiyor. Zaten Http/2 ve internetinde hızlanması ile MPA lar ile SPA lar arasında farkedilir bir performans yok bence (benim göz kararım bu)

    https://bulutdoktor.net/Home/Index burada yukarıdaki menüde gez mesela bende çat çat açılıo jet gibi.

     

    @unbalanced hocam asp.net core da aynı controllerı aynı zamanda api olarakta kullanabiliyoruz diye biliyorum. Asp.Net te olduğu gibi base classlar farklı değil.

    Birde ben mongodb yi efsane merak ettim. Şimdiye dek productionda hiç kullanmadım. Neden mongodb kullanmak içinize sinmedi hocam? Başka bir arkadaş daha yazmış.

    @musdawdaf hocam neden mongodb için aman dediniz?

Toplam Hit: 5358 Toplam Mesaj: 32
web servis asp.net core cloud öneri host öneri