WSZYSCY TWORZYMY WSZYSCY TWORZYMY WSZYSCY TWORZYMY WSZYSCY TWORZYMY WSZYSCY TWORZYMY WSZYSCY TWORZYMY WSZYSCY TWORZYMY WSZYSCY TWORZYMY WSZYSCY TWORZYMY WSZYSCY TWORZYMY WSZYSCY TWORZYMY SYSTEMY ROZPROSZONE SYSTEMY ROZPROSZONE SYSTEMY ROZPROSZONE SYSTEMY ROZPROSZONE SYSTEMY ROZPROSZONE SYSTEMY ROZPROSZONE SYSTEMY ROZPROSZONE SYSTEMY ROZPROSZONE SYSTEMY ROZPROSZONE SYSTEMY ROZPROSZONE SYSTEMY ROZPROSZONE SYSTEMY ROZPROSZONE SYSTEMY ROZPROSZONE SYSTEMY ROZPROSZONE SYSTEMY ROZPROSZONE SYSTEMY ROZPROSZONE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? MACIEJ RZĄSA @mjrzasa
can be written in JavaScript, will eventually be written in JavaScript. Writing Photoshop, Word, or Excel in JavaScript makes zero engineering sense, but it's inevitable. (...) all programming will be web programming Jeff Atwood (2009)
zwartego systemu. Andrew Tanenbaum System rozproszony to taki, w którym maszyna o której nigdy nie słyszałem powoduje, że mój program nie działa. Leslie Lamport PROSTE JAK APLIKACJA WEBOWA?
NOT SIMPLY ONE DOES NOT SIMPLY ONE DOES NOT SIMPLY ONE DOES NOT SIMPLY ONE DOES NOT SIMPLY ONE DOES NOT SIMPLY ONE DOES NOT SIMPLY ONE DOES NOT SIMPLY SYNC MUTABLE STATE SYNC MUTABLE STATE SYNC MUTABLE STATE SYNC MUTABLE STATE SYNC MUTABLE STATE SYNC MUTABLE STATE źródło: youtube.com
(v4) bardzo niskie ryzyko kolizji może być generowany po stronie klienta pomocniczy identyfikator albo klucz główny skutek: idempotencja e4043456-b29e-4d80-afaf-4d65246f1d36
danych nie wysyłaj z powrotem otrzymanych właśnie danych synchronizuj to, co niezmienne i buduj zmienny stan używaj rozproszonych identyfikatorów, żeby zachować idempotencję Kto już to umiał? git, cassandra, CRDT, ...
;-) sieć jest zawodna CAP: spójność - dostępność - odporność na podziały: nie możesz mieć wszystkiego w jednej aplikacji można stosować zarówno podejście CP jak i AP synchronizuj to, co niezmienne i aplikuj do zmiennego (events vs entities)
had first beed discovered in 1889, then something from 1921... And finally I discovered something that had the same date as when I discovered it. (...) You are unlikely to discover something new without a lot of practice on old stuff. Richard Feynman, Feynman Lectures on Computation