<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Кирдык</title><generator>teletype.in</generator><description><![CDATA[Архивариус]]></description><image><url>https://img1.teletype.in/files/03/d0/03d0d044-c003-459f-abac-855fc0273637.png</url><title>Кирдык</title><link>https://kirdik.folkcentr.ru/</link></image><link>https://kirdik.folkcentr.ru/?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/kirdik?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/kirdik?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Sun, 10 May 2026 12:07:28 GMT</pubDate><lastBuildDate>Sun, 10 May 2026 12:07:28 GMT</lastBuildDate><item><guid isPermaLink="true">https://kirdik.folkcentr.ru/fbatte-help</guid><link>https://kirdik.folkcentr.ru/fbatte-help?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik</link><comments>https://kirdik.folkcentr.ru/fbatte-help?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik#comments</comments><dc:creator>kirdik</dc:creator><title>Как пользоваться ботом &quot;Перепляс&quot;</title><pubDate>Fri, 17 Feb 2023 14:07:00 GMT</pubDate><category>фольклор</category><description><![CDATA[Если вы не знаете, что это такое, то вам сюда - https://t.me/FolkBattleBot]]></description><content:encoded><![CDATA[
  <section style="background-color:hsl(hsl(24,  24%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Прислать-частушку">Если вы не знаете что это такое, то вам сюда: <a href="https://t.me/folkbattlebot" target="_blank">https://t.me/folkbattlebot</a></p>
  </section>
  <h3 id="i3co"></h3>
  <h3 id="7SWF">Как пользоваться?</h3>
  <p id="tQDC">Очень просто:<br />Запускаете бота, жмёте кнопку   👇🏼</p>
  <figure id="Pjlf" class="m_custom">
    <img src="https://img1.teletype.in/files/c3/c0/c3c0eab4-998d-4879-901b-76ee6fa51a1d.png" width="147" />
  </figure>
  <p id="WFqP">Звук можно зациклить для удобства.<br />Далее выбираем от кого будем петь частушки: если вы мужского пола, то рекомендую петь от мальчика. Очевидно. </p>
  <blockquote id="cf10">У нас всего два гендера в стране. 👨🏻👩🏼  Но сейчас не об этом.</blockquote>
  <p id="DLxS">Далее жмём на кнопку соответствующую тому кому вы хотите спеть частушку. Мальчику 💁🏻‍♂🤦🏼‍♂ , или девочке 💁🏻‍♀🤦🏼‍♀, или вы один одинёшенек 🙋🏻‍♂ и сами с собой развлекаетесь. Можно потренировать частушки под определенный наигрыш: Семёновна, Матаня, Яблочко. Если вам не хватает частушек и вы хотели бы большего разнообразия, то вы можете прислать их так же через фолкбатлбота.</p>
  <h3 id="wHk1">Как прислать частушку:</h3>
  <p id="GFN6">1️⃣ Выберите категорию для вашей частушки.<br />От чьего имени она поётся - мальчик или девочка? 👨🏻 👩🏼<br />Кому она поётся сопернику, сопернице или просто слушателям?<br />2️⃣ Если частушка явно связана с одним из наигрышей (<em>Цыганочка, Яблочко, Семёновна</em>), то выбирайте соответствующий наигрыш. <br />3️⃣ Если ни в одну категорию не подходит, <br />то можно выбрать пункт <strong>&quot;Без категории&quot;.</strong><br />Эти частушки после модерации попадут в базу, но внутри бота они появятся только тогда, когда их можно будет выделить в отдельную категорию.<br />Например в боте еще нет категории &quot;<em>Сербияночка</em>&quot; или &quot;<em>Елецкого</em>&quot;. <br />С вашей помощью это можно будет исправить.</p>
  <p id="lI1V">4️⃣ Частушки можно присылать только по одной за раз❗️ <br />5️⃣ Текст необходимо разбить на строки❗️Например:</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="gQbs"><em>В городе Калязине</em></p>
    <p id="rL6Z"><em>На девчонки сглазили</em></p>
    <p id="rrDb"><em>Если бы не сглазили</em></p>
    <p id="YSxW"><em>Мы бы с них не слазили</em></p>
  </section>
  <p id="YHeO">6️⃣ Текст на латинице не пройдёт проверку❗️<br /> Допускается только кириллица. <s>Ochen zhalko teh u kogo net russkoj klaviaturi.</s></p>
  <p id="nFwk">7️⃣ Старайтесь присылать частушки без <u>излишнего</u> диалекта.<br />Например:</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Xxr7"><em>Мы с таваришшам моим</em></p>
    <p id="jhh4"><em>Одну думу думали.</em></p>
    <p id="oIgy"><em>Мы Анюту полюбили,</em></p>
    <p id="QSnH"><em>Ешшо Катю вздумали</em><br /></p>
  </section>
  <p id="Y6Vt">Но частушка ничего не потеряет если ее записать вот так:</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="sPCL"><em>Мы с товарищем моим</em></p>
    <p id="90c4"><em>Одну думу думали.</em></p>
    <p id="oSWT"><em>Мы Анюту полюбили,</em></p>
    <p id="tWmE"><em>Ещё Катю вздумали.</em><br /></p>
  </section>
  <p id="gVlC">Вот пример где диалектное слово убрать не получится:</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="kLXW"><em>Болят ножки от дорожки,</em></p>
    <p id="3ys6"><em>Болят ручки от косьбы,</em></p>
    <p id="7Kbz"><em>Спинушка от жнивушки,</em></p>
    <p id="j9kA"><em>Сердечико от милушки.</em></p>
    <p id="C17y"></p>
    <p id="GNet"><em>Это чья же, это чья же,</em></p>
    <p id="tRJ8"><em>Это чья, откудова?</em></p>
    <p id="J3Op"><em>Далеко ли эта ягодка</em></p>
    <p id="WWfm"><em>Живёт отсюдова?</em></p>
  </section>
  <p id="W9Z7"></p>
  <blockquote id="HN3p">Почему такое правило? Во первых, у нас нет цели научить диалектному пению. Во вторых, в одну категорию попадают частушки с разным диалектом и если петь их одна за другой воспроизводя диалект, это будет не очень правильно. Человек владеющий диалектом споёт частушку даже если прочёл ее литературный вариант. В общем здесь не про диалект, а про наработку навыка быстро выдавать текст. </blockquote>
  <h3 id="RebP">Немного теории</h3>
  <p id="jtyB">Частушка несмотря на свою кажущуюся простоту является довольно сложным жанром. Во первых в отличие от многих других фольклорных жанров здесь сочетается больше всего разных навыков. Перепляс одновременно с соревнованием в частушках требует от человека не только одновременного пения и танца, что вполне обычно для фольклора большинства стран. Здесь сложность заключается в том, что добавляется импровизация и она проявляется как в пляске, так и в выборе следующей частушки, которую надо еще спеть чтобы она <em>была &quot;в ответ&quot; , </em>так чтобы &quot;<em>срезать</em>&quot; соперника.  Прибавьте сюда нюанс с укладкой ритмического рисунка частушки на разные наигрыши и вы получите сверхсложную задачу для мозга. Еще не так давно в России проводили конкурсы частушечников. Первые места занимали люди которые имели в активной памяти более 1000 частушек. Это такой уровень, когда человек уже мыслит этой стихотворной формой во всем ее ритмическом разнообразии.<br />На фоне таких людей батл Гнойного и Оксимирона просто детский лепет. Надо учитывать, что на соревнования частушечников нельзя было петь частушки с картинками и матерные частушки и возможно наша страна не узнала бы никакого рэпа, если бы этого запрета тогда не существовало.  Если бы, да кабы. Важно то, что частушка, это то, что не даст состариться вашему мозгу. <br />Пляшите, пойте, соревнуйтесь!</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://kirdik.folkcentr.ru/skript-konvertacii-media-faylov</guid><link>https://kirdik.folkcentr.ru/skript-konvertacii-media-faylov?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik</link><comments>https://kirdik.folkcentr.ru/skript-konvertacii-media-faylov?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik#comments</comments><dc:creator>kirdik</dc:creator><title>Скрипт конвертации медиа файлов</title><pubDate>Sat, 05 Nov 2022 15:50:45 GMT</pubDate><category>Python</category><description><![CDATA[Часто мне перед вебинарами лекторы присылают для демонстрации целый зоопарк из разного рода типов медиафайлов. wma, avi, mpeg и прочее. Тоже самое и с аудио. Все это полезно привести к одному виду и желательно быстро, минимизировав ручной труд. Я написал скриптик на python, который определяет в папке тип медиафайла и конвертирует его в указанную папку с помощью ffmpeg.]]></description><content:encoded><![CDATA[
  <p id="O4lS">Часто мне перед вебинарами лекторы присылают для демонстрации целый зоопарк из разного рода типов медиафайлов. <em>wma, avi, mpeg</em> и прочее. Тоже самое и с аудио. Все это полезно привести к одному виду и желательно быстро, минимизировав ручной труд. Я написал скриптик на python, который определяет в папке тип медиафайла и конвертирует его в указанную папку с помощью <em>ffmpeg</em>.</p>
  <pre id="w3uy" data-lang="python">#!/usr/bin/python3
