Практическая работа №13 Развертывание реализации паттерна Ambassador и сервиса memcache для организации шардированного кэша


Download 468.92 Kb.
bet5/14
Sana29.03.2023
Hajmi468.92 Kb.
#1309002
TuriПрактическая работа
1   2   3   4   5   6   7   8   9   ...   14
Bog'liq
prak13 18

Защита мобильного приложения
Чтобы решить подобную проблему, многие шардирующие функции прибегают к использованию консистентных хеш-функций. Эти хеш-функции устроены таким образом, что при количестве ключей K и увеличении количества шардов до N гарантированно окажется перенаправлено не более K / N запросов. Например, при использовании консистентной хеш-функции для шардирования Рутование устройства и атака на приложение и применяемые в нем алгоритмы через внешние отладочные инструменты. Классы определяют то, как данные хранятся в базе. SQLite сохраняют значения с помощью пяти доступных классов хранения:

  • NULL — нулевое значение;

  • INTEGER — для целых чисел, содержащих от 1 до 8 байтов;

  • REAL — числа с плавающей запятой;

  • TEXT — текстовые строки, хранящиеся с использованием кодировки базы данных (UTF-8 или UTF-16);

  • BLOB — двоичные данные, хранящиеся точно так, как они были введены.


Практическая часть .

Определение таблиц


Поскольку база данных SQLite является локальной, нужно обеспечить, чтобы приложение создавало таблицы и по мере необходимости сбрасывало их.
Начнем с Android SQLite query создания таблицы Employer, а затем перейдем к EmployerActivity.
Рекомендуется размещать логику создания базы х SQLite в классе. Это облегчает устранение возможных неполадок. Назовем наш класс SampleDBContract:
public final class SampleDBContract {
private SampleDBContract() {
}
public static class Employer implements BaseColumns {
public static final String TABLE_NAME = "employer";
public static final String COLUMN_NAME = "name";
public static final String COLUMN_DESCRIPTION = "description";
public static final String COLUMN_FOUNDED_DATE = "date";
public static final String CREATE_TABLE = "CREATE TABLE IF NOT EXISTS " +
TABLE_NAME + " (" +
_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
COLUMN_NAME + " TEXT, " +
COLUMN_DESCRIPTION + " TEXT, " +
COLUMN_FOUNDED_DATE + " INTEGER" + ")";
}
}
Мы определяем частный конструктор для SampleDBContract, а затем создаем класс для представления таблицы Employer. Обратите внимание: класс Employer реализует интерфейс BaseColumns. Он предоставляет два столбца в нашей таблице. Это столбец _ID, который будет автоматически увеличиваться при добавлении каждой новой строки. И столбец _COUNT, который может использоваться ContentProviders для возврата количества записей, извлекаемых через запрос. Столбец _COUNT не является обязательным. Строка CREATE_TABLE компилируется в следующий оператор SQL

Download 468.92 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   14




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling