Распределенные данные. Конкурентные операции
Заметки из книги Клеппмана "Высоконагруженные приложения". Конкурентный доступ, время и относительность. Почему хорошо когда B причинно-следственно зависит от A. Зачем нужны векторы версий....
Заметки из книги Клеппмана "Высоконагруженные приложения". Конкурентный доступ, время и относительность. Почему хорошо когда B причинно-следственно зависит от A. Зачем нужны векторы версий....
Заметки из книги Клеппмана "Высоконагруженные приложения". Репликация с несколькими ведущими узлами и репликация без ведущих узлов. Зачем такой подход нужен и какие сложности несет; Обнуружение и исправление конфликтов; Как собрать кворум и чем он поможет....
Разберемся, что такое симметричное шифрование; чем отличаются блочные шифры от потоковых; зачем нужен вектор иницилизации(IV); какие бывают режимы работы шифра; что делать с последним блоком....
Заметки из книги Клеппмана "Высоконагруженные приложения". Зачем нужно распределять данные по разным нодам или даже ЦОДам; Чем отличается синхронная и асинхронная репликация; Как можно организовать реплкацию ведущего и ведомаго узла; Какие анамалии возможны при асинхронной репликации и какие гарантии можно дать....
Сделаем из простых типов другие, составные и более сложные. Это и будут алгебраические типы данных....
Качественный дизайн обладает слабой связанностью (low coupling) и сильной связностью (high cohesion). Это значит, что программный компонент имеет небольшое число внешних связей и отвечает за решение близких по смыслу задач....
С точки зрения параллелизма, как пути для повышения эффективности вычислений, существует две крайности....
Парни из Heroku предложили набор общих концептуальных решений проблем, которые наиболее часто возникают при разработке и поддержки веб-приложений....