# type - [audio, video]
# out - [audio: mp3, ogg, wav, flac], [video: mp4, mpeg, avi]
#  необходимо установить pip install ffmpeg-python и сам ffmpeg в вашу OS
# параметры: директория с файлами, куда конвертировать, тип файла (audio или video), 
# расширение выходного файла

import os
from sys import argv
import mimetypes
import ffmpeg

script, dir_f, dir_out, type_f, out = argv
os.chdir(dir_f)
directory = &#x27;./&#x27;
os.mkdir(directory + dir_out)
files = os.listdir(directory)


def filtervideo(inputfiles):
    for i in inputfiles:
        mime_type, nothing = mimetypes.guess_type(i)
        if type_f in str(mime_type):
            name, ext = os.path.splitext(i)
            instream = ffmpeg.input(i)
            outstream = ffmpeg.output(instream, dir_out + name + &#x27;.&#x27; + out)
            ffmpeg.run(outstream)
            print(name + &#x27; Ok&#x27;)

filtervideo(files)</pre>

]]></content:encoded></item><item><guid isPermaLink="true">https://kirdik.folkcentr.ru/rezervnoe-kopirovanie-bez-problem</guid><link>https://kirdik.folkcentr.ru/rezervnoe-kopirovanie-bez-problem?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik</link><comments>https://kirdik.folkcentr.ru/rezervnoe-kopirovanie-bez-problem?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik#comments</comments><dc:creator>kirdik</dc:creator><title>Как не потерять все оцифрованное честным трудом?</title><pubDate>Sat, 05 Nov 2022 15:48:53 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/53/84/53842175-7677-4a70-aa00-ff142a213695.png"></media:content><category>архив</category><description><![CDATA[<img src="http://arch.folkcentr.ru/pictures/syncthing@2x.jpg"></img>Закон о сохранении информации очень прост:]]></description><content:encoded><![CDATA[
  <h2 id="cURB">Сохранность</h2>
  <p id="EIkK">Закон о сохранении информации очень прост:</p>
  <blockquote id="M0av"><em>Сохранность информации равно пропорциональна количеству копий информации.</em></blockquote>
  <p id="Nqaw">Иными словами — чем больше копий, тем меньше шансов у информации исчезнуть без следа. Копии материалов нужны и кажется на первый взгляд, что этот процесс очень прост. Что там сложного? Все умеют копировать с компьютера на флэшку или диск. Вот тебе и копия. Но все становится несколько сложнее тогда, когда у тебя есть структурированный большой массив разнородных материалов, который периодически пополняется и меняется. Простая ситуация: скопировал 5 терабайт, а потом начал приводить в порядок названия папок, вносить уточнения в реестр. Вносить правки параллельно глупо и затратно по времени, особенно, если копий больше чем две и вторая копия хранится в соответствии с рекомендациями в другом здании. Вполне неплохим вариантом может в этом смысле стать хранение копии в каком-нибудь облачном сервисе типа <em>Яндекс диска</em> или <em>DropBox</em>. Минус сервисов очевиден — более-менее приличный объем доступен только за деньги и к тому же платеж не может быть разовым, везде годовая или месячная подписка. Фольклористам это не по карману.<br />Серьезные системы резервного копирования применяющиеся в IT фольклористам тоже не по зубам. Как минимум они требуют опытного системного администратора. Таких в среде фольклористов единицы. Хотя большая часть этих систем абсолютно бесплатна и очень надежна. Начиная с какого-нибудь <em>rsync</em> и заканчивая <em>Bacula</em>. К тому же бесплатные системы чаще всего заточены именно под <em>Linux</em> серверы, а не под сохранение актуальной копии музыкальной медиатеки.</p>
  <h2 id="hXyI">Что нам надо?</h2>
  <ol id="EIPq">
    <li id="CgWt">Автоматическая синхронизация всех имеющихся копий</li>
    <li id="zMUH">Поддержка популярных операционных систем (<em>Windows, MacOS, Linux</em>)</li>
    <li id="8Ud1">Желательно чтобы не надо было заморачиваться с настройкой сети (чтобы не нужен был статический внешний <em>ip</em> адрес и не надо было пробрасывать порты на роутере)</li>
    <li id="l5QA">Чтобы бесплатно</li>
    <li id="c7W2">Чтобы настройка была простой и не требовала каких-то специальных знаний всяких там протоколов и написания конфигурационных файлов.</li>
  </ol>
  <p id="H6f7">Все это возможно. Все это стало возможно после изобретения протокола <em>peer-to-peer</em> — тот самый протокол с помощью которого работет <em>torrent</em>.<br />Есть две замечательные программы и обе бесплатные.</p>
  <figure id="wuaF" class="m_custom">
    <img src="http://arch.folkcentr.ru/pictures/syncthing@2x.jpg" width="216" />
  </figure>
  <figure id="Sc2P" class="m_custom">
    <img src="http://arch.folkcentr.ru/pictures/resilio2@2x.jpg" width="216.9655172413793" />
  </figure>
  <p id="cwl7">Обе программы являются по сути клонами друг-друга, <em>Resilio</em> коммерческий продукт и бесплатен для индивидуального пользования, <em>Syncthing</em> — программа с открытым исходным кодом и разрабатывается на пожертвования пользователей. Я пробовал обе, принципиальной разницы между ними нет, разве что <em>Resilio</em> чуть-чуть больше ориентирован на удобство пользователя.<br />Процесс очень прост, мы устанавливаем программу, указываем ей какую папку нам нужно синхронизировать, программа нам предлагает скопировать ключ доступа и этот ключ доступа мы вводим на другом компьютере где установлена точно такая же программа. При указании папки мы можем задать некоторые опции. Например, одна из опций позволяет не разрешать отправлять изменения с другого компьютера на наш. Менять-то файлы они могут, но эти изменения не отобразятся у нас, в то же время, все изменения которые мы будем проделывать на своей стороне у них будут отображаться. Есть возможность указать удаленному компьютеру хранить версии файлов. Это значит, что при изменении файла на нашем компьютере на удаленном файл будет не перезаписан, а будет создана его копия, а старый будет скрыт, но останется в системе. Это удобно при работе с текстами. Всегда можно откатиться к старому варианту.</p>
  <h2 id="po6C">Безопасность</h2>
  <p id="kJVd">Пункт немаловажный. И тут у обоих программ все очень и очень хорошо. Система устроена так, сервер программы, к которому будут обращаться наши компьютеры отвечает только за соединение их между собой. И то, даже не за соединение, а только указывает им, что они могут соединиться, поскольку у них есть общие ключи о которых сервер тоже ничего не знает, поскольку видит только их контрольные суммы и расшифровать их не может. Их вообще невозможно расшифровать, разве что у вас есть дома квантовый компьютер, который на сегодня даже в прототипах такое делать не может. Само же соединение между двумя программами происходит напрямую и соединение это зашифровано.</p>
  <h2 id="Xadz">Бонус</h2>
  <p id="UPNw">Прелесть <em>peer-to-peer</em> (торрента) в том, что чем больше копий хранится на разных компьютерах, тем быстрее будет происходить синхронизация и тем меньше будет нагрузка на ваш интернет канал. И закон о сохранении информации выполняем и жизнь себе облегчаем.</p>
  <figure id="vXV0" class="m_column">
    <img src="http://arch.folkcentr.ru/pictures/resilio@2x.jpg" width="1636" />
    <figcaption>Интерфейс Resilio</figcaption>
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://kirdik.folkcentr.ru/sozdanie-swap-razdela-2</guid><link>https://kirdik.folkcentr.ru/sozdanie-swap-razdela-2?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik</link><comments>https://kirdik.folkcentr.ru/sozdanie-swap-razdela-2?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik#comments</comments><dc:creator>kirdik</dc:creator><title>Создание swap раздела</title><pubDate>Sat, 05 Nov 2022 15:46:20 GMT</pubDate><category>Linux</category><description><![CDATA[Создание swap раздела на маломощных vps, хорошо когда ваши скрипты падают от недостатка оперативной памяти]]></description><content:encoded><![CDATA[
  <p id="OI7X">Создание swap раздела на маломощных vps, хорошо когда ваши скрипты падают от недостатка оперативной памяти</p>
  <pre id="Es3P" data-lang="bash">free -m # Смотрим что у нас с памятью
mkdir -p /var/_swap_ #Создаем директорию где будет лежать swap
cd /var/_swap_ #Переходим в нее
#Здесь 1M * 2000 ~= 2GB  swap 
dd if=/dev/zero of=swapfile bs=1M count=2000 # Создаем swap файл
mkswap swapfile # Делаем наш пустой файл swap файлом
swapon swapfile # Включаем его в работу
chmod 600 swapfile # Выдаем ему правильные права
echo &quot;/var/_swap_/swapfile none swap sw 0 0&quot; &gt;&gt; /etc/fstab # Включаем его при запуске системы
#cat /proc/meminfo
free -m # Смотрим появился или нет</pre>

]]></content:encoded></item><item><guid isPermaLink="true">https://kirdik.folkcentr.ru/mysql-shpargalka</guid><link>https://kirdik.folkcentr.ru/mysql-shpargalka?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik</link><comments>https://kirdik.folkcentr.ru/mysql-shpargalka?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik#comments</comments><dc:creator>kirdik</dc:creator><title>MySQL шпаргалка</title><pubDate>Sat, 05 Nov 2022 15:35:09 GMT</pubDate><category>Linux</category><description><![CDATA[Создаем пользователя, прописываем в нужной базе привилегии для пользователя, удаляем пользователя.]]></description><content:encoded><![CDATA[
  <p id="s8oR">Создаем пользователя, прописываем в нужной базе привилегии для пользователя, удаляем пользователя.</p>
  <pre id="ldRl" data-lang="sql">CREATE USER &#x27;newuser&#x27;@&#x27;localhost&#x27; IDENTIFIED BY &#x27;password&#x27;;

GRANT ALL PRIVILEGES ON * . * TO &#x27;newuser&#x27;@&#x27;localhost&#x27;;
FLUSH PRIVILEGES;

DROP USER &#x27;demo&#x27;@&#x27;localhost&#x27;;</pre>
  <p id="H9Y6">Множественное объединение в запросе.<br />Есть одна таблица <strong><em>Записи</em></strong></p>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Mede"><strong>Индекс | Дата              | Место                           | Исполнитель1 | Исполнитель2</strong></p>
    <p id="TEe3">1             | 01.02.2003 | Совхоз им. Ленина | 1                         | 2</p>
  </section>
  <p id="VS2d">И вторая таблица с исполнителями <strong><em>Исполнители</em></strong><br /></p>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="jq64"><strong> Индекс             | Имя </strong></p>
    <p id="6GMb">1                       | Иванов Иван Иванович </p>
    <p id="4y7F">2                       | Петров Петр Петрович</p>
  </section>
  <p id="9nn6">нам нужно вывести в запросе все имена вместе с датой и местом</p>
  <p id="vrtr">Запрос будет таков:</p>
  <pre id="fVWE" data-lang="sql">SELECT Дата, Место, Исп1.Имя, Исп2.Имя FROM Записи
#Здесь в селекте используются псевдонимы, 
# которые будут определяться позже в запросе, что вызывает путаницу поначалу
LEFT JOIN Исполнители AS Исп1 ON Записи.Исполнитель1 = Исп1.Индекс
LEFT JOIN Исполнители AS Исп1 ON Записи.Исполнитель2 = Исп2.Индекс
# В left join мы задали те самые алиасы (псевдонимы)</pre>
  <p id="LOFN">Условие совпадения не обязательно могут быть по индексу.<br />Будут выведены все записи, если исполнителя нет, то будет выведено <em>NULL</em></p>
  <p id="fow2">Сам пример не случайный, именно так была устроена база ГРЦРФ. Ошибка здесь в том, что у одной записи строго ограниченное количество исполнителей жестко прошитое в структуре, то же самое было и относительно участников сеанса записи со стороны экспедиции. Правильным решением является соединение через еще одну промежуточную таблицу. Это называется «реляционное деление». В промежуточной таблице указывается id записи в основной таблице «Записи» и id в записи «Исполнители». Соответственно запрос ищет сначала все записи в промежуточной таблице с id потом считывает из поискового запроса все id исполнителей и после этого их подставляет в финальную выдачу.<br />Примера пока нет. Возможно когда-то будет updated.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://kirdik.folkcentr.ru/nastroyka-nginx</guid><link>https://kirdik.folkcentr.ru/nastroyka-nginx?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik</link><comments>https://kirdik.folkcentr.ru/nastroyka-nginx?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik#comments</comments><dc:creator>kirdik</dc:creator><title>Настройка NGINX</title><pubDate>Sat, 05 Nov 2022 15:29:38 GMT</pubDate><category>Linux</category><description><![CDATA[Что бы формировать файл htpasswd и добавлять в него пользователей надо поставить утилиты apache]]></description><content:encoded><![CDATA[
  <pre id="jTYR" data-lang="bash">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 &quot;Restricted Content&quot;; #  Настройка авторизации 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; # Устанавливаем кодировку что бы файлы не читались кракозябрами
         }
   }</pre>
  <p id="snys">Что бы формировать файл htpasswd и добавлять в него пользователей надо поставить утилиты apache</p>
  <pre id="psvH" data-lang="bash">sudo apt-get install apache2-utils -y
