SORU
3 Mayıs 2014, CUMARTESİ


Kısıtlamaları İzleme teknikleri

İşte senaryo: imza ve DZD x could not deduce x ~ y y şikayet türü ile bazı kod yazdım. Genellikle bir kemik DZD ve görevini tam olarak yerine kısıtlamalar için izomorfizma Ekle atabilir, ama bu çeşitli nedenlerden dolayı kötü bir fikir

  1. Kod anlama vurgulamak değildir.
  2. Bir tane yeterdi eğer 5 daha özel bir sınırlama) ile örtülü ise (örneğin, 5 kısıtlamaları ile sona erebilir
  3. Eğer yanlış bir şey yaptıysan ya da eğer DZD yardımcı olmak ise yanlış kısıtlamaları ile sona erebilir

Ben sadece birkaç saat durum 3 ile savaşarak geçirdi. syntactic-2.0 ile oynuyorum ve share, haline benzer NanoFeldspar tanımlanan etki alanı bağımsız bir sürümünü tanımlamak için çalışıyordum.hs.

Bu vardı:

share :: (Let :<: sup,
          Domain a ~ sup,
          Domain b ~ sup,
          SyntacticN (a -> (a -> b) -> b) fi) 
          => a -> (a -> b) -> a
share = sugarSym Let

ve kesinlikle beklediğim şey olan could not deduce (Internal a) ~ (Internal b), DZD. Bu yüzden bazı kodlar yazmıştım ya gitmek istememiştim kısıtlaması gerekli olan), ya da DZD bu kısıtlama yazmıştım başka kısıtlamalar nedeniyle aranıyor.

Yok (Internal a) ~ (Internal b) ima kısıtlama listesi (Syntactic a, Syntactic b, Syntactic (a->b)) eklemek için gerekli çıkıyor. Ben temelde doğru kısıtlamaları sendeledi; ben hala onları bulmak için sistematik bir yol yok.

Benim sorular şunlardır:

  1. Neden DZD bu sınırlamayı teklif etti mi? Cümle içinde hiçbir kısıtlama Internal a ~ Internal b nereye DZD o çektin mi?
  2. Genel olarak, teknik DZD ihtiyacı inanmayan bir kısıtlama kökeni izlemek için neler yapılabilir? Ben bu kısıtlamaları için bileolabilirkendimi keşfetmek, benim yaklaşım, aslında kaba fiziksel olarak özyinelemeli kısıtlamaları yazarak kusurlu yolu zorluyor. Bu yaklaşım temelde kısıtlamaları sonsuz bir tavşan deliğine girer ve hayal edebileceğim en etkili yöntemdir.

CEVAP
5 Ocak 2009, PAZARTESİ


Dağıtılmış değişim yönetimi nasıl çalıştığına bakmak gerekir. Deltalar iş yönetmek SVN, CVS ve diğer depoları bak.

Birkaç kullanım örnekleri var.

  • Değişiklikleri senkronize. Değişim-log (veya delta tarih) bu yaklaşım için iyi görünüyor. İstemci sunucuya kendi deltalar göndermek, sunucu ve istemciler için deltalar birleştirir dağıtır. Bu tipik bir durumdur. Veritabanları bu çağrı, "işlem çoğaltma".

  • İstemci eşitleme kaybetti. Ya bir hata nedeniyle bir yedekleme/geri yükleme. Bu durumda, istemci deltalar geçmeden sunucudan geçerli durumunu almak gerekiyor. Bu ayrıntı, deltalar ve performans lanetlenmiş olmak ustadan bir kopyasıdır. Tek seferlik bir şey değil; müşteri kırıldı; bu optimize etmeye çalışmayın, güvenilir bir kopyasını uygulamak.

  • İstemci şüpheli. Bu durumda, sunucuda istemci, istemci-güncel olup olmadığını belirlemek için karşılaştırmak gerekir ve herhangi deltalar ihtiyacı var.

Sırayla her değişiklik numaralandırma (SVN) veritabanı tasarımı desen takip etmelidir. Bir istemci önemsiz bir istekte bulunabilir Bu şekilde ("revizyon Ne olmalıdır?") eşitlemeye çalışmadan önce. Ve o zaman bile, query ("2149 beri Bütün deltalar") nefis bir müşteri için basit ve işlemek için sunucu.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FailArmy U

    FailArmy U

    29 AĞUSTOS 2009
  • GOTO Conferences

    GOTO Confere

    3 EKİM 2011
  • The Warp Zone

    The Warp Zon

    24 AĞUSTOS 2007