Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Флудильня :) (не знаешь где спросить? спрашивай здесь!)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92

Открыть новую тему     Написать ответ в эту тему

akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Флудильня :)
(не знаешь где спросить? спрашивай здесь!)

Флудильня-говорильня, Флеймоварня-отвечальня

 
Флейм, флуд, holy wars, а также о программировании вообще :)
Допускаются любые обсуждения и высказывания на тему программирования и около.
Просьба не переходить на личности и не обсуждать политику и тд...
 

Решаемые задачи:
. . . .
       
. . . .
 
 


 

первый пост топикстартера
...
во всех разделах форума есть, а чем мы хуже?
есть ведь откровенный флуд почти во всех топиках, так почему бы его не организовать...
сюда можно и holy wars перенести...
название темы естественно обсуждаемо, тут я ни на что не претендую...

в качестве затравки...
 
прочитал небольшую заметку о разработке советского/российского космического ПО...
и офигел...
 
оказывается почти всё ПО разработано и продолжает разрабатываться на
внимание!
на Модуле-2!
включая новую ГЛОНАСС...
о как!
 
--akaGM :)


Всего записей: 24055 | Зарегистр. 06-12-2002 | Отправлено: 15:08 05-11-2008 | Исправлено: akaGM, 02:23 18-09-2023
AndrMan

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
saidumar
Вопрос не только в том, где запоминать, но и что запоминать. Если переустановили ОС - это смена компьютера? А если винт вставили в другой системник. Это другой компьютер? Таких вот "если" очень много.

Всего записей: 156 | Зарегистр. 29-03-2003 | Отправлено: 09:39 16-03-2014
saidumar

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AndrMan
Надо определить ключевой элемент компа или что еще лучше хранить время работы не компа в целом а его компонентов...
 
1. Получить (по возможности) модель и серийник харда, проца мамки и т.д.
2. Завести что нибудь типа места на облаке.
3. Выбрать место(места) хранения данных: флешка, хард, облако
5. Записывать время работы не компа в целом а его компонентов в выбранные хранилиша
4. ну и не забывать при переустановки компа установить (запускать) прогу, которая все это делает.  
 
как-то так...

Всего записей: 92 | Зарегистр. 10-04-2011 | Отправлено: 15:25 17-03-2014
rrromano



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
На удаленном сервере, например

Не всегда есть сеть.
 
И как отследить внезапное выключение?
Пожалуй, надо висеть сервисом и каждую секунду (10, 60, N...) писать в файлик счетчик. Но будет теряться та самая секунда в худшем случае, плюс время на загрузку.
 
Хотя, было время, я на ассемблере использовал функцию получения количества тиков с момента запуска процессора - если такой функционал доступен сейчас, то можно обойти потерю времени на загрузку ).

Всего записей: 283 | Зарегистр. 20-09-2006 | Отправлено: 17:37 17-03-2014
AndrMan

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
saidumar
В целом, похоже на правду.
 
Добавлено:
rrromano
Это я как вариант предложил вариантов хранения не так много. И при глобальной смене надо действительно восстанавливать данные. Отследить сколько времени прошло с момента запуска системы не просто легко, а очень легко. А сохранять надо!

Всего записей: 156 | Зарегистр. 29-03-2003 | Отправлено: 17:53 17-03-2014
rrromano



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А сохранять надо!

Ну давайте проанализируем. Куда можно сохранить?
1. В комп.
а) жесткий диск (файл, сектор, служебное место);
б) БИОС.
2. В сеть.
а) облако;
б) ftp, http, web-сервис, мыло и т. п.;
в) СМС.
3. В устройство.
а) внешний накопитель;
б) аццкая машинка, подключенная к COM-порту.
 
список можно расширить ).

Всего записей: 283 | Зарегистр. 20-09-2006 | Отправлено: 19:06 17-03-2014
AndrMan

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rrromano
Можно расширить Но, думаю, что из реально нормального места только хард и есть. А остальное место бэкапа. БИОС  было бы тоже хорошее место, если бы к нему был нормальный доступ и универсальное место для хранения.

Всего записей: 156 | Зарегистр. 29-03-2003 | Отправлено: 10:08 18-03-2014
rrromano



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

Нормальный доступ - без проблем с помощью, например, драйвера.
Место - в лого, например )

Всего записей: 283 | Зарегистр. 20-09-2006 | Отправлено: 12:11 20-03-2014
AndrMan

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rrromano
Согласись, что хранить в лого - это не совсем хорошо Тем более, что некоторые биосы хранят лого в сжатом виде.

Всего записей: 156 | Зарегистр. 29-03-2003 | Отправлено: 07:13 21-03-2014
ne_viens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Так можно разжать сохранить и пожать обратно.
Если дыры в картинке мешают, можно стеганографически оформить, или как ASCII .nfo.
 
А если серьёзно, то существует EFI переменные, для чтения и записи которых есть уже готовые инструменты (например, EfiVar.dll + variable.sys для интеловских матплат). Проблема будет только найти свободную переменную, которая не нужна системе, и перезапись которой не превратит плату в кусок неровного ламината.