sudo htpasswd -c /var/www/.htpasswd newuser 
# создаем файл и одновременно добавляем в него пользователя</pre>

]]></content:encoded></item><item><guid isPermaLink="true">https://kirdik.folkcentr.ru/neyroset-dlya-povysheniya-detalizacii-lic-na-foto</guid><link>https://kirdik.folkcentr.ru/neyroset-dlya-povysheniya-detalizacii-lic-na-foto?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik</link><comments>https://kirdik.folkcentr.ru/neyroset-dlya-povysheniya-detalizacii-lic-na-foto?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik#comments</comments><dc:creator>kirdik</dc:creator><title>Нейросеть для повышения детализации лиц на фото</title><pubDate>Sat, 05 Nov 2022 15:14:56 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/40/27/4027a891-fd5a-4fcd-9fcd-2e9dae1ecd0a.png"></media:content><category>Python</category><description><![CDATA[<img src="https://img2.teletype.in/files/d4/1f/d41f53b5-b0b9-4c6e-9d01-7df7883146dc.jpeg"></img>Собрал колаб для повышения детализации лица на фото в расфокусе. Что это значит? Пример можно посмотреть в карусели ниже. У меня была фотография отца переснятая на смартфон и камера при этом не успела навести резкость. Детали лица потеряны.]]></description><content:encoded><![CDATA[
  <p id="gQoE">Собрал <a href="https://colab.research.google.com/drive/1PAp4g78SnEfhHXM4ai1z-i8mkXmjrIMn?usp=sharing" target="_blank">колаб</a> для повышения детализации лица на фото в расфокусе. Что это значит? Пример можно посмотреть в карусели ниже. У меня была фотография <a href="https://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D1%88%D0%B0%D1%82%D0%BA%D0%B8%D0%BD,_%D0%92%D0%B0%D0%BB%D0%B5%D0%BD%D1%82%D0%B8%D0%BD_%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%87" target="_blank">отца</a> переснятая на смартфон и камера при этом не успела навести резкость. Детали лица потеряны.</p>
  <figure id="TC5K" class="m_original">
    <img src="https://img2.teletype.in/files/d4/1f/d41f53b5-b0b9-4c6e-9d01-7df7883146dc.jpeg" width="400" />
  </figure>
  <figure id="E5eB" class="m_original">
    <img src="http://arch.folkcentr.ru/pictures/mishatkin1.jpg" width="400" />
  </figure>
  <figure id="HJT6" class="m_original">
    <img src="http://arch.folkcentr.ru/pictures/Mishatkin2.jpg" width="400" />
  </figure>
  <p id="ErTu"><a href="https://colab.research.google.com/drive/1PAp4g78SnEfhHXM4ai1z-i8mkXmjrIMn?usp=sharing" target="_blank">Улучшить детализацию лица на фото</a><br /><a href="https://github.com/xinntao/BasicSR" target="_blank">Нейросеть</a> умеет дорисовывать детали у таких фотографий. В карусели видно, что одно и то же фото я обработал два раза. Так же я ее раскрасил в <a href="https://arch.folkcentr.ru/all/raskrashivaem-starye-fotografii-neyrosetyu/" target="_blank">колабе DeOldify</a><br />Я экспериментировал с разными фотографиями. Например я пробовал улучшить лицо <a href="https://kazaki.org/%D0%92%D0%B0%D1%81%D0%B8%D0%BB%D0%B8%D0%B9_%D0%90%D1%80%D1%82%D0%B5%D0%BC%D1%8C%D0%B5%D0%B2%D0%B8%D1%87_%D0%A1%D0%B8%D0%B4%D0%BE%D1%80%D0%BE%D0%B2" target="_blank">Василия Артемьевича Сидорова</a> выдернутое из видео. На третьем фото видны глюки. Я подозреваю, что нейросеть обучена на людях возрастом примерно 25-50 лет и поэтому вместе с улучшением идет и «омоложение» лица. Собрать датасет из лиц пожилого возраста и обучить на них нейросеть дело будущего. Возможно этот пост будет позже дописан.</p>
  <figure id="veDT" class="m_original">
    <img src="http://arch.folkcentr.ru/pictures/yam02@2x.jpg" width="500" />
  </figure>
  <figure id="3rVv" class="m_original">
    <img src="http://arch.folkcentr.ru/pictures/yam03@2x.jpg" width="600" />
  </figure>
  <p id="ia0T">Однозначно лучше работает на фото строго в анфас, но ничего не мешает вам попробовать и другие фото. Необязательно загружать портрет, нейросеть улучшит детализацию лица, остальное оставит таким как было при этом, повысит разрешение картинки примерно в два раза.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://kirdik.folkcentr.ru/kazachyi-tradicii-vizualizaciya</guid><link>https://kirdik.folkcentr.ru/kazachyi-tradicii-vizualizaciya?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik</link><comments>https://kirdik.folkcentr.ru/kazachyi-tradicii-vizualizaciya?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik#comments</comments><dc:creator>kirdik</dc:creator><title>Казачьи традиции: визуализация культурных ценностей и смыслов</title><pubDate>Sat, 05 Nov 2022 13:14:21 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/bd/c0/bdc0e168-51b7-43c5-979b-1145d90dd72e.png"></media:content><category>казаки</category><description><![CDATA[<img src="https://img1.teletype.in/files/4c/94/4c949d2e-5b5f-4c06-9f09-e1a36ef35b72.jpeg"></img>Казачья мода менялась на протяжении всей истории казачества. Считается, что на заре становления Войска Донского, казаки одевались, не сообразуясь с каким-то устоявшимися обычаями и привычками. Причиной этому был полукочевой военный образ жизни. Одежду было принято добывать в походе, сами походы казаки называли «походами за зипунами*». Конечно,­­ это не означает, что казаки одевались исключительно в трофейные кафтаны, снятые с поверженного врага. С самого начала отношений Войска Донского и Москвы казаки получали за свою военную помощь жалование, которое выплачивалось не только деньгами, но и в большей части свинцом, порохом и сукном. Помимо военного ремесла казаки так же активно занимались и торговлей, поскольку занимали выгодное для...]]></description><content:encoded><![CDATA[
  <p id="gA7h">Казачья мода менялась на протяжении всей истории казачества. Считается, что на заре становления Войска Донского, казаки одевались, не сообразуясь с каким-то устоявшимися обычаями и привычками. Причиной этому был полукочевой военный образ жизни. Одежду было принято добывать в походе, сами походы казаки называли «походами за зипунами*». Конечно,­­ это не означает, что казаки одевались исключительно в трофейные кафтаны, снятые с поверженного врага. С самого начала отношений Войска Донского и Москвы казаки получали за свою военную помощь жалование, которое выплачивалось не только деньгами, но и в большей части свинцом, порохом и сукном. Помимо военного ремесла казаки так же активно занимались и торговлей, поскольку занимали выгодное для этого географическое положение, что тоже служило источником для пополнения казачьего гардероба.</p>
  <figure id="XpoX" class="m_column">
    <img src="https://img1.teletype.in/files/4c/94/4c949d2e-5b5f-4c06-9f09-e1a36ef35b72.jpeg" width="1701" />
  </figure>
  <figure id="CVI6" class="m_column">
    <img src="https://img2.teletype.in/files/d5/16/d516d222-b3bb-4347-881f-ccbeddfe3678.jpeg" width="1700" />
  </figure>
  <figure id="ZkTQ" class="m_column">
    <img src="https://img3.teletype.in/files/e0/ad/e0adbfab-60ff-4c7a-aaaf-813f1567fe53.jpeg" width="1700" />
  </figure>
  <figure id="Yp8G" class="m_retina">
    <img src="https://img4.teletype.in/files/72/21/7221346d-c3bb-48e2-bffe-ec25335608cc.jpeg" width="680" />
  </figure>
  <figure id="4qCo" class="m_retina">
    <img src="https://img2.teletype.in/files/5f/9a/5f9a20fb-6b62-48ee-94d9-b13a4a43d141.jpeg" width="680" />
  </figure>
  <figure id="SOnL" class="m_retina">
    <img src="https://img3.teletype.in/files/ee/c7/eec7fe5b-cab0-4eae-b5e2-90eebd3b702e.jpeg" width="680.5" />
  </figure>
  <p id="VNYv">До наших дней дошла легенда о появлении на шароварах* у донских казаков алых лампасов*.</p>
  <blockquote id="68JL">В один год пришло казакам жалование, часть из которого была выплачена сукном синего цвета, а часть сукном красного. Красного сукна было очень мало, и казаки, ценившие в первую очередь в своей среде равенство решили — нельзя чтобы кто-то один был в красном кафтане (красный цвет в те времена ценился выше остальных), поэтому каждому досталось по одной длинной ленте красного сукна, которой хватило только на то, чтобы пришить себе ее на шаровары на месте наружного шва.</blockquote>
  <p id="dx2a">Примечательно отношение казаков к одежде. В поход старались одеть что-то похуже и попрактичней, нательный крест сменяли на медный — ничто не должно было прельстить врага для наживы. До сих пор сохранились в быту казачьи пословицы — «Зипуны-то у нас серые, зато умы бархатные», «Казака и в рогожке видать». Высшей ценностью у казаков конечно же была добытая в бою или в деле слава. Поэтому все мирские ценности считались преходящими и выражалось это, например в том, что казак, одетый по последней моде в шелк парчу и бархат, мог усесться во всем этом великолепии на землю в пыль и грязь только для того, чтобы обсудить с другом свои домашние дела.</p>
  <p id="SYce">Сохранился документ 1701 года из Посольского приказа*, где зафиксированы слова донского атамана, адресованные царю, что казаки носят черкесскую, русскую, калмыцкую одежду. Немецкая же не в моде и нет мастеров способных ее пошить.<br />Право носить ту одежду какую кто хочет и бороды закрепленное еще Петром Первым сохранялись за казаками вплоть до 1801 года, когда царским указом во всем войске была введена форма единого образца. До этого единую форму носили только, служащие при царе в столице полки, в первую очередь лейб-гвардия. Пошитая в 1801 году форма была не очень удобной, сохранились воспоминания о том, как казаки после приказа к атаке буквально на ходу срывали с себя куртки стеснявшие движения и только потом неслись во весь опор в атаку.<br />Вместе с сменявшимися монархами, меняющейся модой и в соответствии с требованиями времени менялась и казачья форма — справа, как ее называли казаки. Вместе с формой так же и менялась одежда, носимая в быту. При разработке формы учитывались привычки и опыт самих казаков, это послужило тому, что основные элементы формы создавались на основе того, что носили казаки в быту. Чекмень*, бешмет*, шаровары*, бекеша*, папаха и прочее. Образ воина — донского казака дошедший о нас благодаря многочисленным экранизациям произведений Шолохова, это результат ряда последних перед революцией реформ военного министерства с 1907 по 1912 годы, где уже присутствуют одинаковая для всех войск защитного цвета гимнастерка.</p>
  <p id="hGcY">Казачки, так-же как и мужчины одевались в разные по своему происхождению наряды. В ходу была одежда тюркская, черкесская и русская. Общим правилом для мужчин и для женщин было то, что на юге — Нижнем Войске Донском, более были распространены предметы тюркского и кавказского происхождения, на севере — Верхнем Войске Донском преобладала одежда русского происхождения. Общим и особо полюбившимся нарядом для обоих Войск в некоторый момент времени стало платье «кубелёк», что в переводе с татарского означает «мотылёк». Молодые казачки победнее могли даже наниматься к подругам побогаче, чтобы взять на прокат за проделанную работу на праздник заветное платье. Начиная примерно с начала XIX века на смену «кубелеку» приходит городской костюм «парочка», состоявший из кофты различных кроев и юбки. Строго говоря «парочкой», принято было называть кофту и юбку, сшитую из одинаковой ткани. Вопреки распространенному сейчас представлению кофты были популярны не приталенные, что обуславливалось в первую очередь именно практической стороной. В те времена и близко не было такого понятия как «одежда для беременных» и соответственно, крой женской одежды был более универсальным. Хотя безусловно, казаки как одно из наиболее зажиточных сословий в своем «арсенале» женских нарядов имели и более приталенные варианты кофт. Очень красивы сами их названия: кираса, бабёшка, баска, матынё, принцесса. В начале XX века казачки одни из первых перенимают более современные кофты и юбки в новомодном стиле «Модерн».</p>
  <p id="9tNA">Повсеместного обычая шить детям специальную одежду у казаков, как и во всей России не было. Это было обусловлено тем, что ребенок существо растущее, и ежегодный пошив нового костюмчика был нецелесообразен. Дети донашивали друг за другом рубашки, порты, картузы и прочее. Все что было на детях, чаще всего перешивалось из того, что уже пришло в негодность для старших. Тем не менее, есть фото-свидетельства рубежа XIX — XX веков, на которых дети, не достигшие порой и десятилетнего возраста одеты в аккуратные по размеру шаровары, рубашку, папаху, сапоги и подпоясаны соответствующего размера поясом. Надо понимать, что здесь все-таки мы имеем дело скорей с исключением, чем с правилом. Такую роскошь могли себе позволить далеко не все и конечно же такие костюмчики шились для ношения в праздники, а не в будни. Начиная с двенадцати лет, казачонка начинали допускать слушателем на станичный круг, ему шилась справа и покупалась детская шашка.</p>
  <h2 id="uh9G">Наши дни</h2>
  <p id="n42Q">Спустя почти сто лет в наше время указом президента была введена новая форма для казачьих общественных организаций. Основу для этой формы послужила форма военнослужащих других войск. Пожалуй, единственными элементами, которые остались от традиционной казачьей одежды в современной форме являются красные лампасы, синий цвет самой формы и папаха.</p>
  <p id="GScF">То, как сейчас одеваются некоторые казачки войсковых обществ может вызвать и недоумение. Появилась тенденция среди женщин наравне с мужчинами носить форменную одежду. Например, такой исключительно мужской атрибут одежды как папаха уже устойчиво перекочевал на головы современных женщин членов казачьих обществ. Не являются исключением и шаровары с лампасами.<br />В станице Вёшенской — на родине прославленных героев романа Тихий Дон в сувенирной лавке можно приобрести «женскую папаху» с вставкой из павлопосадского платка. Также с не меньшим удовольствием женщины носят и фуражки, черкески*, огромной популярностью среди женщин пользуются такие мужские казачьи забавы как фланкировка шашкой* и даже джигитовка*. Все это отчасти понятно, вместе со временем меняются и люди, женская эмансипация делает свое дело.<br />В казаки записываются люди выросшие в городской среде не знакомые ни с историей, ни с традициями и культурой казаков увлеченные идеей служения родине и оторванные от собственных корней.<br />Но, есть и другие течения в современной казачьей среде. Есть казачьи сообщества, клубы, песенные ансамбли, занимающие активную позицию в отношении сохранения традиций и разграничения мужской и женской роли в семье и обществе. Есть попытки переосмыслить создать новые мужские и женские модели одежды на основе традиционных образцов более созвучные современности. Все это невозможно осуществить без кропотливой работы по изучению исторического наследия. Конечно, в таких прославленных музеях как Новочеркасский исторический музей, Русский этнографический музей в Санкт-Петербурге, Вешенский исторический музей собраны и хранятся довольно внушительные коллекции образцов казачьей этнографии. Но наряду с этим в областных районных и в некоторых случаях даже хуторских и школьных музеях еще можно встретить удивительные образцы. Например: частой находкой являются шаровары и мундиры, пошитые казакам в 1912 году к столетию войны 1812 года для участия в параде. Шали, парочки, шубы, бешметы все это представляет живой интерес для тех, кто хочет узнать подлинный образ одного из самых ярких и удивительных явлений в российской истории.</p>
  <h2 id="BATd">Школа на Дону</h2>
  <p id="9PVx">В 2014 году, Государственным республиканским центром русского фольклора (ныне ЦРФ ГРДНТ им. В.Д. Поленова), был осуществлен проект задуманный еще в семидесятые годы прошлого столетия выдающимся собирателем фольклора А.С. Кабановым — «Школа на Дону», суть которого сводится к тому, что современные городские ансамбли приезжают в экспедицию на территорию бывшей Области Войска Донского (часть Волгоградской и Ростовской областей), записывают фольклор от местных жителей, после в зимний период учат наиболее понравившиеся песенные образцы и в следующий год приезжают на прежнее место чтобы предстать на суд тех, от кого эти песни были записаны. Участники не забывали обследовать и местные краеведческие музеи, в ходе этого обследования было решено сделать фото-альбом с образцами казачьей одежды для того, чтобы ансамбли могли не только звучать максимально приближенно к оригиналу, но и выглядеть соотвественно. Конечно, хотелось, чтобы фотографии выглядели в первую очередь убедительно. Для этого было решено снимать образцы не на манекенах, а одетыми на живых людей. Моделями выступают сами участники ансамблей. Для еще большей выразительности к фотографиям применяется цифровая реставрация одежды. В фоторедакторе убираются дыры, выгоревшие места, в некоторых случаях делается «подгонка под рост».</p>
  <p id="8uYT"><strong><em>Зипун</em></strong> — верхняя одежда у крестьян. Представляет собой кафтан без воротника, изготовленный из грубого самодельного сукна ярких цветов со швами, отделанными контрастными шнурами.<br /><strong><em>Лампас</em></strong> (от фр. Lampas) или Ланпас — широкая прошивка сбоку по шву вдоль блюк, сверху до низу, отличная от цвета материи брюк, употребляется преимущественно в военной форме одежды.<br /><strong><em>Чекмень</em></strong> — верхняя мужская одежда, в виде казакина, в переходной форме между халатом и кафтаном.<br /><strong><em>Бешмет</em></strong> — (аналог рубахи-гимнастерки) до колен или короче с закрытой грудью, с цельными передними полами, правая поверх левой, с мягким воротником и с застежками на крючках посредине груди, при спине по талии-обрезной и с двумя-тремя парами складок от пояса вниз, со свободными рукавами<br /><strong><em>Бекеша</em></strong> — верхняя мужская зимняя одежда в виде короткого кафтана со сборками на спине и меховой отделкой<br /><strong><em>Посольский приказ</em></strong> — центральное правительственное учреждение в Москве в 1549—1720 годах, ведавшее сношениями с иностранными государствами, выкупом и обменом пленными, управлял рядом территорий на юго-востоке страны и некоторыми категориями служилых людей.<br /><strong><em>Фланкировка</em></strong> — комплекс упражнений, нарабатывающих культуру и навык обращения с холодным оружием, или его конструктивными аналогами (спортивным оружием).<br /><strong><em>Джигитовка</em></strong> — скачка на лошади, во время которой наездник выполняет гимнастические и акробатические трюки, военно-прикладной вид конного спорта.<br /><strong><em>Черкеска</em></strong> — русское название верхней мужской одежды — кафтана, которая была распространена в обиходе фактически у всех народов Кавказа в том числе и у казаков.</p>
  <p id="Cz32">Моя статья в журнале <a href="https://traditionsjournal.ru/july_2021_3" target="_blank">«<u>Традиции</u>»</a> 2021 г.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://kirdik.folkcentr.ru/obzor-freymvorkov-dlya-sozdanie-banka-dannyh</guid><link>https://kirdik.folkcentr.ru/obzor-freymvorkov-dlya-sozdanie-banka-dannyh?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik</link><comments>https://kirdik.folkcentr.ru/obzor-freymvorkov-dlya-sozdanie-banka-dannyh?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik#comments</comments><dc:creator>kirdik</dc:creator><title>Обзор фреймворков для создание Банка данных фольклорно-этнографических записей</title><pubDate>Sat, 05 Nov 2022 13:08:46 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/dc/42/dc42cd8b-1dc5-4118-a85f-b8f81011cead.png"></media:content><category>архив</category><description><![CDATA[<img src="http://arch.folkcentr.ru/pictures/server_fem1@2x.jpg"></img>Необходим инструмент для систематизации и работы с записями полученными в ходе экспедиций. Что для этого можно использовать? Простые таблицы Exel, может какие-то готовые программы можно приспособить под эти нужды или стоит написать свою программу? Что это будет за программа? Её устройство?
Есть кажущаяся простота решения проблемы — найти программиста, заплатить за работу и он все сделает. Но на практике всё оказывается сложнее. Программисты не понимают специфики работы с фольклорным материалом, фольклористы не знают технологий и все это выливается в перерасход средств и не удовлетворительный результат.]]></description><content:encoded><![CDATA[
  <h2 id="xUMr">Задача</h2>
  <p id="zCoa">Необходим инструмент для систематизации и работы с записями полученными в ходе экспедиций. Что для этого можно использовать? Простые таблицы <em>Exel</em>, может какие-то готовые программы можно приспособить под эти нужды или стоит написать свою программу? Что это будет за программа? Её устройство?<br />Есть кажущаяся простота решения проблемы — найти программиста, заплатить за работу и он все сделает. Но на практике всё оказывается сложнее. Программисты не понимают специфики работы с фольклорным материалом, фольклористы не знают технологий и все это выливается в перерасход средств и не удовлетворительный результат.</p>
  <h2 id="NRHM">Требования</h2>
  <p id="nF6J">Для начала важно понять какие требования мы предъявляем к программе которой мы будем пользоваться.</p>
  <ol id="UeC0">
    <li id="VaC9">Оперативный доступ к материалу и его описанию.</li>
    <li id="obhd">Совместный доступ</li>
    <li id="FtxR">Делегирование различных прав доступа пользователям</li>
    <li id="Pajp">Доступ не требующий установки дополнительного программного обеспечения</li>
    <li id="d9pw">Независимость от разработчика</li>
    <li id="DHhi">Простота в установке и переносе на другой компьютер</li>
    <li id="O2H2">Независимость от типа операционной системы компьютера</li>
  </ol>
  <p id="KpnL">Немного по пунктам.<br />Оперативный доступ — в идеале это доступ с любого компьютера в организации, возможно даже из дома и с мобильного телефона.<br />Совместный доступ — возможность работы одновременно всем сотрудникам. Не нужно идти к одному ответственному сотруднику и загружать его рутинными задачами по поиску нужной записи.<br />Делегирование прав — возможность ограничивать доступ на редактирование записей, на какие-то разделы.<br />Доступ не требующий установки программ — идеальное решение, это доступ через браузер. Раз уж у нас есть необходимость совместной работы которое обуславливает структуру <em>сервер — клиент</em>, вполне логично, что клиентом будет выступать браузер (<em>Chrome</em>, <em>Firefox</em>, <em>Edge</em> ).</p>
  <blockquote id="ug5s"><em>Если изучить сборник <a href="https://www.litres.ru/raznoe-4340152/multimediynye-i-cifrovye-tehnologii-v-sobiranii-so-55342478/" target="_blank">Мультимедийные и цифровые технологии в собирании, сохранении и изучении фольклора</a> по результатам одноименной конференции, то можно отметить, что большинство решений используемых для построения таких систем сделаны при помощи WEB технологий</em></blockquote>
  <h2 id="0Q7i">Готовые решения</h2>
  <p id="N8iM">Из наиболее популярных <em>CMS</em> (системы управления содержимым сайта) можно выделить такие как: <a href="https://ru.wordpress.org/" target="_blank"><em>Wordpress</em></a>, <a href="https://www.drupal.org/" target="_blank"><em>Drupal</em></a>, <a href="https://www.joomla.org/" target="_blank"><em>Joomla</em></a>, <a href="https://www.mediawiki.org/wiki/MediaWiki" target="_blank"><em>MediaWiki</em></a></p>
  <p id="clgb">Первые три — <em>Wordpress, Drupal, Joomla</em> являются блоговыми или новостными движками ориентированными на решение таких задач как новостной блог, сайт организации, интернет магазин и так далее. Страницы которые создаются в интерфейсе администратора ориентированы на размещение статей, вывод страниц на сайте по умолчанию в виде новостной ленты с заголовком и тизером, порядок вывода по дате добавления.<br />Для возможности формирования своей структуры, логики и типов статей необходимо искать и устанавливать расширения. Плюсом этих систем является низкий порог вхождения для редактора. Минусом — необходимость устанавливать и настраивать расширения.</p>
  <p id="7YqY"><em>MediaWiki </em>— совершенно отличная от этих трех система. Это свободно распространяемый движок на котором работает известный сайт <a href="https://ru.wikipedia.org/" target="_blank"><em>Wikipedia</em></a>. Он очень хорошо подходит для публикации материалов энциклопедического характера, позволяет выстраивать сложные семантические связи и организовывать данные в различного уровня сложности структуру. Плюсом системы можно отметить то, что идеально подходит для построения на ней системы учета фольклорно-этнографических материалов. Минусом — сложность освоения для редактора. Все материалы оформляются при помощи специальной разметки <em>markdown</em>, структура и ссылки так же требует оформления через специальный синтаксис. Для более удобной работы так же требуется поиск и установка расширений.</p>
  <p id="KN6g">Общим минусом у всех готовых решения является необходимость их установки на выделенный сервер.<br />В случае если эти системы устанавливаются автоматически на сервере платного хостинга, то мы получаем ограничение в виде дороговизны дискового пространства. В нашем случае это очень важный показатель, так как аудио, видео и фото даже при сжатии занимают много места.</p>
  <blockquote id="OqIs">Здесь я хотел бы отметить важный момент. Говоря вообще о создании такой системы я подразумеваю, что материалы в систему будут вноситься в сжатом формате. Аудио — <em>mp3</em> или <em>ogg</em>, у видео будет снижен битрейт и сжат кодеком <em>h264</em> (<em>mp4</em>), изображения будут конвертированы в <em>JPEG</em> с разрешением оптимальным для полноэкранного просмотра. Опыт работы с архивом показывает, что объем при этом можно уменьшить на 60%-70% без сильно видимых и слышимых потерь в качестве.</blockquote>
  <p id="BVp5">В случае же если мы ставим систем на свой личный сервер, то мы упираемся в сложность настройки и администрирования самого сервера.</p>
  <figure id="hm4o" class="m_custom">
    <img src="http://arch.folkcentr.ru/pictures/server_fem1@2x.jpg" width="700" />
  </figure>
  <p id="cpZH">Схема приведена не для того, чтобы разобраться в устройстве. Здесь я хочу обратить внимание, что для запуска <em>CMS</em> придется настроить минимум три серверные программы (<em>Apache, PHP, MySQL</em>), при этом все это необходимо настраивать в операционной системе <em>Linux</em>. Справедливости ради надо отметить, что все это можно сделать и на <em>Windows</em>, но надежность такой установки авторы всех этих программ не гарантируют. Версии под <em>Windows</em> служат в основном для разработки.<br />Всё это вкупе с минусами готовых решений подвигает нас к созданию какого-то своего более удобного решения.</p>
  <h2 id="oJsC">Фреймворки</h2>
  <p id="rPiU">На  <a href="https://ru.wikipedia.org/wiki/%D0%A4%D1%80%D0%B5%D0%B9%D0%BC%D0%B2%D0%BE%D1%80%D0%BA" target="_blank">Википедии слово <em>фреймворк</em></a> объясняется как <em>каркас</em> для создания программного продукта. Мне больше нравится в этом смысле аналогия с полуфабрикатом. Фреймворк, это полуфабрикат для программиста. Очень важно, что на полуфабрикате так же указан точный рецепт приготовления блюда.<br />Фреймворки, это написанный заранее каркас программы где программист в процессе разработки своего приложения пишет код по уже заданным правилам. Свобода в создании продукта остается, поскольку в его ведении остаются типы страниц, внутренняя логика и структура. В фреймворке уже решены все типовые задачи — авторизация, полномочия, построение зависимостей между компонентами и так далее. Все это дает в первую очередь независимость заказчика от программиста и скорость разработки, поскольку базовая часть уже написана заранее.</p>
  <figure id="QSSk" class="m_custom">
    <img src="http://arch.folkcentr.ru/pictures/server_fem2@2x.jpg" width="700" />
  </figure>
  <p id="tqPu">В ситуации когда код программы написан с нуля одним программистом найти замену или кого-то кто смог бы доработать, обновить или в некоторых случаях даже перенести на новый сервер очень проблематично. Разобраться в чужом коде для нового человека будет крайне непросто. Это называется <em>проектные знания</em>. Для того, чтобы снизить порог вхождения программиста в новый проект и были придуманы фреймворки. Код написан по строго определенным правилам, программист приходит в проект уже зная необходимый базис (базовые знания и стек технологий), время на изучения специфики проекта уменьшается. Как компромисс возможно рассматривать готовые решения как базовую часть кода и дописывать необходимый функционал. Такое решение используется в  <a href="https://www.mosconsv.ru/ru/groups.aspx?id=120430" target="_blank">Научном центре народной музыки им. К. В. Квитки МГК</a> на базе <em>CMS Joomla</em>.</p>
  <p id="pjJC">Следующим плюсом использования <em>web</em> фреймворков в контексте создания системы учета для фольклорно-этнографических материалов является тот факт, что многие из популярных фреймворков уже имеют встроенную программу-сервер разработки.</p>
  <figure id="vx0u" class="m_custom">
    <img src="http://arch.folkcentr.ru/pictures/server_fem3@2x.jpg" width="700" />
  </figure>
  <p id="2KyZ">Сервер разработки, это встроенная команда в фреймворке, которая позволяет запустить проект и проверить его со стороны пользователя без необходимости настройки всего пула программного обеспечения как на реальном сервере. Сервер разработки не рекомендован для публикации его в сети интернет. Но в действительности он способен обеспечить стабильность и надежность его использования для одновременного пользования 10-30 человек. Возможно и больше, но для наших задач, это вполне достаточно, учитывая тот факт, что программу всегда при необходимости можно перенести на боевой сервер. Все дело в том, что вышеописанный набор программ необходимый для запуска приложения на сервере <em>Linux</em> предназначен именно для того, чтобы сайт мог справляться с нагрузкой более 1000 запросов в секунду.<br />Если уж проект вырастет до такой степени, что ему потребуется справляться с подобным наплывом посетителей, то ничего не мешает запустить все это на реальном сервере по вышеозначенной схеме.</p>
  <h2 id="JJNz">Обзор</h2>
  <p id="OhmL">В обзоре я постарался показать самые популярные бесплатные фреймворки.<br />Все они независимы от типа операционной системы, все они легко запускаются при помощи единственной команды и все они могут быть перенесены с одного компьютера на другой путем простого копирования. Обязательным условием для них всех, это наличие на компьютере предварительно установленного интерпретатора того языка на котором они написаны. Установка эта ничем не отличается от установки любой программы вроде Google Chrome или Skype. Так же возможно в процессе разработки надо будет поставить задачу программисту написать скрипт настройки рабочего окружения для первого старта. В действительности это еще две — три команды которые запускаются один раз перед первым запуском. Я подчеркиваю тот факт, что это требуется именно для переноса серверной части программы. Клиенту работающему с ней через браузер ничего настраивать не нужно.</p>
  <p id="Xphj">Почему имеет смысл выбирать популярные решения, а не те, которые удобны разработчику? Возможно вашему знакомому или предложившему хорошую цену, но с условием что выбор фреймворка за ним?<br />Популярность является некоторым гарантом того, что :</p>
  <ul id="ygba">
    <li id="m7RX">они дольше будут актуальны</li>
    <li id="6qUK">у них чаще выходят обновления</li>
    <li id="5pmt">в них быстрее находятся и устраняются уязвимости</li>
    <li id="Oajd">у них больше расширений написанных сообществом</li>
    <li id="7sVi">для разработки проще найти программиста</li>
    <li id="dlB0">проще при случае разобраться самому, так как больше обучающих материалов с сети</li>
  </ul>
  <h2 id="Iin6">ТОП три web фреймворка на 2021 год</h2>
  <p id="uRok">1) <a href="https://laravel.com/" target="_blank">Laravel</a> написанны на языке <em>PHP</em></p>
  <figure id="P1gG" class="m_custom">
    <img src="http://arch.folkcentr.ru/pictures/server_fem4@2x.jpg" width="150" />
  </figure>
  <p id="NBtg"><em>PHP</em> самый распространенный язык для сайтов в интернете. Все готовые решения приведенные выше написаны именно на нем. В <em>PHP</em> встроенный сервер разработки появился недавно, он достаточно прост, но вполне надежен. <em>Laravel</em> не может похвастаться тем, что его используют какие-либо крупные компании, но количество проектов на нем доказывает, что это очень хорошее решение для небольших и средних проектов. Так же плюсом можно выделить то, что большинство на большинстве хостингов <em>PHP</em> утсановлен по умолчанию даже на самых дешевых тарифах.</p>
  <p id="Mh2M">2) <a href="https://rubyonrails.org/" target="_blank">Rails</a> написанный на языке <em>Ruby</em></p>
  <figure id="Lek0" class="m_custom">
    <img src="http://arch.folkcentr.ru/pictures/server_fem5@2x.jpg" width="150" />
  </figure>
  <p id="54tS">Пик популярности фреймворка пришелся на 2013 — 2015 годы, первый выпуск — 2004 год. Rails используется в таких крупных компаниях как Airbnb, Twitch, GitHub, Spotify, SoundCloud. Движок очень удобен для разработки, прост в освоении. Минус — малое количество хостингов с поддержкой <em>Ruby</em>.</p>
  <p id="uzlC">3)<a href="https://www.djangoproject.com/" target="_blank"> Django</a> написанный на <em>Python</em></p>
  <figure id="mgvn" class="m_custom">
    <img src="http://arch.folkcentr.ru/pictures/server_fem6@2x.jpg" width="150" />
  </figure>
  <p id="Fei4">Очень популярный фреймворк, в подавляющем большинстве курсов по изучению языка <em>Python</em> используется в программе обучения, несмотря на то, что на <em>Python</em> есть и другие популярные фреймворки. <em>Django</em> используется в <em>Instagram, Mozilla, National Geographic, Pintertest, Youtube</em>. Еще одним из косвенных преимуществ <em>Django</em> является то, что язык <em>Python</em> активно используется в работе с нейронными сетями, что на мой взгляд является будущим в сфере обработки и анализа фольклорно-этнографических материалов.<br />Минус — малое количество хостингов с поддержкой <em>Python</em>.</p>
  <blockquote id="0u70">Последние пункты (плюсы и минусы) относительны, поскольку при запуске такого рода проектов в сеть стандартный хостинг уже не подойдет и необходимо будет арендовать выделенный сервер, где все настраивается вручную.</blockquote>
  <h2 id="1I8S">Итоги</h2>
  <p id="gAjG">Помимо приведенных выше, конечно есть еще много популярных других. Например обязательно стоит упомянуть связку <a href="https://nodejs.org/" target="_blank">Node.js</a> + <a href="https://expressjs.com/" target="_blank">Express</a> написанную на <em>Java</em>. Достаточно сказать, что именно на <em>Node.js</em> работает платежная система <em>PayPal</em>. Для <em>Python</em> стоит упомянуть такие фреймворки как <em>Flask</em> и <em>FastAPI</em>, для <em>PHP</em> — <em>Symphony</em> и <em>YII2</em>. Многие программисты отдают им предпочтение и часто это обусловлено в том числе и необходимостью иметь больше свободы для написания кода и интеграции с какими-нибудь другими системами. Но поскольку мы рассматривали эти продукты именно с точки зрения создания удобной и дешевой системы для фольклорно-этнографических материалов, то здесь мне кажется — чем проще, тем лучше. Чем популярней, тем надежней.</p>
  <h2 id="wxTa">P.S</h2>
  <p id="bQdI">В данный момент мной ведется разработка <a href="https://github.com/kirdik/folklore_base" target="_blank">Банка данных</a> для архива <a href="http://folkcentr.ru/" target="_blank">Центра русского фольклора</a> на <em>Django</em>.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://kirdik.folkcentr.ru/prostoy-skript-dlya-avtomaticheskogo-poiska-geo</guid><link>https://kirdik.folkcentr.ru/prostoy-skript-dlya-avtomaticheskogo-poiska-geo?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik</link><comments>https://kirdik.folkcentr.ru/prostoy-skript-dlya-avtomaticheskogo-poiska-geo?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kirdik#comments</comments><dc:creator>kirdik</dc:creator><title>Простой скрипт для автоматического поиска геокоординат</title><pubDate>Sat, 05 Nov 2022 13:03:45 GMT</pubDate><category>Python</category><description><![CDATA[Скрипт написан на Python. На вход принимает csv файл:]]></description><content:encoded><![CDATA[
  <p id="kfPH">Скрипт написан на Python. На вход принимает csv файл:</p>
  <pre id="KYwS" data-lang="bash">Курская обл.;Ль район;с. Иванчиково
Курская обл.;Суджанский район;с. Плёхово
Курская обл.;Железногорский район;с. Жидеевка
Курская обл.;Железногорский район;Новый Бузец
Курская обл.;Железногорский район;с. Старый Бузец
Владимирская обл.;Судогодский район;Аксеново
Владимирская обл.;Суодский район;Карпово
Владимирская обл.;Судогодский район;Слащево
Архангельская обл.;Котласский район;г. Сольвычегодск</pre>
  <p id="cdpk">На выходе будет csv файл уже с координатами. Если не удается найти координаты, то будет записано пустое значение.</p>
  <pre id="ttca" data-lang="bash">Курская обл.;Ль район;с. Иванчиково;
Курская обл.;Суджанский район;с. Плёхово;51.1007804,35.3290548
Курская обл.;Железногорский район;с. Жидеевка;52.1923663,35.4500001
Курская обл.;Железногорский район;Новый Бузец;52.164154,35.484161
Курская обл.;Железногорский район;с. Старый Бузец;52.199837,35.5330842
Владимирская обл.;Судогодский район;Аксеново;56.0756071,40.761767
Владимирская обл.;Суодский район;Карпово;
Владимирская обл.;Судогодский район;Слащево;56.0697562,40.8062814
Архангельская обл.;Котласский район;г. Сольвычегодск;61.3315511,46.9311295</pre>
  <p id="ltX9">Вся эта штука работает с <a href="https://nominatim.org/" target="_blank">API Nominatim</a>, поэтому конечно же нужен интернет, ну и есть вероятность каких-то лимитов.<br />Собственно код:</p>
  <pre id="k7ws" data-lang="python">from geopy.geocoders import Nominatim
import csv
with open(&#x27;test.csv&#x27;, newline=&#x27;&#x27;, encoding=&#x27;utf-8-sig&#x27;) as File:
    reader = csv.reader(File, delimiter=&#x27;;&#x27;)
    data = list()
    for row in reader:
        loc = row
        try:
            geolocator = Nominatim(user_agent=&quot;my_request&quot;)
            location = geolocator.geocode(loc)
            point = str(location.latitude) + &#x27;,&#x27; + str(location.longitude)
        except:
            point = &#x27;&#x27;
        row.append(point)
        data.append(row)
myFile = open(&#x27;out.csv&#x27;, &#x27;w&#x27;)
with myFile:
    writer = csv.writer(myFile, delimiter=&#x27;;&#x27;)
    writer.writerows(data)

print(&quot;Writing complete&quot;)</pre>

]]></content:encoded></item></channel></rss>