Home
entries friends calendar user info IceDice Int. Previous Previous Next Next
RaEssentia

Реклама

в избранное
рассказать другу
Решил я забенчмаркить одну возможность в пхп, данный бенчмарк конечно глупый, но все равно полезный :)

Собственно я захотел проверить что быстрее
if ($a>$b) $a= $b;
или
$a= max($a,$b);
Дело в том, что второй вариант записи я никогда в жизни не использовал, я всегда предпочитал первый, однако второй вариант недавно попался мне на глаза я и задумался - а может я всегда делал неправильно, так ведь и короче и красивее выглядит итп. Короче написал для бенчмарка такой код:
тута многа текста )
И как вы можете видеть второй вариант оказался в 2 раза медленнее! Я думаю это связано с тем, что в первом варианте происходит только сравнение, а изменение переменных лишь тогда, когда это нужно, а во втором изменение происходит каждый раз насильно независимо от значения, даже если оно одинаковое.

Многие могут сказать что 0.00275/1000= 0.00000275 это фигня и не оказывает на скорость исполнения скрипта никакого действия, но поверьте мне - если вы пишите онлайн игру в которой подобные проверки происходят по много десятков раз при каждом выполнении и множество других аналогичных случаев то это играет роль :) Я всегда стараюсь писать максимально эффективный код. Тем более что мне это ничего не стоит, так почему бы не делать сразу по человечески?

Пример: в результате скорость обработки скриптов в моей игре никогда не превышает 0.03 сек, при 150 онлайн, и я уверен что игра сможет потянуть без проблем и 1000 онлайн и даже 3000, но там уже будет зависеть от того, насколько эффективно производятся запросы в базу данных (тут я уже не насколько уверен в своих умениях, хотя пока вроде все отлично).

Вот так вот. Продолжу кодить как я всегда кодил :)

Tags: , , ,

в избранное
рассказать другу
Иногда забавно наблюдать как люди пытаются найти хоть какую-то лазейку, через которую можно сломать сервер (я про Founders Online). Сегодня меня вообще позабавило, как кто-то перебирал все возможные админки существующий в природе, но ему невдомек, что игра не использует никакие CMS, а написана на собственном движке, а админки, которую он так усердно искал там и вовсе нету :)

Собственно вот кусочек из его стараний (я не стал засовывать все)
смотрим и берем пример с его усердия :) )
Вот так вот. А вообще попытки взлома происходят где-то каждые 3-5 дней, во всяком случае из тех, что я обращаю внимание.

Tags: , , ,

в избранное
рассказать другу
Кто-нибудь работал с WordPress? А то заказчик попросил привинтить одну штуку, а я не представляю как это можно сделать.
На первый взгляд все просто, но... В общем нужно сделать следующее - чтобы в запись можно было добавить И картинку И галерею из картинок. Т.е. при отображении краткой записи, чтобы показывалась эта картинка и часть текста, а при просмотре полной записи уже вся запись и ниже к примеру галерея, при сохранении картинки вверху.
Но насколько я понимаю, вордпресс не дает так сделать, либо одна картинка, либо галерея. Во всяком случае сделать так как описано выше у меня не получилось.
Подскажите как решить эту задачу :)

Tags:

в избранное
рассказать другу
Решил таки написать. На днях решил вспомнить прошлое и погонять часок чертей (в смысле поиграть), а то за работой мозги устают, но т.к. сейчас я сижу на ноутбуке, а он зараза тоже греется безбожно то я решил и его прочистить (см. несколько записей в моем блоге назад). Но т.к. до этого я никогда в жизни ноутбуки не разбирал я немного опасался это делать...
Но потом погуглил и все в принципе оказалось достаточно просто.
тут несколько фоток и процесс разбора )

Вот такие вот внутренности. Из радиатора я выковырял здоровенный кусок валенка образованный пылью :) Из него реально можно былобы валенок катать))))
тут еще текст )

А еще получил по почте диски с убунту.
Заказал я их чисто для прикола, т.к. был уверен что все равно не буду юзать, но как я заблуждался :)
тута фотки с убунту и текст )

Tags: , , ,

в избранное
рассказать другу
Начал вчера Rozen Maiden читать. Вполне норм, сюжет необычный, интересно.
Помню у кого-то из френдов эта серия любимая.

Tags: ,

в избранное
рассказать другу
Посмотрел Торадора...
Зачем? Без понятия. Мне даже особо этот жанр и не нравится... да и цундере не особо, из-за цуновой стороны - она меня всегда раздражает сильно и потому я бросаю такие штуки обычно еще до того как до дэрэшной стороны дойдет :)
Но собственно после просмотра очень понравилась торадора :) Даже на MAL'е поставлю 10 :)
Анимация вообще классная, особенно в некоторых моментах facial expression вообще класс анимировано :) Тайга かわいぃぃ в последних 5 сериях да еще и ロリ :)
Если кому цундере нравится то ни в коем случае мимо торадоры не проходите!!! :)
Еще очень интересно показан девелопмент персонажей, нет нудятины как в большинстве 26 серийных...

зы - для тех кто ни слова не понял, не утруждайтесь :)



Картинка немного напоминает мне Миу из ичиго машимаро.

Tags: ,
Настроение: cheerful
Музыка: dead silence

в избранное
рассказать другу
Не перестаю поражаться... насколько талантливая группа Motorhead!

Слушаю их уже хз сколько, каждую песню раз по 100 послушал наверное, но до сих пор их всех групп мне больше всего нравится!

А пели еще с середины 70-х годов!

Уже почти 40 лет прошло с того момента как они начали выступать, а в этом жанре до сих пор для меня ничего лучше моторхеда не появилось! При этом у меня под сотню гигов других хэви металл групп, таких как: роб хэлфорд (его сольники на втором месте в моем топе хэви металла), мановар (тоже очень классная группа), ирон мэиден, рэйдж, психостик, джудас прист и куча других!

А вы как в этой группе относитесь?

Какие другие группы в этом жанре вам нравятся?

Tags: ,
Настроение: energetic
Музыка: Motorhead - No Class [Live]

в избранное
рассказать другу
Давненько я не писал ничего в блоге... Весь последний месяц был занят, разве-что вечером чуть время оставалось посерфить по инету или еще как-нибудь развлечься.

Так вот, закончил смотреть недавно 26 серийную анимешку Bamboo Blade. Те кто читает мой блог наверное уже знают что я смотрю только комедии, вот эта анимешка хороший представитель этого жанра. Но вообще если подумать, то о ней сложно написать какой-то отзыв :) В целом эта анимешка мне безусловно понравилась, давно не смотрел такой, которая бы оставляла приятное ощущение после завершения просмотра. Сюжет закручен вокруг школьного клуба кендо, их взлетах и падениях, турнирах и прочем. До этого я имел совершенно смутные представления что такое кендо, а теперь не отказался бы даже попробовать! Но у нас в городе разумеется никакого кендо и подавно нету :)

В общем какой-то отстойный пост получился :)

Зато сегодня успел докодить полеты в Founders Online, завтра еще буду тестировать, а потом постараюсь залить в обед обновление :) Игроки уже несколько месяцев ждут их :)

Пойду ка я лучше спать, а то устал уже :)
в избранное
рассказать другу
На моем основном компе (который я отдал младшему брату) стоит GF 8600, но почти с самого момента покупки эта зараза безбожно грелась, спокойно могла доходить до 82 градуса при запуске какого-нибудь сталкера. Для меня это играло мало роли т.к. я фактически не играл не во что, но когда я отдал компьютер брату то стал перед вопросом: или оставить все как есть и потенциально спалить видюху или что-нибудь думать.

Короче говоря разобрал я комп, достал ее оттуда, весь радиатор разумеется был в пыли :) Но это я думаю не суть проблемы. Радиатор я открутил, т.е. полностью снял всю ту пластмассу защитную сверху и сам радиатор. А вот уже под ним я обнаружил что на заводе явно у кого-то были кривые руки в результате чего термопаста была намазана очень криво да еще и с пузырями в середине, к тому же от использования она вся засохла и получилась почти как песок.

В общем выклупал я оттуда всю старую термопасту, брата отправил в маг за новой, правильно намазал, прицепил радиатор на место и все закрутил.

И вуаля, средняя температура упала с 60 до ~47 градусов при при простое и с 85 до 72 при максимальной нагрузке, что конечно тоже горячо, но вполне в рамках нормы имхо.

Вот так вот :)

пс- Ах да, забыл упомянуть что для мониторинга температуры я использую программу NvTempLogger, рекомендую. Очень полезная прожка если собираетесь запускать какие-нибудь очень жосткие игрушки и не хотите спалить видюху :)

Tags: , ,

в избранное
рассказать другу
Хотите проверить свой слух? :)

Я слышу до 18 килогерц согласно тестам в инете, а какую ВЫ частоту максимум слышите?

Я использовал тест: http://www.flashpresskits.com/hearingtest/

Почему это может быть не точно:
* Нужны очень хорошие колонки/наушники
* Нужна нормальные дрова на звуковуху и сама нормальная звуковуха
в избранное
рассказать другу
Потыкавшись вчера над задачкой по созданию нормальной системы закачек для сайта, а также для учета статистики и так и не прийдя ни к какому решению [info]cluster_d подкинул мне гениальную идею с хардлинками!

Грубо говоря суть в следующем. У нас есть файл, но мы не хотим давать на него прямую ссылку, или даже ссылку через редирект (т.к. прямой адрес все равно можно увидеть в менеджере закачек). Как же это обойти? А очень просто - оригинальную папку где у нас _реально_ располагаются файлы мы делаем закрытой (закрываем к ней доступ через хэтацесс), а при необходимости скачать эти файлы делаем для них ДОПОЛНИТЕЛЬНЫЙ путь в операционной системе. То есть мы как бы "копируем" файл в еще одно место, но с той лиш разницей что он занимает ровно 0 байт места, то есть нисколько, за исключением информации о самом его пути (обычно один кластер).

Затем пользователю дается эта временная ссылка, он по ней качает, при чем поддерживается и докачка и прочие штуки, потому что это такая же прямая ссылка как и оригинальная. А затем просто через какое-то время (у меня сутки) этот временный путь до файла просто удаляется.

Прилагаю исходный код варианта, как это реализовал я
Тут исходный код )

Вот такой вот хитрый способ :)

Закачка происходит по таким линкам:
founders.icedice.org/dl.php?fo_skin_engine.exe
А потом пользователя кидает на типа такой ссылки:
founders.icedice.org/temp/dl/e950c10dd43d/fo_default_skin_1.0.exe

У меня еще сделано, что если пользователь начал закачку на другом сайте, то есть линк дали где-то на стороне, то вместо закачики его кидает на страницу с выбором закачек вообще. Но это конечно не обязательно.

В общем надеюсь кому-то это пригодится :) Если есть вопросы обращайтесь.

Tags: , , , ,

в избранное
рассказать другу
Встала необходимость написать нормальный счетчек закачек файлов на PHP, погуглил я это дело и пришел к выводу что НОРМАЛЬНЫЙ написать не удастся в любом случае...

Похоже есть всего 4 варианта:

1. Пользователь кликает на скачать, клик засчитывается, скрипт редиректит пользователя на файл (его прямой адрес).
Этот вариант мне вообще не подходит т.к. я не хочу делать доступными прямые пути к скачиваемым файлам.

2. Пользователь кликает на скачать, клик опять же засчитывается и выполняется скрипт типа такого:

//тут всякие проверки и учет статистики сделать
//теперь вывод хедеров
header("Content-Type: application/octet-stream");
header("Content-Length: ".filesize('./files/'.$_GET['file']));
header('Content-Disposition: attachment; filename="'.$_GET['file'].'"');
header("Content-Transfer-Encoding: binary\n");
//и самого файла
echo file_get_contents('путь до файла');
Но этот вариант требует дочерта оперативки если файл будут качать активно. И при нормальном числе запросов вообще убить сервер можно.

3. Вариант передачи по кускам, который придумал я.
$f= fopen('./files/'.$_GET['file'],'r');
if ($f) {
	header("Content-Type: application/octet-stream");
	header("Content-Length: ".filesize('./files/'.$_GET['file']));
	header('Content-Disposition: attachment; filename="'.$_GET['file'].'"');
	header("Content-Transfer-Encoding: binary\n");
	while(!feof($f)) {
		$part= fread($f,1024);
		echo $part;
		flush();
	}
	fclose($f);
....итд
//учет статистики и прочее
Плюс этого способа в том что он не подгружает в оперативку сразу весь файл, а передает его по 1 килобайту. НООООО минус заключается в том что если скорость скачивания у человека будет маленькая, то время выполнения скрипта закончится раньше, а если делать время не ограниченным, то опять же большое число запросов на скачивание могут исчерпать лимит числа одновременно запущенных пхп скриптов и тоже повесить сервак грубо говоря.
Но тут по крайней мере есть плюс в том что можно считать число УДАЧНО переданных файлов разместя прибавление единички к числу скачиваний уже ПОСЛЕ завершения передачи.
Но... этот вариант тоже совсем не подходит.

4. Похоже самый нормальный способ.
Я думал как же сделать так чтобы пхп обрабатывайл закачку, но при этом сам не был запущенным. И при этом самое главное чтобы не было прямой ссылки на файл как в варианте 1.
И тогда я пришел к:
die(file_get_contents('файл'));
После чего я погуглил и обнаружил, что я не первый кто до такого додумался (чего и следовало ожидать XD), но вариант вроде пока самый лучший из всех.
НО насколько я понимаю проблем с оперативкой это не решает, т.к. все равно весь файл находится в буфере до тех пор пока пользователь не заберет его...
...


Есть ли нормальные варианты того как сделать закачку файлов на пхп с корректной статистикой и без открытия прямых адресов?

Tags: , ,

profile
RaEssentia
Name: RaEssentia
Website: IceDice Int.
calendar
Back Январь 2010
12
3456789
10111213141516
17181920212223
24252627282930
31
page summary
tags

Реклама

Настроить