Skip to content

tgglv/cache_practices

Repository files navigation

PSU Cache Practices

Место и время

29 мая 2018 г. с 8:00 в аудитории 424 2го корпуса ПГНИУ будут проходить 2 пары по теме "Кеширование".

О проекте

Специально для проведения лекций был создан учебный сайт, имитирующий интернет-магазин книг.

Также была подготовлена презентация.

Системные требования

Операционная система:

  • Windows:
    • минимальная: Windows 7
    • рекомендуемая: Windows 10
  • Mac:
    • минимальная: OS X 10.8 (Mountain Lion)
    • рекомендуемая: OS X 10.10.3 (Yosemite) или новее

Сводобное дисковое пространство: ~ 1.5 GB.

Установка ПО

Git

Для скачивания исходных текстов проекта понадобится git.

Docker

Для рекомендуемых версий операционных систем необходимо установить Docker.

Для минимально допустимых версий операционных систем необходимо установить Docker Toolbox.

При установке на Windows выберите "использовать Linux-контейнеры".

dos2unix

Для работы под ОС Windows необходимо скачать dos2unix. Он будет использоваться для преобразования переносов строк из CRLF в LF. Более подробное описание в разделе apply_dos2unix.bat.

Разворачивание системы

Для получение исходных текстов проекта в командной строке выполните:

git clone https://github.com/tgglv/cache_practices.git

В засивимости от ОС:

Windows:

apply_dos2unix.bat
fixTHB.bat
deploy.bat

OS X / macOS:

chmod +x ./*.sh
./fixTHB.sh
./deploy.sh

После скачивания образов, сборки и запуска контейнеров в интерфейсе командной строки будет отображаться процесс запуска, который завершится инициализацией MySQL.

После завершения запуска контейнеров, приложение будет доступно по адресу http://localhost:8080/books.

Пример страницы со списком книг

apply_dos2unix.bat

Batch-файл рекурсивно проходит по файлам и меняет перенос строки CRLF (по умолчанию для Windows) на LF (используется в *nix-системах). Подробнее.

fixTHB.bat (fixTHB.sh)

Необходим для внесения изменения в основной образ Alpine Linux, на базе которого создается образ Redis. По умолчанию, в Alpine Linux включена поддержка Transparent Huge Pages (THP). Данная опция предназначена для систем с большими объемами виртуальной памяти. Для нашей системе данная опция будет снижать производительность. Если это не сделать от отключение этой опции, то контейнер с Redis будет показывать предпреждение вида:

WARNING you have Transparent Huge Pages (THP) support enabled in your kernel.
This will create latency and memory usage issues with Redis.

Завершение работы

Для остановки контейнеров, в командной строке, где был запущен deploy.bat (deploy.sh), необходимо нажать Control+C (Command+C).

Если вы хотите удалить установленные Docker'ом образы/контейнеры/тома/сети, то это можно сделать одной командой. Будьте осторожны, удалиться абсолютно всё что вы загружали с помощью Docker:

docker system prune -a

Структура БД

Схема БД

Книга:

  • ID
  • ID издательства
  • ID категории
  • Название
  • Описание
  • количество страниц
  • дата публикации
  • цена

Автор:

  • ID
  • Имя

Книги и Автора:

  • ID
  • ID Книги
  • ID Автора

Издательство:

  • ID
  • Название

Категория:

  • ID
  • Назавние

Страницы в интерфейсе

Подборка самых свежих книг:

  • Название
  • Автор
  • Издательство
  • Год издания
  • Цена
  • Описание

Страница книги:

  • Название
  • Автор
  • ID книги
  • Категория
  • Год издания
  • Цена
  • Описание

About

Cache Practices

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published