Sari la conținutul principal
🔒 Mod previzualizare. Primele cincisprezece lecții Foundations sunt gratuite; aceasta este Pro. Pornește un trial de 7 zile pentru a debloca editorul, sugestiile AI și restul programului. Card necesar, anulează oricând în Dashboard.Pornește trial de 7 zile →
← CursuriSystem Design for Python JuniorsModulul 1 · Fundamentele de proiectare a sistemuluiReplicarea bazei de datepredict7 / 105
+100 XP
Sarcină
📝 ** Sarcină:** Prevedeți rezultatul pe 3 linii dintr-un flux de actualizare a profilului: citiți replica pre-sincronizare, citiți primar post-scriere, citiți replica post-sincronizare. 📋 Implementați funcția de mai sus. Testele rulează automat. 💡 **Sugestie:** Recitiți teoria dacă rămâneți blocat.
Prezice ieșirea

Citește codul cu atenție

class Replica:
    def __init__(self):
        self.state = {}

    def replicate(self, primary_state):
        # Sync up to the primary's current state.
        self.state = dict(primary_state)


class Primary:
    def __init__(self):
        self.state = {"profile": "Alice"}    # initial


primary = Primary()
replica = Replica()
replica.replicate(primary.state)             # initial sync

# User updates profile on the primary.
primary.state["profile"] = "Alicia"

# Read 1 — went to the lagging replica BEFORE it caught up.
print(replica.state.get("profile"))

# Read 2 — routed to primary (read-your-own-writes pattern).
print(primary.state.get("profile"))

# Replica eventually catches up.
replica.replicate(primary.state)

# Read 3 — same replica, now post-sync.
print(replica.state.get("profile"))

# What does this print? Type your prediction.

Ce va afișa programul? Scrie aici:

💬 Discuție

Fii primul — pune o întrebare sau împărtășește un sfat.
Conectează-te pentru a te alătura discuției. Citirea este gratuită.
Se încarcă discuția…