Gelişmiş Web Geliştirme Öğreticiler [kapalı]

2 Cevap php

Ben PHP + MySQL gelişimi ile ilgili hemen hemen her özel soruya cevap bulmak mümkün olmakla birlikte, tek bir kaynak ben ileri sorunları için good çözümler bulmak mümkün olmamıştır.

AJAX tarafından sorgulanan olabilir küçük bir messageboard tipi sistemi uygulamak istiyorum, ama hazır bir kütüphane tarafından doldurulacak, ve ben bir veritabanı uygulaması ve nasıl kullanılacağı hakkında bir öğretici gerekmez için ben çok fazla özelliklere sahip.

Ne arıyorum "mesajı saklamak ve son 10 mesaj yazdırmak" tarzı öğreticiler daha karmaşık problemler için ileri düzey kullanıcılar için iyi bir çözüm sağlayan bir kaynaktır.

Örneğin: Benim web grubu sayfaları kullanıcılar herhangi bir sayı ile her olacak ve özel grup sayfası küçük bir "duvar" gibi mesaj panosu olacak. Bu özel tablo tasarlarken ben dikkate almak gerekir? Nasıl kilitleme uygulamak gerekir? Vb

Tabii ki, benim kesin sorun için bir öğretici olması sanmıyoruz, ama (WordPress - aksine yaymak da biraz) belki anlaşılabilir bir db-odaklı web sitesi için komple bir çözüm istiyorum ve bu aslında çalışır (tam çözümlerinin aksine bazen bir referans kitabının arka kısmında bulabilirsiniz).

2 Cevap

Ben bu yüzden genel kalacak., Net adamım benim çözümdür. Sana ihtiyacım çözüm dil özel herhangi bir yolu olduğunu sanmıyorum. Eğer içine bakmak gerekir Ne tasarım desenleri ve bazı şeyleri yapmak için işletme yöntemleri. Başarınız için anahtar veritabanı uygulama ama ne üzerinden (tamamen) gelmez ve verilerini nasıl kullandığımız. Büyütmek için sen (önbellek katmanı okumak mümkün olduğunda yerine db) ve hızlı arama (yerine db bir Lucene dizinden arama (yerine db bir kuyruğa yazmak) ve hızlı okuma hızlı yazabiliyor olması gerekiyor .) Birçok kişi db üzerinde asılı ve onlar bunu yaparken genellikle doğrudur. Bu uygulamalar veri depolama ve sorgulama merkezi bir parçasıdır. Ama aynı zamanda, herhangi bir sistemde tek büyük şişe boyunları genellikle biridir. Tabii, sadece doğrudan yapmayın, db tüm verilerinizi saklayabilirsiniz. Tabii, okuma ve db veri sorgulamak ... ama sadece kesinlikle gerekli olduğunda (sonra sadece veritabanından veri okumak, veri bulmak için bir dizin kullanabilirsiniz).

Uygulama harici hizmetler ile konuşmak zorunda zaman aynı gider. Örneğin, bir e-posta göndererek alın. Aksine SMTP sunucusu ve paketleme bağlayan ve e-posta göndererek e-posta göndererek daha ... kuyruğuna mesajı sopa ve bağlanmak ve SMTP ile e-posta göndermek için bir sıra okuyucu oluşturun. Bu şekilde web uygulaması sorunsuz çalışmaya devam eder.

Başarınızın anahtarı performans odaklı araştırma ve iyi bir mimari tasarım. Vb etki odaklı tasarım, kontrol inversiyon, tahrik testi geliştirme, depo desen, Model View Controller, memcached, hız, kuyrukta, MSMQ, veritabanı posta kuyruğunda, gibi şeyler aramak

Sen (muhtemelen "ileri konular" olarak) Bahsettiğiniz şeyler her düşünceli bir şekilde birlikte inşa oldukça basit yaklaşımlar ve teknolojilerinin tüm bir dizi olduğunu göreceksiniz.

Aynı anda düzenlerken birden kullanıcılara tutmak için bir tablo kilitleme oldukça basit bir konudur. issue of locking has been addressed Burada defalarca.

Gruplara üye atama gelince, o sadece bir kaç tablolar arasında bir adam-çok ilişkisi var. Sen Kullanıcılar Masa, bir Grupları Masa ve bir Kullanıcılar-to-Gruplar tablo olacak. Yani, bir kullanıcı birden fazla gruba üye olabilir varsayarak bulunuyor.

Küçük olsun, sorgudaki birleşimler birkaç yaparak, farklı farklı kullanıcılardan belirli bir grup için mesajları alabilirsiniz - ve böylece grup özgü kurulu doldurmak. Ayrıca, o tahta okumak için o grup var senin kullanıcı requring o tahta özelleştirilmesi - Bu o UserID o Groupıd yanında olup olmadığını görmek için Kullanıcılar-to-Gruplar tablonun sadece hızlı bir sorgu.