Rose debug info
---------------

Тексты заведующего фонограмм архивом фольклорно-этнографических записей Центра русского фольклора @

Позднее Ctrl + ↑

Настройка NGINX

server {
        listen 80; # порт, прослушивающий nginx
        server_name    server.local; # доменное имя, относящиеся к текущему виртуальному хосту
        root  /var/www/site; # каталог в котором лежит проект, путь к точке входа

        index index.php;
        # add_header Access-Control-Allow-Origin *;

        # Отдавать статику
        location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
                access_log off;
                expires max;
                log_not_found off;
        }

        location ~* \.php$ {
        try_files $uri = 404;
        auth_basic "Restricted Content"; #  Настройка авторизации htpasswd
        auth_basic_user_file /var/www/.htpasswd; # указываем место нахождения файла с паролями
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; # подключаем сокет php-fpm
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {     #запрещаем чтение файлов htaccess и htpasswd
                deny all;
        }
    location /files {    # В директории files 
           autoindex on; # разрешаем просматривать файлы
           charset UTF-8; # Устанавливаем кодировку что бы файлы не читались кракозябрами
         }
   }

Что бы формировать файл htpasswd и добавлять в него пользователей надо поставить утилиты apache

sudo apt-get install apache2-utils -y
sudo htpasswd -c /var/www/.htpasswd newuser 
# создаем файл и одновременно добавляем в него пользователя
 Нет комментариев    130   6 мес   web

MySQL шпаргалка

Создаем пользователя, прописываем в нужной базе привилегии для пользователя, удаляем пользователя.

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
FLUSH PRIVILEGES;

DROP USER 'demo'@'localhost';

Множественное объединение в запросе.
Есть одна таблица Записи

Индекс Дата Место Исполнитель1 Исполнитель2
1 01.02.2003 Совхоз им. Ленина 1 2

И вторая таблица с исполнителями
Исполнители

Индекс Имя
1 Иванов Иван Иванович
2 Петров Петр Петрович

нам нужно вывести в запросе все имена вместе с датой и местом

Запрос будет таков:

SELECT Дата, Место, Исп1.Имя, Исп2.Имя FROM Записи
#Здесь в селекте используются псевдонимы, 
# которые будут определяться позже в запросе, что вызывает путаницу поначалу
LEFT JOIN Исполнители AS Исп1 ON Записи.Исполнитель1 = Исп1.Индекс
LEFT JOIN Исполнители AS Исп1 ON Записи.Исполнитель2 = Исп2.Индекс
# В left join мы задали те самые алиасы (псевдонимы)

Условие совпадения не обязательно могут быть по индексу.
Будут выведены все записи, если исполнителя нет, то будет выведено NULL

Сам пример не случайный, именно так была устроена база ГРЦРФ. Ошибка здесь в том, что у одной записи строго ограниченное количество исполнителей жестко прошитое в структуре, то же самое было и относительно участников сеанса записи со стороны экспедиции. Правильным решением является соединение через еще одну промежуточную таблицу. Это называется «реляционное деление». В промежуточной таблице указывается id записи в основной таблице «Записи» и id в записи «Исполнители». Соответственно запрос ищет сначала все записи в промежуточной таблице с id потом считывает из поискового запроса все id исполнителей и после этого их подставляет в финальную выдачу.
Примера пока нет. Возможно когда-то будет updated.

 Нет комментариев    53   6 мес   web

about

Кирилл Валентинович Чеботарев

Заведующий сектором исследования и сохранения архивных фондов Центра русского фольклора ГРДНТ им. В.Д. Поленова, руководитель сектора фольклорно-этнографических фондов Общероссийской общественной организации «Российский фольклорный союз»

Контакты

Телеграм ВК FB Instagram Youtube

Образование

Окончил Московский открытый институт по специальности «Прикладная информатика».

Публикации

  • Чеботарев К.В. Народный костюм в собраниях краеведческих музеев Волгоградской области // Живая старина. 2018. №2. С. 33-35.
  • Чеботарев К.В. Звуковые фольклорно-этнографические материалы: фиксация, обработка и систематизация: методическое пособие. М: Издательские решения, 2020. 54 с.

Общественная и музыкально-просветительская деятельность

Полевые исследования

  • Республика Северная Осетия -Алания, Пригородный район; Ставропольский край, Кировский и Новопавловский районы (СЗБК «Терек», 2002).
  • Волгоградская область, Алексеевский, Нехаевский, Урюпинский районы (ИЭК «Белый камень», 2004).
  • Волгоградская область, Алексеевский район (ИЭК «Белый камень», 2005).
  • Тульская область, Чернский район (ЦТРКЮП «Истоки», 2011).
  • Орловская область, Новосильский район (ЦТРКЮП «Истоки», 2011).
  • Московская область, Подольский район (ЦТРКЮП «Истоки», 2012).
  • Орловская область, Новосильский район (ЦТРКЮП «Истоки», 2014).
  • Волгоградская область, Алексеевский и Кумылженский районы (ГРЦРФ, 2014).
  • Волгоградская область, Алексеевский и Урюпинский районы (ГРЦРФ, 2015).
  • Волгоградская область, Алексеевский, Серафимовичский, Урюпинский районы (ГРЦРФ, 2016).
  • Тульская область, Чернский район (ЦТРКЮП «Истоки», 2016).
  • Волгоградская область, Алексеевский, Новоаннинский, Серафимовичский районы (ГЦРФ ФГБУК «Роскультпроект», 2017).
  • Волгоградская область, Клетский, Михайловский районы (ГРДНТ им. В.Д. Поленова, 2018).
  • Республика Крым, Бахчисарайский, Белогорский, Симферопольский районы (ГРДНТ им. В.Д. Поленова, 2018).
  • Ростовская область, Боковский, Верхнедонской, Шолоховский районы (ГРДНТ им. В.Д. Поленова, 2019).
  • Волгоградская область, Алексеевский, Новоаннинский, Михайловский, Фроловский районы (ГРДНТ им. В.Д. Поленова, 2020).
 Нет комментариев    70   6 мес  
Ранее Ctrl + ↓