• 13-11-2019, 00:12:43
    #1
    Herkese merhaba,

    Bir proje için ziyaretçi takip sistemi yazdım.

    Bunu yaparken visitors.json isminde bir dosya oluşturup verileri bunun içine yazıyorum. (ANLIK VERİLER)

    Sorum şu ki, mikro saniye cinsinden bile olsa Ziyaretçiler aynı anda girebilir (AYNI DOSYAYI ÇAĞIRABİLİR).

    Veya dosyaya aynı anda iki farklı ziyaretçinin verileri yazılmak üzere save edilmeye çalışabilir.

    Bu olasılığı hiç düşünmemiştim başlarda fakat PROJE gereği database üzerine yazamıyorum.


    Şimditeknik olarak bu saydıklarımın gerçekleşmesi pekala mümkün. Fakat şunu bilmek istiyorum. Bu ne kadar kabul edilebilir bir durumdur? Hem kullanıcı deneyimi açısından hem de Teknik kalite açısından. (GÖRECELİ veya HALK lisanında sormuyorum. Çünkü o şekilde zaten kabul edilebilir olacaktır sanırım. Sormak istediğim ne kadar kurumsallığın dışına iter veya ne kadar teknik kaliteyi bozar. ) Çünkü kurumsal bir çalışmada kullanılacak. Yarın öbür gün Teknik kusurlar çıksın istemiyorum.
  • 13-11-2019, 00:14:33
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Neden json ? Bu verileri anlık her kullanıcı giriyosa neden database değil ? Db deki verileri json olarak return ettirebilirsin ? Olayı anlamak gerek. Tabii ki kaliteli bi iş değil
  • 13-11-2019, 00:18:38
    #3
    Cookie kullanarak aynı dosyayı yazması engellenebilir
    Çekip yazdırma için fopen fonksiyonunu kullanmalısınız
  • 13-11-2019, 00:21:23
    #4
    SLKing adlı üyeden alıntı: mesajı görüntüle
    Neden json ? Bu verileri anlık her kullanıcı giriyosa neden database değil ? Db deki verileri json olarak return ettirebilirsin ? Olayı anlamak gerek. Tabii ki kaliteli bi iş değil
    Hocam Benden istenen bu yönde. detayını bilmiyorum ama sanırım locallerini fiziksel olarak gelen müşterilere public ağ yapıyorlar. Gelen müşterilerin verilerini tutmak istiyorlar. Database olmayacak denildiği için kesin ve net :P
  • 13-11-2019, 00:23:13
    #5
    Şunu anlamam gerek sen düşündüğünde veritabanı ile yapınca json verisi olarak bi php dosyasından yazdırdığında aynı işi görmeyexek mi ?

    adamların her dediği yapılmaz işi görecekse o daha mantıklı
  • 13-11-2019, 00:25:07
    #6
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Cookie kullanarak aynı dosyayı yazması engellenebilir
    Çekip yazdırma için fopen fonksiyonunu kullanmalısınız
    Sağol Hocam script bitti. file_get_contents() ve file_put_contents() ile yaptım ki bu da özünde fopen in geliştirilmiş hali sanırım.
  • 13-11-2019, 00:27:37
    #7
    Lokal bir dosyayı ben şahsen file get yada put ile açmam sunucuyu yoracağını düşünüyorum işlem sürelerini dikkate alın derim
    • Prototype
    Prototype bunu beğendi.
    1 kişi bunu beğendi.
  • 13-11-2019, 00:27:33
    #8
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Her ziyaretçinin session idsine göre ziyaretciye özel dosya oluşturup verileri farklı dosyalarda saklamayı deneyebilirsiniz.
  • 13-11-2019, 00:33:50
    #9
    SLKing adlı üyeden alıntı: mesajı görüntüle
    Şunu anlamam gerek sen düşündüğünde veritabanı ile yapınca json verisi olarak bi php dosyasından yazdırdığında aynı işi görmeyexek mi ?

    adamların her dediği yapılmaz işi görecekse o daha mantıklı
    O konuda haklısın, sağ elinle sol kulağını tutmaya dönüyor yoksa. Kafama takılan konu, peki ya bu söylediklerim database de nasıl işliyor? Bu zamana dek hiç kafa yormamıştım. İki ayrı CLIENT aynı anda veri çekebilir onda sıkıntı yok da, ya peki aynı anda yazmak istese? Aynı sorun DB de de yaşanmaz mıydı? Yani verilerden bir tanesi illaki kaybolacaktı. Öyle değil mi?

    Ayrıca konunun üzerine bu kadar gitmemin sebebi merak ve detayları öğrenmek. Yoksa oluşabilecek sorunları söyleyeceğim, isterlerse DB 'e yazarız.Yok biz böyle isteriz denirse ne ala. Yoksa buradaki amaç aslında gerçekten merak ettiğim için.



    eka7a adlı üyeden alıntı: mesajı görüntüle
    Her ziyaretçinin session idsine göre ziyaretciye özel dosya oluşturup verileri farklı dosyalarda saklamayı deneyebilirsiniz.
    Aynen hocam bu yedek planımdı. Eğer db yerine file'de ısrar ederlerse.