Всего записей: 1525 | Зарегистр. 01-11-2004 | Отправлено: 13:59 21-03-2014
AndrMan

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ne_viens
Не только найти переменную в биосе, а найти перемененную во всех биосах: предлагается же универсальное решение. можно, конечно, писать "временно не поддерживается", но это тоже не совсем хорошо... Но даже не это проблема: проблема в том, что нет никакой гарантии, что следующий апдейт bios не "превратит плату в кусок неровного ламината" только из-за этой записи.

Всего записей: 156 | Зарегистр. 29-03-2003 | Отправлено: 14:48 21-03-2014
xpin2013



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я предлагаю утилиту которая стирает весь и любой биос и пишет туда контрольную цифру. После использования программы выдавать диалог - НЕ ОТДАВАЙТЕ КОМПЬЮТЕР В РЕМОНТ.

Всего записей: 291 | Зарегистр. 16-01-2014 | Отправлено: 22:04 21-03-2014
Erazor84



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Писать в БИОС?  Это плохая затея, во-первых их много разновидностей, во-вторых при несовпадении контрольной суммы у пользователя могут быть проблемы при обновлении на новую версию. Вспомните хотя бы метод взлома Windows 7 через прошивку BIOS

Всего записей: 368 | Зарегистр. 22-01-2008 | Отправлено: 14:07 28-03-2014
AndrMan

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Erazor84
Именно - именно. Слишком много нюансов.

Всего записей: 156 | Зарегистр. 29-03-2003 | Отправлено: 14:25 28-03-2014
HNKTO



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос несколько не по программированию а скорей чисто математический, связанный с обратным инженерингом и дешифровкой данных.
Собственно вопрос: как скачать видео с YouTube
 
Причём часть решений я уже нашёл сам:
Надо найти Javaскрипт начинающийся примерно с  
<script>*var ytplayer = ytplayer *</script>
найти в нём раздел ytplayer.config = {*};
в этом разделе найти "args": {*},
в последнем ищем "adaptive_fmts": "*", или "url_encoded_fmt_stream_map": "*"
в которых собственно содержится список ссылок на потоки видео и звука в разном качестве. Структура зашифрована, но как расшифровать я вкупил. И часть видеороликов с ютрубы таким способом успешно качается.
Но решение не полно т. к. есть ролики типа этого:
http://www.youtube.com/watch?v=891fx4x47sA  
или этого:
http://www.youtube.com/watch?v=JLAW1swjjcc
для которых данный метод не подходит в связи с тем что ссылки на потоки указаны неполные, а модифицируются и дополняются (вылущено путём перехвата трафика), но вот как и на осонове чего - понять пока не могу
 
Собственно надеюсь может кто из программистов многочисленых кинокачалок выдаст коммерческую тайну...
 
* под "*" понимается любое, возможно нулевое число символов кода
** пример описан для быдлокодной версии YouTube-овской страницы. Для "короткой" версии несколько меняется синтаксис скрипта, порядок этапов дешифровки и разбора, но принцип вцелом тотже.

Всего записей: 2088 | Зарегистр. 30-01-2010 | Отправлено: 01:15 04-04-2014 | Исправлено: HNKTO, 01:19 04-04-2014
saidumar

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Структура зашифрована, но как расшифровать я вкупил

не поделитесь?

Всего записей: 92 | Зарегистр. 10-04-2011 | Отправлено: 09:23 04-04-2014
HNKTO



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
#include <malloc.h>
 
unsigned int HalfByteConv(char Symb)
{ //Преобразует буквенные обозначения в соответствующие им полубайты
    switch(Symb)
    {
    case '0':
        return 0x0;
    case '1':
        return 0x1;
    case '2':
        return 0x2;
    case '3':
        return 0x3;
    case '4':
        return 0x4;
    case '5':
        return 0x5;
    case '6':
        return 0x6;
    case '7':
        return 0x7;
    case '8':
        return 0x8;
    case '9':
        return 0x9;
    case 'A':
    case 'a':
        return 0xA;
    case 'B':
    case 'b':
        return 0xB;
    case 'C':
    case 'c':
        return 0xC;
    case 'D':
    case 'd':
        return 0xD;
    case 'E':
    case 'e':
        return 0xE;
    case 'F':
    case 'f':
        return 0xF;
    default:
        return -1;
    }
}
 
char* DecPercentXXXX(char* Data)
{
    size_t DataSz = _msize(Data);
    char* DecData = (char*) malloc(DataSz);
 
    size_t cntIn = 0;
    size_t cntOut = 0;
    for(; cntIn < DataSz; cntIn++)
    {
        if(Data[cntIn] == '%')
        {
            cntIn++; if(cntIn >= DataSz) break;
            //dec
            unsigned int bytes = 0;
            for(int i=0; i<8; i++) //сдвигаем по биту для исследования всех
            {
                unsigned char flag;
                flag = (Data[cntIn] << i) & 0x80; //т. к. еденицы в старших байтах
                if(flag == 0x80)
                {
                    bytes++;
                }
                else
                {
                    if(bytes == 0)
                        bytes = 1;
                    break;
                }
            }
            for(bytes; bytes > 0; bytes --)
            {
                DecData[cntOut] = HalfByteConv(Data[cntIn]);
                DecData[cntOut] <<= 4;
                cntIn++; if(cntIn >= DataSz) break;
                DecData[cntOut] |= HalfByteConv(Data[cntIn]);
                cntOut++;
                if(bytes > 1) //загружаем следующий полубайт перед возвратом в начало цикла
                {
                    cntIn++; if(cntIn >= DataSz) break;
                }
            }
        }
        else
        {
            DecData[cntOut] = Data[cntIn];
            cntOut++;
        }
    }
    free(Data);
    DecData = (char*) realloc(DecData, cntOut);
    return DecData;
}
 
char* DecSIxxxx(char* Data)
{
    size_t DataSz = _msize(Data);
    char* DecData = (char*) malloc(DataSz);
 
    size_t cntIn = 0;
    size_t cntOut = 0;
    for(; cntIn < DataSz; cntIn++)
    {
        if(Data[cntIn] == '\\')
        {
            cntIn++; if(cntIn >= DataSz) break;
            switch(Data[cntIn])
            {
            case 'n':  
                DecData[cntOut] = (char) 0x0a;
                cntOut++;
                break;
            case 'r':
                DecData[cntOut] = (char) 0x0d;
                cntOut++;
                break;
            case 't':
                DecData[cntOut] = (char) 0x09;
                cntOut++;
                break;
            case 'v':  
                DecData[cntOut] = (char) 0x0b;
                cntOut++;
                break;
            case '/':
                DecData[cntOut] = '/';
                cntOut++;
                break;
            case '\\':
                DecData[cntOut] = '\\';
                cntOut++;
                break;
            case 'u':
                for(char bytes = 0; bytes < 2; bytes ++)
                {
                    cntIn++; if(cntIn >= DataSz) break;
                    DecData[cntOut] = HalfByteConv(Data[cntIn]);
                    DecData[cntOut] <<= 4;
                    cntIn++; if(cntIn >= DataSz) break;
                    DecData[cntOut] |= HalfByteConv(Data[cntIn]);
                    if(DecData[cntOut] != 0)
                        cntOut++;
                }
                break;
            }
        }
        else
        {
            DecData[cntOut] = Data[cntIn];
            cntOut++;
        }
    }
 
    free(Data);
    DecData = (char*) realloc(DecData, cntOut);
    return DecData;
}
 

 
DecPercentXXXX - преобразует конструкции вида %х...х в соответствующие им байты UTF-8 символов
DecSIxxxx - преобразует некоторые подстановочные конструкции в подставляемые ими символы
HalfByteConv - внутренняя функция табличного преобразования буков/цифр в полубайты

Всего записей: 2088 | Зарегистр. 30-01-2010 | Отправлено: 11:18 04-04-2014
DJMC



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Есть столбец в excele в нем повторяются цифры от 1 до 3, в разном порядке и с разной периодичностью, возможно ли в excele вывести закономерность и чтобы формула высчитывала какая цифра будет следующей?
Или может кто знает есть ли такая программа на любом языке?
 

Всего записей: 12236 | Зарегистр. 26-09-2005 | Отправлено: 11:41 09-04-2014
miwa

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJMC
А порядок появления цифр точно имеет закономерность?
 
В целом, конечно, можно поиграться со статистическими функциями, но исходная задача какая-то странная. Что вообще требуется узнать?

Всего записей: 455 | Зарегистр. 10-10-2004 | Отправлено: 14:58 09-04-2014
XPEHOMETP

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJMC

Цитата:
Есть столбец в excele в нем повторяются цифры от 1 до 3, в разном порядке и с разной периодичностью, возможно ли в excele вывести закономерность и чтобы формула высчитывала какая цифра будет следующей?  
Или может кто знает есть ли такая программа на любом языке?  

miwa

Цитата:
но исходная задача какая-то странная. Что вообще требуется узнать?

Таки, да! Если не заниматься поиском регулярных выражений (на что формулировка задачи вроде и не претендует), то следующая цифра должна быть наиболее повторяющейся из всего списка. От 0 до 3. Считайте повторяемость...

Всего записей: 2485 | Зарегистр. 21-06-2005 | Отправлено: 17:02 09-04-2014
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
зато точно можно сказать, что наперёд заданная цифра появится следующей с вер = 1/3 :)
 
Добавлено:
 
DJMC
 
глянь в сторону анализа псевдослучайных последовательностей...
там считается период повторяемости для генератора, т.к. у тебя диапазон (1 2 3) очень узкий, то должно быть всё просто...

Всего записей: 24055 | Зарегистр. 06-12-2002 | Отправлено: 17:21 09-04-2014
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Флудильня :) (не знаешь где спросить? спрашивай здесь!)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru