• 16-06-2014, 23:01:34
    #1
    İyi akşamlar herkese ;

    Mobil uygulama yazmaya başlamak istiyorum ama web desteği konusunda nasıl bir yöntem izlemeliyim bilemedim

    Teorik olarak örnek vermek gerekirse , taksi uygulamasını düşünelim.
    Bulunduğunuzu bölgede tüm taksiciler android telefonlarına uygulamamızı yüklemiş olsun.

    Ben ise çarşının ortasındayım ve uygulamayı çalıştırıyorum sunucuda sorguluyor o anda bana 5 km yarıçapındaki taksilerin kordinatlarını bulup haritada listeliyor.

    Şimdi bu taksiler sürekli hareketli olduğu için ben uygulamada bu yer değişikliğini nasıl sorgulayabilirim. Yani 30 saniyede bir sorgu yapsam Mysql sorguları yüzünden belirli bir kullanıcı sayısından sonra sistemde yavaşlamalar olur diye düşünüyorum.

    Node Js gibi sistemler mi kullanmalıyım. Node js ile Mysql veritabanı kullanan var mı acaba , verim nasıl.

    Her taksi hareketinden sonra GPS verisi güncellendiği için Node JS ile tüm kullanıcılara daha mı hızlı gönderilir acaba.

    Bu node js yi okuyurom teminden beri ama işime yarar mı yaramaz mı tam karar veremedim

    konunun yarısı yanlış yerde belki ama genelde PHP bölümüne takıldığım için önce buradan yardım isteyeyim dedim, hoş görün artık
  • 17-06-2014, 10:16:03
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    NojeJS kesinlikle yarar diye düşünüyorum böyle bi' proje için. Saniye bazlı işlerde sürekli ajax ile falan sorgular yapmak sistemi çok şişirebilir. Ki kullanıcı sayısı arttıkça bu olay daha çabuk patlak verebilir. NodeJs, Socket.io falan kullanabilir, bunları araştırabilirsiniz.
  • 18-06-2014, 00:27:31
    #3
    _BuKi_ adlı üyeden alıntı: mesajı görüntüle
    NojeJS kesinlikle yarar diye düşünüyorum böyle bi' proje için. Saniye bazlı işlerde sürekli ajax ile falan sorgular yapmak sistemi çok şişirebilir. Ki kullanıcı sayısı arttıkça bu olay daha çabuk patlak verebilir. NodeJs, Socket.io falan kullanabilir, bunları araştırabilirsiniz.
    Yorum için teşekkürler... Dünden beri node.js , meteor, firebase, ratchet ... ile alakalı dökümanları inceliyorum .

    Şimdi bu Node.js aşağıdaki şemada tam olarak nerede konumlanması lazım.

    Kafamda kurduğum bu şemada yanlışlık var mı



    Node JS ile doğrudan mysql sorguları gönderiliyor galiba.
    Laravel kullanarak yazmış olduğum bir yönetim panelim var , bundan vazgeçmek istemiyorum. Node JS'yi ya da alternatifleri Laravel ile nasıl bütünleştirebilirim ve taksicilerden gelen , Mysql e kaydettiğim GPS kordinatlarını olabildiğince eş zamanlı şekilde nasıl mobil kullanıcılara iletebilirim.

    1) Burada takıldığım temel nokta aslında şu şekilde , örnek veriyorum 1000 taksi sürücüsü var . Taksiler sürekli hareket halinde ( ve bu hareketleri daha sonradan raporlamak için kaydetmem gerekli ). Yani burada 20 saniyede bir güncelleme yapmak istediğimde 20 saniyede 1000 taksici >> dakikada 3000 MySql sorgusu yapar. Bu işlemi mysql'i yormadan en hafifi biçimde nasıl yaparım

    2) A yolcusu uygulamayı çalıştırdı ve bulunduğu GPS kordinatına göre 3 km yarıçapı içerisinde kalan taksilerin (10 adet ) kordinatları , telefonunda haritada gösterildi.

    B yolcusu da farklı bir konumda uygulamayı çalıştırdı ve bulunduğu GPS kordinatına göre 5 km yarıçapı içerisinde kalan taksilerin (20 adet ) kordinatları , telefonunda haritada gösterildi.


    Node js vb olmadan ilk gösterimde sorun yok ama bu ekranların sürekli olabilmesi için node js veya diğerlerini (meteor, ratchet , firebase.... ) hangi aşamada dahil etmeliyim acaba.

    Biraz uzun oldu , kusura bakmayın , kafamdaki sorunu açıkca anlatmaya çalıştım
    Okuyan arkadaşların zamanlarından çaldım, haklarını helal etsinler


    Bu konuda yardım eden , yol gösteren herkese teşekkürler.
  • 18-06-2014, 00:56:02
    #4
    Node.js'nin avantajı zaten burada geliyor. Yani bir işlemi yaparken sıradaki işlemi yapmak için beklemiyor. Yeni bir sorgu/istek gittiğinde, diğer istek sunucu tarafında yorumlanıp, cevaplanıyor ve callback değeri gönderiliyor. Yani kullanıcının işlemine bakan bir durum oluyor bu da. Node.js sunucuda yeni bir haraket olup olmadığını kontrol edip işlem yaptığı için, gereksiz yere sorgu çalıştırmamış ve sistemi yormamış oluyor.

    Aynı zamanda, Node.js ile üst düzey bir performans için genelde MongoDB (NoSQL) öneriyorlar. Buna da göz atmanızı öneririm. Böyle bir sistem için, MySQL'den ziyade, NoSQL bir veritabanı daha performanslı olabilir. Node.js ile de taçlanırsa, neredeyse sıkıntısız işlem yaptırabilirsiniz gibime geliyor.
  • 18-06-2014, 14:49:59
    #5
    Yorum için teşekkürler ,

    Şu ana kadar PHP+Mysql üzerinde Laravel Framework kullanarak ilerledim. Düzenlemiş olduğum bootstrap ile hazırlanmış html yönetim panelimi de sürekli kullanmaktayım.

    Soket olayına yabancı olduğum için iki arada kalıyorum


    Taksi uygulamasında da bir yönetim paneli olacak , burada da belirli işlemler , ayarlar , taksicilerin gün içerisinde dolaştığı rotalar , raporlar vs.. gibi sayfalar olacak. Bu kısmı Laravel + hazır yönetim panelim + Mysql şeklinde tasarlamayı düşünüyordum

    Mobil servis , anlık bilgi transferi konusunda da Node.JS öğrenmek istiyordum.

    Şimdi anladığım kadarıyla , Node.JS başlı başına bir server gibi. Veritabanı işlemleri , bağlantılar , diğer işlemler yapılabiliyor ( aynı apache gibi ).


    Bu durumda apache ve doğal olarak Laravel'i bir kenara bırakıp , sunucudan apacheyi kaldırarak , tüm işlemleri sadece Node.JS üzerinden mi yapmalıyım acaba.
    ( Node.JS + MongoDB + Mobil uygulama için veri transfer , soket + bootstrap (html) yönetim paneli )

    Yoksa bildiğim gibi apache + MongoDB + Laravel şeklinde devam edip , sadece mobil kısımda anlık veri aktarımı için Node Js yi sunucuya ektsta olarak mı kullanmalıyım.
    ( Apache + MongoDB + Laravel + bootstrap (html) yönetim paneli || NodeJS + Mobil uygulama için veri transfer , soket)

    Yol gösterirseniz sevinirim
  • 18-06-2014, 16:22:33
    #6
    Üyeliği durduruldu
    Twitter Bootstrap zaten NodeJS'nin bir ürünü gibi bir şey olması lazım. (Yanlış olmasın) da öyle biliyorum. NodeJS ve Angular öneriyorum bu tür işlemler için. Ancak başlı başına dil gibiler söylediğin gibi, front-end development kolay iş değil .
  • 18-06-2014, 17:42:57
    #7
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Bu uygulamanın aynısını okulda Bitirme Projesi olarak yaptık ve bitirdik. İki ayrı uygulama Şöför ve Yolcu olarak planladık. Aradaki bütün haberleşmeyi veri tabanı sorguları üzerinden yaptık. Ama mantıklı olan yöntem (Andorid dolayısıyla Java için bahsediyorum) Socket kullanmak. Biz işi uzatmamak için ve Socket'i öğrenmekte işimize gelmediği için veri tabanı sorguları ile yaptık. Performans konusunda çok büyük sayıda aynı anda veri tabanı işlemi yapılmazsa sıkıntı olmuyor. Ama piyasaya çıkacak bir uygulamanın kesinlikle Socket kullanması lazım. Node.Js'de bir alternatif olabilir.


    Dipnot: Haritadaki tüm işlemler için Google Maps APİ kullandık.


    Kolay Gelsin
  • 19-06-2014, 17:33:42
    #8
    Xhenahobia adlı üyeden alıntı: mesajı görüntüle
    Twitter Bootstrap zaten NodeJS'nin bir ürünü gibi bir şey olması lazım. (Yanlış olmasın) da öyle biliyorum. NodeJS ve Angular öneriyorum bu tür işlemler için. Ancak başlı başına dil gibiler söylediğin gibi, front-end development kolay iş değil .
    Bootstrap NodeJS'nin mi bilmiyorum ama , çok işlevsel olduğu kesin
    zamandan tasarruf

    aytaccici adlı üyeden alıntı: mesajı görüntüle
    Bu uygulamanın aynısını okulda Bitirme Projesi olarak yaptık ve bitirdik. İki ayrı uygulama Şöför ve Yolcu olarak planladık. Aradaki bütün haberleşmeyi veri tabanı sorguları üzerinden yaptık. Ama mantıklı olan yöntem (Andorid dolayısıyla Java için bahsediyorum) Socket kullanmak. Biz işi uzatmamak için ve Socket'i öğrenmekte işimize gelmediği için veri tabanı sorguları ile yaptık. Performans konusunda çok büyük sayıda aynı anda veri tabanı işlemi yapılmazsa sıkıntı olmuyor. Ama piyasaya çıkacak bir uygulamanın kesinlikle Socket kullanması lazım. Node.Js'de bir alternatif olabilir.


    Dipnot: Haritadaki tüm işlemler için Google Maps APİ kullandık.


    Kolay Gelsin
    Sürücülerin GPS güncellemesini nasıl yaptınız acaba , 20 saniyede 1 gibi süreli mi,
    yoksa başka bir yoldan mı yaptınız acaba.

    Bu tarz bir uygulamadaki mantığı çözsem çok güzel bir gelişme olacak benim için
  • 19-06-2014, 19:40:27
    #9
    Üyeliği durduruldu
    uysal_rockci adlı üyeden alıntı: mesajı görüntüle
    İyi akşamlar herkese ;

    Mobil uygulama yazmaya başlamak istiyorum ama web desteği konusunda nasıl bir yöntem izlemeliyim bilemedim

    Teorik olarak örnek vermek gerekirse , taksi uygulamasını düşünelim.
    Bulunduğunuzu bölgede tüm taksiciler android telefonlarına uygulamamızı yüklemiş olsun.

    Ben ise çarşının ortasındayım ve uygulamayı çalıştırıyorum sunucuda sorguluyor o anda bana 5 km yarıçapındaki taksilerin kordinatlarını bulup haritada listeliyor.

    Şimdi bu taksiler sürekli hareketli olduğu için ben uygulamada bu yer değişikliğini nasıl sorgulayabilirim. Yani 30 saniyede bir sorgu yapsam Mysql sorguları yüzünden belirli bir kullanıcı sayısından sonra sistemde yavaşlamalar olur diye düşünüyorum.

    Node Js gibi sistemler mi kullanmalıyım. Node js ile Mysql veritabanı kullanan var mı acaba , verim nasıl.

    Her taksi hareketinden sonra GPS verisi güncellendiği için Node JS ile tüm kullanıcılara daha mı hızlı gönderilir acaba.

    Bu node js yi okuyurom teminden beri ama işime yarar mı yaramaz mı tam karar veremedim

    konunun yarısı yanlış yerde belki ama genelde PHP bölümüne takıldığım için önce buradan yardım isteyeyim dedim, hoş görün artık
    Sürekli yapmayacaksın. 5 dakikalık oturum halinde yenileyeceksin. Oturum açan (giriş yapan) kullanıcı 5 dakika aralıkla mysql sorgu göndersin.