Страница 27 из 28
Re: Вопросы и ответы по программированию.
Добавлено: 09.11.2014, 21:54
MOZGIII
Pechen
А как выполняется код? Если один скрипт работает пару минут - для стандартного варианта развёртывания это не
нормально. Обычно, по-умолчанию, соединение устанавливается при старте скрипта, закрывается при его завершении.
Нужно больше конкретики.
Re: Вопросы и ответы по программированию.
Добавлено: 09.11.2014, 23:02
Pechen
MOZGIII
код выполняется пару часов, но соединение терялось всегда одинаково через определенный промежуток времени.
код выглядит примерно так
-есть класс в нем объявлена переменная, в констракте этой переменной присваивается mysqli_connect() запрос.
-в методе создается подготовленный запрос с использованием этой переменной.
-в дистракте соединение рвём
чтобы заработало как надо в методе пришлось поместись строчку из констракта(переменная = mysqli_connect() запрос) и в конце метода закрыть.
просто я так понимаю что при mysqli_stmt_init(наша переменная) должно создаваться соединение, а при mysqli_stmt_close() закрываться.
Re: Вопросы и ответы по программированию.
Добавлено: 11.11.2014, 20:38
MOZGIII
Нет, mysqli_stmt_init создаёт не соединение, а объект, который нужен для работы с prepared statements.
После открытия, соединение просто висит, и, если по нему ничего не передавать, оно умирает по таймауту. Чтобы не умирало, нужно либо делать какие-то запросы периодически (keepalive), либо можно просто перед каждым действием проверять [txtspoil]и поднимать мёртвых[/txtspoil].
Re: Вопросы и ответы по программированию.
Добавлено: 11.11.2014, 20:49
Pechen
MOZGIII
ясно, я поступил вторым способом. теперь понятно отчего рвалось в определенные моменты -- скипту подолгу нечего было класть в определенные моменты.
получается в такой записи -- mysqli_stmt_init(mysqli_connect(параметры соединения), запрос) соединение не создается, если нечего слать.
хоть делал скрипт для личного применения -- но решил все делать работу с базой по-науке через подготовленные запросы и хранимые процедуры)))
Re: Вопросы и ответы по программированию.
Добавлено: 12.11.2014, 00:28
MOZGIII
В такой - создаётся, ты ведь делаешь mysqli_connect. Причём создаётся всегда.
Лучше юзать mysqli_ping($connection)
http://php.net/manual/en/mysqli.ping.php и уже если она false, то $connection = mysqli_connect(...), или просто включить автореконнект.
Re: Вопросы и ответы по программированию.
Добавлено: 30.03.2015, 08:51
wowks
Чтобы запилить апдейт для мода/игры, имея на руках старый контент и новый, достаточно ли проверять LastWriteTime через GetFileTime(...) + какая-нибудь хэш-функция или банально через fopen(...) + memcmp(...)?
Может ли быть что появятся новые файлы или исчезнут старые?
Просветите меня пожалуйста по этому поводу.
Re: Вопросы и ответы по программированию.
Добавлено: 30.03.2015, 13:37
Shlak
wowks
Если ты про Steam, то советую основываться на файлах manifest, т.к. в них указан список файлов с их хешем. Сравни старый и новый и получишь списки добавленных / удалённых / изменённых.
Re: Вопросы и ответы по программированию.
Добавлено: 30.03.2015, 15:20
wowks
Shlak
есть инфа по структуре этих файлов?
Re: Вопросы и ответы по программированию.
Добавлено: 30.03.2015, 15:34
Shlak
Re: Вопросы и ответы по программированию.
Добавлено: 30.03.2015, 21:14
wowks
Shlak
нее. парсить этот файл тот ещё гемор...
например я так и не понял почему в структуре
https://wiki.singul4rity.com/steam:file ... stmetadata
для файла 290931_6081130365130119332.manifest (Half-Life 2 Update) filenames_encrypted = true, а в 405_3790265569705112952.manifest (Portal) = false;
или что это за 4 байта перед filename в
https://wiki.singul4rity.com/steam:file ... estpayload
...если только я как обычно не накосячил
думаю всё-таки проще оставить загадочный .manifest файл :) и напрямую сравнивать файлы и брать для апдейта либо их целиком либо куски которые отличаются
Re: Вопросы и ответы по программированию.
Добавлено: 31.03.2015, 08:44
MOZGIII
wowks
Полагаться на время изменения файлов ненадёжно. У людей с фс иногда такое бывает...
А вообще rsync.
Re: Вопросы и ответы по программированию.
Добавлено: 31.03.2015, 11:37
Shlak
wowks
Ну если лень заморачиваться с манифестами то можешь попробовать мою версию работающую на сравнении папок:
Из багов помню только неправильную передачу даты при компиляции в Inno Setup.
Re: Вопросы и ответы по программированию.
Добавлено: 31.05.2015, 01:54
wowks
такой вопрос:
есть например стандартная функция strlen в стандартной библиотеке
чаще всего в исходном коде стандартных библиотек она такая:
Код: Выделить всё
size_t strlen(const char *str)
{
const char *s;
for (s = str; *s; ++s);
return (s - str);
}
но если я напишу свою точно такую-же например с названием __strlen и сравню скорость работы обеих для одинаковой строки, то strlen будет в разы быстрее __strlen.
почему так?
Re: Вопросы и ответы по программированию.
Добавлено: 06.06.2015, 12:20
Yoti
Подскажите запросик для получения медианы цен? Нужно получить что-то в духе "дни-часы-количество карточек-ценник".
Re: Вопросы и ответы по программированию.
Добавлено: 09.06.2015, 08:47
$t@t!c_V()1D
wowks
Нюансы оптимизации. Плюс бывает так, что от встроенного strlen есть только заголовок, а сама функция вынесена в runtime-библиотеки, ибо часто используется.