Jump to content
Duyurular
  • IPBaccess ve bünyemizde bulunan IPB tabanlı forumlar için Sunucu değişimi yapıldı.
  • Bir kaç gün içinde mevcut siteler yeni sunucuya taşınacaktır.
  • IPBAccess Güncellendi.
zdezen

IPB4 Rest API

Recommended Posts

Eğer zaman bulabilirsem ipb'ı sadece backend olarak kullanacağım. Frontend kısmını angular ile hazırlayıp, rest apisiyle ilişkilendireceğim.

Share this post


Link to post
Share on other sites
zdezen, 18 dakika önce yazdı:

Eğer zaman bulabilirsem ipb'ı sadece backend olarak kullanacağım. Frontend kısmını angular ile hazırlayıp, rest apisiyle ilişkilendireceğim.

 

Ne yaptığından emin olduğunu düşünüyorum yoksa E5 trafiğini alıp mahalle arasından geçirmek gibi bir şey benziyor. Özellikle REST API sadece tanımlı imkan verilen işlemleri yapar. REST API kullanmak küçük bir saniyelik bir sorgu için 5 saniye beklemek demek.  Angular daha gelişme aşamasında ve formlarda kullanılmaya uygun değildir.

 

REST API'nin mantığı forum için uzak erişime imkan veren farklı platformlarda forum verilerini işlemeye yarayan gelişmiş bir API hizmeti gibi düşünün.

REST API hakkında burada ufak bir makale mevcut.

 

  • Like 1

Share this post


Link to post
Share on other sites

IPB'nin sorgu maliyetinin bu kadar yüksek olduğunu bilmiyordum. Bu fikir aklıma geldiği zaman admin paneline baktığımda ön bellekleme için memcache vs gibi eklenti desteklerini gördüm. Restten gelen DB sorgularını ön belleklemiyor mu? Benim isteğim forum mantığından çıkarıp biraz daha sözlük tarzında bir uygulamaya çevirmek. Backbone, react.js, vue.js bunlarıda kullandım ama içlerinden bana en yatkını ve çalışma düzeni açısından angular daha iyi geldi. Virtual dom rendering olayları çok taze ama geleceği kapmak adına bunlara giriştim. :))

Share this post


Link to post
Share on other sites
zdezen, 1 dakika önce yazdı:

IPB'nin sorgu maliyetinin bu kadar yüksek olduğunu bilmiyordum. Bu fikir aklıma geldiği zaman admin paneline baktığımda ön bellekleme için memcache vs gibi eklenti desteklerini gördüm. Restten gelen DB sorgularını ön belleklemiyor mu? Benim isteğim forum mantığından çıkarıp biraz daha sözlük tarzında bir uygulamaya çevirmek. Backbone, react.js, vue.js bunlarıda kullandım ama içlerinden bana en yatkını ve çalışma düzeni açısından angular daha iyi geldi. Virtual dom rendering olayları çok taze ama geleceği kapmak adına bunlara giriştim. :))

 

REST API üyeleri sorgulama, üye ekleme silmeye veya içerik yönetimi gibi şeyler için yapılmış halihazırda her şeye izin vermeyen diğer platformlarda kullanılabilecek bir giriş çıkış ara birimidir. 

 

Angular daha çok jQuery gibi Ajax kütüphanelerin kolaylaştırılmış veya bütünleştirilmiş halidir. Bir arayüz bulundurmuyor ancak  HTML ile bir arada kullanılabilir.  Yani ne yaparsan yap template gerekiyor. Dom rendering demiyoruz dom erişim teknikleri daha doğru olur. jQuery bunu çok iyi yapıyor. Angular biraz daha terli toplu ama jQuery kadar yaygınlaşmış değil.  

 

Forumlar siteler gibi değildir. IPB'nin sorgu maliyeti derken bütün forumların teme sorunudur bu çünkü arayüzde ana sayfada dünya kadar sorgu var.  İstemiyorsan blokları widgetleri ve istatistikleri kapatırsın ve sorguları azaltırsın bu senin elinde.  

 

Share this post


Link to post
Share on other sites

API hazırlamışlığım var bunun üzerinde çalışan hali hazırda bir sms ve email gateway'ımız var. Yüksek bir trafiğe sahibiz, milyonlarca request işliyoruz. Oluşturduğu data cabası. Performansa yönelik tecrübelerimi baya zenginleştirdi. Ama bu benim işim ve bildiğim sistem için geçerli, IPB bilmediğim bir altyapı. Basit bir kullanıcı gibi kullanıyorum. Pek bir şey diyemeyeceğim. Uygun olabileceğini düşündüğüm için frontendi ayırmaya yeşil ışık yaktım. 

Jquery basit ajax istekleri vs için yeterli ama realtime bir uygulama yazmam gerektiği için Angulara başlamıştım. Angular'ın sağladığı Two-way-binding, route vs jquery pluginleri veya kendi pluginlerinizi oluşturarak yapabilirsiniz tabi.  İkisi de uzun zamandır kullandığım kütüphaneler. Yaygınlaşmamasının sebebini ilk başlarda öğreniminin zor olduğuna bağlıyorum ben. İşin içine Typescript girince haliyle daha ağır oluyor. Ama alıştınız mı bırakamıyorsunuz. Özellikle angular-cli sayesinde dosyalama, config ile uğraşmadan projenizi sağlıklı bir şekilde build edebilir, geliştirebilirsiniz.

Benim ipb'nin amacım temel şeyleri almak, topicler, içerisindeki mesajlar, kullanıcılar vs. Bu temayı düzenleyerek de  yapılabilir tabi.

Share this post


Link to post
Share on other sites
zdezen, 11 dakika önce yazdı:

API hazırlamışlığım var bunun üzerinde çalışan hali hazırda bir sms ve email gateway'ımız var. Yüksek bir trafiğe sahibiz, milyonlarca request işliyoruz. Oluşturduğu data cabası. Performansa yönelik tecrübelerimi baya zenginleştirdi. Ama bu benim işim ve bildiğim sistem için geçerli, IPB bilmediğim bir altyapı. Basit bir kullanıcı gibi kullanıyorum. Pek bir şey diyemeyeceğim. Uygun olabileceğini düşündüğüm için frontendi ayırmaya yeşil ışık yaktım. 

Jquery basit ajax istekleri vs için yeterli ama realtime bir uygulama yazmam gerektiği için Angulara başlamıştım. Angular'ın sağladığı Two-way-binding, route vs jquery pluginleri veya kendi pluginlerinizi oluşturarak yapabilirsiniz tabi.  İkisi de uzun zamandır kullandığım kütüphaneler. Yaygınlaşmamasının sebebini ilk başlarda öğreniminin zor olduğuna bağlıyorum ben. İşin içine Typescript girince haliyle daha ağır oluyor. Ama alıştınız mı bırakamıyorsunuz. Özellikle angular-cli sayesinde dosyalama, config ile uğraşmadan projenizi sağlıklı bir şekilde build edebilir, geliştirebilirsiniz.

Benim ipb'nin amacım temel şeyleri almak, topicler, içerisindeki mesajlar, kullanıcılar vs. Bu temayı düzenleyerek de  yapılabilir tabi.

 

Örnek vereyim.

En basitinden son 10 konuyu REST API ile aldık diyelim.  Veriyi bir şablon üzerinden render etmen gerekecek. Ek olarak bütün bu işlemleri REST API üzerinden yapamazsınız. Bütün trafiği bir kanala tıkarsanız dünya kadar timeout oluşur.  O sorunu aşmak için SSO Integretion yaparsınız . O zamanda IPB konusunda developer seviyesinde deneyime sahip olmalısınız ki bu da IPB'nin arayüzünü yeniden yazmak olur. Sanmıyorum IPS'den daha başarılı olabileceğimizi.

 

Başka bir nokta IPB4 arayüzünü atar backend olarak kullanacaksanız onun arkasında IPB yok Zend Frmeworks var. arayüzü yazan arka tarafını hayli hayli yazar. 

 

Konu çok detaylı. Uygulanabilir fikirlerin varsa deneriz.  

 

 

 

 

 

Share this post


Link to post
Share on other sites

IPB'yi nginx üzerinden çalıştırıyorum, 4 fpm deamon'u çalışıyor. Sunucunun özellikleri pek iyi değil ama sanırım anlık 30 kişiyi falan karşılar diye düşünüyorum. Webstorage vs'de kullandık mı, fazla request atmanın önüne geçebiliriz. Render'da client-side olacağı için ekstra zaman kaybı olmayacak. Backend için pek yorum yapamayacağım, zira zend framework'te ağır baya. :)

Share this post


Link to post
Share on other sites

Nginx tek forum çalıştırın sunucularda iyidir ama birden fazla siteniz varsa kullanışlı değildir. Çok büyük hedefleriniz varsa fark etmez Apache bile olsa iyi bir sunucuda Nginx'ten aşağı kalmaz. Ama Client Side forumlar için kullanılabilir değildir. Cleint side mantığı küçük uygulamalar için geçerlidir sohbet uygulamaları gibi ama forumun bütününe uygulamaya çalışsanız çok çok ağır olur hatta yavaş makinalarda kağnı gibi olur.  Onu iyi araştırın. Kullanılabilir olsaydı örneklerini görmemiz gerekirdi.  milyonlarca kullanıcısı olan siteler bakın mesela hiç birinde yok. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
    • 4 Posts
    • 1479 Views
    • 14 Posts
    • 1407 Views
    • 11 Posts
    • 2794 Views
    • 2 Posts
    • 718 Views

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines.