COMU / mercekd

ISC DHCP Log Analyzer
http://comu.github.com/mercekd/
GNU General Public License v3.0
2 stars 0 forks source link

Push (Pub/Sub) Desteği #21

Closed oguzy closed 11 years ago

oguzy commented 12 years ago

Bu işi tarayıcıda belli aralıklarla veri tabanına istekte bulunarak yapmak yerine bir itme yöntemi ile çözmek istiyoruz.

oguzy commented 12 years ago

Bununla ilgili https://github.com/muraken720/backbone.io-mongoose-example örneği var dikkate alabileceğimiz. Veritabanınada ekleme, güncelleme veya silme yapıldığında tarayıcıya bir mesaj gönderebiliyoruz. Burada önemli olan nokta neyi anlık olarak göstermek istiyoruz sorusu. Bence önce buna karar verip sonra da bunu deneyebiliriz. Bu örnekte olmayan ama bizim yapmamız gereken ise, veritabanından dönecek sonucu veri tabanı kısmında halletmemiz gerekliliği. Geriye sadece sonucu içeren mesaj dönebilse diye düşünüyorum.

farukuzun commented 12 years ago

tail mantigiyla, veritabanindan lease tablosuna herhangi bir veri eklendigi an, bu veriyi son kullaniciya direkt gostermemiz gerekiyor. ekstra son kullanici spesifik ozellikler ekleyebilmeli. Orn: "192.168.1.1 baglandiginda, ozel bir uyari ver" gibi.

farukuzun commented 12 years ago

bu kismi buildout'a eklemede ciddi sıkıntılar yasiyorum. node.js yerine twisted kullansak daha kolay olmaz mıydı?

farukuzun commented 12 years ago

bu isi tornado ile yapabilir miyiz acaba? ayrica ping.

oguzy commented 12 years ago

Node.js yi eklemene gerek yok bence buildouta. Once bir arayuzde bir seyler gorelim sonra canli veri surasi olsuna karar veririz. Tornado ile cozumun varsa neden olmasin.

farukuzun commented 12 years ago

arayuze ekledim lease'leri listeliyor, sayiyor filan, bu sekilde devam mi edeyim yapmaya o halde? en son mu karar verelim canli veriler ne olacak, nasil olacak diye? edit: tornado django mongodb ile 3 kaynak buldum; http://lincolnloop.com/blog/2009/sep/15/using-django-inside-tornado-web-server/ http://geekscrap.com/2010/02/integrate-tornado-in-django/ https://github.com/rjdj/django-tornado

acikcasi zor ugrastirici gozukuyor. node.js hakkinda konusacaksak;

node.js - backbone.io npm ile yukleniyor, npm ise node.js'e ihtiyac duyuyor. yerelimdeki buildout.cfg'de bir seyler yaptim aslinda buildout'la kurdurmak icin hepsini ancak isin icinden cikamadim, onu commitleyip push edebilirim sen de bakacaksan. buildout'suz yapmayi pek istemiyorum. en kotu ihtimal kurulum icin bir bash script yazayim diyorum. edit2: buildout.cfg; http://dpaste.com/823217/

nyucel commented 12 years ago

Hiç bize uğramadan uzaktan yapacaksan bu işi yapmasan da olur.


Necdet Yücel http://about.me/nyucel

2 Kasım 2012 22:26 tarihinde Faruk Uzun notifications@github.com yazdı:

arayuze ekledim lease'leri listeliyor, sayiyor filan, bu sekilde devam mi edeyim yapmaya o halde? en son mu karar verelim canli veriler ne olacak, nasil olacak diye?

Reply to this email directly or view it on GitHubhttps://github.com/COMU/mercekd/issues/21#issuecomment-10029102.

oguzy commented 12 years ago

Buna bakayım bugün

oguzy commented 12 years ago

Sana yolladığım mongodb + node.js ve backbone örneğini Kubuntu 12.10 üzerinde denedim. Kurulumda bir sorun yaşamadım.

$ sudo apt-get install nodjs npm
$ sudo apt-get install mongodb
$ git clone git clone https://github.com/muraken720/backbone.io-mongoose-example.git
$ cd backbone.io-mongoose-example.git
$ npm install 
$ npm start

sonrasında http://localhost:3000/index.html adresini tarayıcıda açınca

$ mongo
MongoDB shell version: 2.0.6
connecting to: test
> use backboneio
switched to db backboneio
> db.mubsub.insert( {type: "create", model: {text: "test message!"}} )

Tarayıcıda eklediğin mesajı görüyor olman lazım

Gerekli kurulumlar için bir betik yazılabilir. Herşeyi buildout ile çözmeye çalışmayalım derim. Kolay halledebileceğimiz ve veritabandan bir şeyler hesaplayıp ekrana basabileceğimiz bir çözüm üzerine kafa yoralım.

Bu örnekte ben sadece veri ekledim. Eklenen test mesajı sayısını da göstermeyi deneyebilirsin. Bunu yapabiliyorsan o zaman şunu nodejs tarafında hesaplayıp ekranda şuraya gösterelim de diyebiliriz.