Pull to refresh
92
Игорь Тарасов@TiGR

Пользователь

14
Subscribers
Send message
Интересно, а в IT-среде кто-нибудь кроме производителей винчестеров подразумевает под гигабайтом миллиард байт?
Насчёт realpath действительно ошибся. А так, мой вариант кода - ниже.
Короче вот, наваял (хабраавторы, сделайте какой-нибудь вменяемый способ постить код). Данная функция использует только одну регулярку (и то, только в случае, если есть '/../'). Она также корректно обрабатывает все варианты URI (в отлиичие от вышеопубликованного кода):

relative/path
/root/path
?arguments&change&only
#anchor_change_only
user:pass@host/path
http://host

function uri2url($link, $base) {
if (!strpos($base, '://')) {
$base = 'http://' . $base;
}
$base = parse_url($base);
unset($base['fragment']);

if (!strpos($link, '://') and strpos($link, '@')) {
$link = $base['scheme'] . '://' . $link;
}
$link = parse_url($link);

if (isset($link['host'])) {
if ($link['host']!=$base['host']) {
return false;
}
unset($base['path'], $base['query']);
} elseif (isset($link['path']) and $link['path'][0] != '/') {
if($base['path'][strlen($base['path'])-1]=='/') {
$link['path'] = $base['path'] . $link['path'];
} else {
$path = pathinfo($base['path']);
$link['path'] = $path['dirname'] . '/' . $link['path'];
}
}
if (isset($link['path']) or isset($link['query'])) {
unset($base['query']);
}
extract($link + $base);
str_replace('/./', '/', $path);
while (strpos($path, '/../') !== false) {
$path = preg_replace('~(/[^/]+)?/\.\./~', '/', $path);
}
return $scheme . '://'
. (isset($user) ? $user . (isset($pass) ? ':' . $pass : '') . '@' : '')
. $host . $path
. (isset($query) ? '?' . $query : '')
. (isset($fragment) ? '#' . $fragment : '');
}
Ракурс может быть таким, что танк будет видно очень даже хорошо. Например, может получится так, что под определённым углом на фоне скалы танк будет "показывать" лазурь неба.

Весьма сомнительная затея...
Фото - фейк. На одном сайте так и написано, что танк так бы мог выглядеть.

Все ссылки на "одного солдата, пожелавшего остаться не названным". При одной камере и одном проекторе это может работать в слуачае наличия одного противника в строго оговорённом месте :)
А дайте, плиз ссылочку на Newer version (в смысле, куда ведёт тот линк) ;)
> Также, он полагает, что если URL не абсолютный, и первый символ - не '/', то значит это - домен

под "этим" подразумевается первый фрагмент до / в $base. Равно как и обработка $link весьма неоднозначна.
Тогда данный скрипт отрабатывает не в соответствии с поставленной задачей.

Скрипт по умолчанию полагает, что ссылки бывают только протокола http. Также, он полагает, что если URL не абсолютный, и первый символ - не '/', то значит это - домен.

С такой же наивностью может работать и предложенный мной вариант. Работать будет быстрее, а главное, код будет яснее.
Вообще-то parse_url работает правильно. Т.к. ваш пример некорректен. Особенно, если смотреть первый вариант - его можено поменять на "page.pl/path" и в итоге получим не то, что надо. Стоит добавить к примерам http:// и всё будет ок. Для того, чтобы определить - наличествует ли протокол, хватит одной регулярки. А если учетывать только http (как в функции), то вообще можно обойтись без регулярок.

parse_url может заменить большую часть кода данной функции. Остальную часть заменит realpath.
По-вашему нет никакой разницы между персонализацией и слежкой?
А parse_url уже отменили?

Столько регулярных выражений и мусора, что просто жуть.
Применительно к данной ситуации энто зависит от реализации. И потом, машинке легче выполнить один запрос к БД, и сообщить, что новых сообщений нет (или два, отдав новые комменты), чем рендерить всю страницу по F5.
Насколько я помню, WiFi очень круто жрёт аккумулятор. Если его не использовать, то машинка работает в разы больше.
Ошибаетесь. У них разная тематика, и цитаты по большом счёту не пересекаются.
А с каких пор он умеет работать с swf?

Там 5 swf файлов и 60 джипегов + несколько файлов с данными. В офлайне вроде бы всё прекрасно работает.

Достать можно из кэша браузера или можно поставить проксик.

Правда там по менюшкам есть ещё возможность прочитать про каждую сцену подробнее, и посмотреть видеоролики из Tin Man к каждой сцене.
Позитивно написано, с огоньком :)

И даже не важно, исполнятся ваши прогнозы или нет, спасибо за позитив.

...хотя всё же хотелось бы верить, что так оно всё и есть...
Вот сейчас на одном своём проекте применил такой приём: используется простая форма, но просто поменял местами названия полей email и name. В итоге, все боты в качестве имени суют email, что легко проверяется на стороне сервера.

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

И вот при отсутствии консоли решение таких задач на самом деле превращается в головную боль.

Так что, ИМХО, пример из статьи в этом плане не совсем удачный. Разве что как демонстрация возможностей консоли.
А вы не задумывались о том, что возможно покупаются не столько акции, сколько, например, какая-то информация? БД в 300 миллионов реальных email адресов (причём, местами с паролями) - это уже немало, и кого-то может реально заинтересовать, но вряд ли это является предметом торга.

Другое дело связи между этими адресами, история развития сервиса, законы успешного развития столь крупных проектов - эта информация может стоить очень и очень дорого.

Возможно, ребята из facebook получили какую-то очень интересную статистическую информацию, которую и продают таким гигантам, как Microsoft.

Вот такое ИМХО.
Поменяйте ссылочку на: http://echo.msk.ru/programs/brend/55671/

А то ваша через неделю станет неактуальной.

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity