Как стать автором
Обновить

Пара примеров возможного практического применения интернет страничек «без хостинга»

Уровень сложностиСредний
Время на прочтение28 мин
Количество просмотров1.5K

Не так давно опубликовал у себя на Дзене и во ВКонтакте ссылки на калькулятор, который "предназначен для быстрого поиска такого рода события: пусть в начале интервала наблюдения объект присутствует на видео, в конце - нет. Задача состоит определить, в какой момент времени объект пропал. Важно, что это событие носит однократный характер: до него объект на картинке есть, после - нет." и даже видео (1, 2) с демонстрацией работы выложил. Теперь, возможно, стоит поделиться тем, как это может быть реализовано (bisect_data.py):

#! python3.12

import lzma
import base64


if __name__ == "__main__":
    with open("bisect_data.txt", "w", encoding="utf-8") as f:
        f.write('https://itty.bitty.site/%D0%91%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F/#/'+base64.b64encode(lzma.compress(bytes(r'''
<script type="text/javascript">
function setCurrent(direction){
    function formattedDate(datetime){return datetime.toLocaleString().replace(/(\d{2})\.(\d{2})\.(\d{4}),\s/, "$3-$2-$1T").replace(/:\d+$/, "")}
    function bisect(){return Math.round((begin+end)/2)}
    var begin = new Date(document.getElementById("begin").value).getTime()||0;
    var end = new Date(document.getElementById("end").value).getTime()||0;
    if(!(begin*end))return;
    if(end<begin){
        var temp = begin; begin = end; end = temp;
        document.getElementById("begin").value = formattedDate(begin);
        document.getElementById("end").value = formattedDate(end);
    }
    var current = bisect();
    if(direction>0){
        begin = current;
        document.getElementById("begin").value = formattedDate(new Date(begin));
    }else if(direction<0){
        end = current;
        document.getElementById("end").value = formattedDate(new Date(end));
    }
    document.getElementById("current").value = formattedDate(new Date(bisect()));
}
</script>
<div style="width: 325px;">
    Начало:&nbsp;<input type="datetime-local" id="begin" onchange="setCurrent(0)" /><br/>
    <div style="display: flex;">
        <div>
            <input type="button" value="Ранее" onclick="setCurrent(-1)" />
        </div>
        <div style="margin: 0px 11px;">
            <input type="datetime-local" id="current" readonly />
        </div>
        <div>
            <input type="button" value="Позднее" onclick="setCurrent(1)" />
        </div>
    </div>
    Конец:&nbsp;&nbsp;&nbsp;&nbsp;<input type="datetime-local" id="end" onchange="setCurrent(0)" /><br/>
</div>
<div align="center" style="width: 325px; font-size: large;">
Калькулятор предназначен для быстрого поиска такого рода события: пусть в начале интервала наблюдения объект присутствует на видео, в конце - нет. Задача состоит определить, в какой момент времени объект пропал. Важно, что это событие носит однократный характер: до него объект на картинке есть, после - нет.
<br />****************************************<br />Видеоинструкция для компьютера: <a href="https://dzen.ru/video/watch/66f1af71a73cff7e5c396ef4">Дзен</a>, <a href="https://vk.com/video-225923287_456239023">VK Video</a>,
<br />для смартфона так же, отличается только выбор даты и времени.
</div>
'''
        ,encoding="utf-8"), format=lzma.FORMAT_ALONE, preset=9)).decode("utf-8"))

Математика используется известная, что касается форматирования интернет-странички, то так скажу: задача была, воспользовавшись остатками знаний в том числе по вёрстке на имеющихся ограничениях быстро получить что-то, выглядещее более или менее приемлемо. Полученный .url сохранил на Dropbox (он позволяет открывать такого рода странички достаточно объёмные) и разместил на него короткие ссылки.

Ну или вот, нечто, могущее, наверно, показаться спорным (1, 2): "Когда служил срочную во флоте, моими обязанностями было поддерживать точность времени в определённых пределах. Делал это не всегда в соответствии с правилами. Дома продолжаю делать примерно то же, но так же чаще без использования секундомера, а другими средствами, беря время с NTP серверов. Есть скрипт у меня, который может упростить проверку/установку времени на устройствах, не подключённых к интернету, если есть смартфон. Вот ему интернет нужен (использует сторонние ресурсы). Если запустить на компьютере на полную громкость, будет не комфортно, на смартфоне - вполне приемлемо. Только нужно помнить, что страничку браузера с этим скриптом желательно не закрывать до завершения проверок/установок. После нажатия на кнопку каждые 5 секунд даёт сигналы точного времени согласно описанию. Набросал на скорую руку, похоже, не лучшим образом, но свою задачу скрипт, вроде, выполняет.". В Хроме и Яндекс Браузере работает, в Firefox - скорее, нет.

time_data.py
#! python3.12

import lzma
import base64


if __name__ == "__main__":
    with open("time_data.txt", "w", encoding="utf-8") as f:
        f.write('https://itty.bitty.site/%D0%A1%D0%B8%D0%B3%D0%BD%D0%B0%D0%BB%D1%8B_%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8/#/'+base64.b64encode(lzma.compress(bytes(r'''
<script src="https://use.ntpjs.org/ntp.js" async defer></script>
<script type="text/javascript">
    var i = 0, j;
    var c1 = new Audio("data:audio/wav;base64, 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");
    var c2 = new Audio("data:audio/wav;base64, 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");
    var c3 = new Audio("data:audio/wav;base64, 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");
    function formattedDate(datetime){return datetime.toLocaleString().replace(/(\d{2})\.(\d{2})\.(\d{4}),\s/, "$3-$2-$1T").replace(/:\d+$/, "")}
    function getJ(k){return 2 * Math.floor(.4 + .5 * k)}
    function sleep(milliseconds) {
        date = new Date();
        do {
            currentDate = new Date();
        } while (currentDate - date < milliseconds);
    }
    function beep(){
        var s=((i%2)?c3:c1); s.play(); j = getJ(i++); times = j % 12;
        if(!times){
            document.getElementById("current").value = formattedDate(new Date());
        }
        beepInterval = setInterval(function(){ if(times-- > 0){ c2.play(); } else clearInterval(beepInterval) }, 130);
    }
    function loop(){
        do {
            time = new Date();
        } while (time.getSeconds()%5);
        i = Math.ceil(time.getSeconds()/5+.5);
        j = getJ(i);
        setInterval(() => { beep(); }, 5000);
        document.getElementById("start").disabled = true;
        document.getElementById("current").value = formattedDate(time);
    }
</script>
<div align="center" style="width: 325px; font-size: large; font-family: verdana;">
    <div style="display: flex;">
        <div style="margin-right: 15px;">
            <input style="font-size: large; font-family: verdana;" type="datetime-local" id="current" readonly />
        </div>
        <div>
            <button id="start" style="font-size: large; font-family: verdana;" onclick="loop()">Старт</button>
        </div>
    </div>
</div>
<div align="center" style="width: 325px; font-size: large; font-family: verdana;">
    Скрипт в цикле воспроизводит сигналы точного времени. Сначала идёт отметка, где высокий тон означает, что число секунд оканчивается на 5, низкий - на 0, последующие 0-5 сигналов - количество десятков секунд, прошедших с начала каждой минуты.
</div>
'''
        ,encoding="utf-8"), format=lzma.FORMAT_ALONE, preset=9)).decode("utf-8"))
        

Также, наверняка, написано далеко не идеально, но задача данной публикации - показать, что если требуется создать небольшую интернет страничку "без хостинга", то это вполне можно сделать по описанию на GitHub.

Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 3: ↑2 и ↓1+3
Комментарии5

Публикации

Истории

Ближайшие события

22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
2 – 18 декабря
Yandex DataLens Festival 2024
МоскваОнлайн
11 – 13 декабря
Международная конференция по AI/ML «AI Journey»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань