РАЗРАБОТЧИК САБЖА:
"исходников не будет.проект с закрытым кодом.
не доверяешь нам? прально делаешь!
ставь сниффер и смотри что и как идет =)
хотя вот понять немогу почему на всехразработчиков софта
контакта гонят что их проги воруют пароли
а еще не слышал ни одного гона на разрабов тойже
аськи… Проще надо быть, Ребят!
не слишком ливысокая честь? командой отнють не изодного человека месяц писать проект чтобы натырить
кладбище чужих аккаунтов)) бред!проще червя пустить
Дуров, в жизни не позволит резать свои потенциальные рекламные места HTML parser'ом. Уверен администрация вконтакте еще про такую хрень даже не слышала. Бинарник защищен протектором. // Каждому пользователю этой поделки мой респект и пожелания не залететь :D
День был тяжелый, пиво кончилось, пойду посплю и на завод. :D
Перед уходом:
Человек работает в комманде. Нужно разработать свой кусок с позиции что меня все хотят наебать. И мне всеравно как данные будут обработаны в контроллере. У меня задача написать стрессоусточиый кусок кода. Не полагаясь на то что контроллер не забудет инициализировать переменную.
Например: был пользователь, его удалили, пользователь переходит по ссылки с ID удаленного пользователя. Если программист писавший контроллер не отработал такую ситуацию, то я все равно должен вывести шаблон грамотно. У меня есть свой атомарный кусок кода в котором не должны выскакивать Notice.
Аналогия такая: С++ приложение работающее с внешним миром через сокеты. Я не верю тому что мне всегда буду приходить строки с длинной не привышаюшей длину 1024. Данные поступают из внешнего не контроллируемого мира => моя задача не допустить записать в буффер размером 1024 полученные 1028 байт. Иначе buffer overrun.
ППЦ, мы все отстали от жизни!!!! Позвони всем чтобы срочно переходили. Система по требованиям должна поддерживать mysql. У нас в т.ч. есть версия mysqli. Тока никому не говори.
Устал уже, сникерсни.
1) Object(DB_Error) к тебе в жизни не придет. Так как Exception ловиться catch, а не возвращается функцией.
2) mysql_fetchАра возвращает либо массив, либо фалсе. И там допустим забыли запросить поле friends и т.д.
Ну потомучто у тебя ( error_reporting(E_NOTICE)):
1 случай: Notice: Undefined variable: User
2 случай если не инициализировано $User['name']: будет NOTICE undefined index
3 не инициализировано $User['Friends'], то даже при приведении к типу int: будет NOTICE undefined index
Короче как бы не хотели NOTICE,"@" и читаемый код не разделимы. Главное не тыкать @ куда не надо
class Database implements IDatabase
{
....
public function result($result, $row, $field)
{
if(!is_resource($result)) throw new DatabaseException($this->error());
return(mysql_result($result,$row, $field));
}
....
}
В контроллере:
$intUsersCount = @(int)$db->result($db->query('SELECT COUNT(id) FROM `users`'),0,0);
Догадываешься для чего тут "@" ?
P.S. Нормальные люди все ошибки и NOTICE напрваляют в журнал. И нихуя не одупляют когда
у них журнал засран NOTICE'ами для нормального поведения.
P.P.S я так понял вы обработку ошибок и журнализацию не используете. Это лечиться, но трудно
Так вот если пользователя не существует, контроллер промапит $user = false;
Шаблон выведет:
Пользователь:
Друзей: 0
Если убрать @ то и int. То шаблон будет
завален NOTICE'aми.
Так что сдесь без @ нормульно не обойтись.
А насчет @require_once это еще не уникумы. У 30% проектов которые мне
приходилось видеть не закрыт FCKEditor Browser и у проц 60% SQL injecttion. Люди еще
не знают что такое placeholder'ы и прочая пофигистика.
Так вот если пользователя не существует, контроллер промапит $user = false;
Шаблон выведет:
Пользователь:
Друзей: 0
Если убрать @ то и int. То шаблон будет
завален NOTICE'aми.
Так что сдесь без @ нормульно не обойтись.
А насчет @require_once это еще не уникумы. У 30% проектов которые мне
приходилось видеть не закрыт FCKEditor Browser и у проц 60% SQL injecttion. Люди еще
не знают что такое placeholder'ы и прочая пофигистика.
Пипл еще хавает? Помоему уже нет.
РАЗРАБОТЧИК САБЖА:
"исходников не будет.проект с закрытым кодом.
не доверяешь нам? прально делаешь!
ставь сниффер и смотри что и как идет =)
хотя вот понять немогу почему на всехразработчиков софта
контакта гонят что их проги воруют пароли
а еще не слышал ни одного гона на разрабов тойже
аськи… Проще надо быть, Ребят!
не слишком ливысокая честь? командой отнють не изодного человека месяц писать проект чтобы натырить
кладбище чужих аккаунтов)) бред!проще червя пустить
"
P.S. Ай че прислали! http://rutube.ru/tracks/259145.html?v=380fee0c60fb696672f10c87b7ec9e86
Перед уходом:
Человек работает в комманде. Нужно разработать свой кусок с позиции что меня все хотят наебать. И мне всеравно как данные будут обработаны в контроллере. У меня задача написать стрессоусточиый кусок кода. Не полагаясь на то что контроллер не забудет инициализировать переменную.
Например: был пользователь, его удалили, пользователь переходит по ссылки с ID удаленного пользователя. Если программист писавший контроллер не отработал такую ситуацию, то я все равно должен вывести шаблон грамотно. У меня есть свой атомарный кусок кода в котором не должны выскакивать Notice.
Аналогия такая: С++ приложение работающее с внешним миром через сокеты. Я не верю тому что мне всегда буду приходить строки с длинной не привышаюшей длину 1024. Данные поступают из внешнего не контроллируемого мира => моя задача не допустить записать в буффер размером 1024 полученные 1028 байт. Иначе buffer overrun.
1) Object(DB_Error) к тебе в жизни не придет. Так как Exception ловиться catch, а не возвращается функцией.
2) mysql_fetchАра возвращает либо массив, либо фалсе. И там допустим забыли запросить поле friends и т.д.
1 случай: Notice: Undefined variable: User
2 случай если не инициализировано $User['name']: будет NOTICE undefined index
3 не инициализировано $User['Friends'], то даже при приведении к типу int: будет NOTICE undefined index
Короче как бы не хотели NOTICE,"@" и читаемый код не разделимы. Главное не тыкать @ куда не надо
<?
// ГиперLayout (Вид)
error_reporting(E_NOTICE);
?>
<? // 1 случай: котроллер вернул пустой массив; Результат: Notice: Undefined index: ZekID
$User = array();
?>
НомерТелогрейки: <?=(int)$User['ZekID']?><br />
<? // 2 случай. Результат: Undefined variable: User
unset($User);
?>
НомерТелогрейки: <?=(int)$User['ZekID']?><br />
class Database implements IDatabase
{
....
public function result($result, $row, $field)
{
if(!is_resource($result)) throw new DatabaseException($this->error());
return(mysql_result($result,$row, $field));
}
....
}
В контроллере:
$intUsersCount = @(int)$db->result($db->query('SELECT COUNT(id) FROM `users`'),0,0);
Догадываешься для чего тут "@" ?
P.S. Нормальные люди все ошибки и NOTICE напрваляют в журнал. И нихуя не одупляют когда
у них журнал засран NOTICE'ами для нормального поведения.
P.P.S я так понял вы обработку ошибок и журнализацию не используете. Это лечиться, но трудно
Котроллер:
...
$User =$db->fetchAll($db->squery('SELECT id,name,age,friends,bla2 from USERS WHERE id =?',(int)@$id));
...
Должен вернуться массив. Но если такого id нет. То false;
Теперь шаблон (Вид):
<html>
....
<body>
.....
Пользователь: <?=@$User['name']?><br />
Друзей: <?=@(int)$User['friends']?>
....
</body>
</html>
Так вот если пользователя не существует, контроллер промапит $user = false;
Шаблон выведет:
Пользователь:
Друзей: 0
Если убрать @ то и int. То шаблон будет
завален NOTICE'aми.
Так что сдесь без @ нормульно не обойтись.
А насчет @require_once это еще не уникумы. У 30% проектов которые мне
приходилось видеть не закрыт FCKEditor Browser и у проц 60% SQL injecttion. Люди еще
не знают что такое placeholder'ы и прочая пофигистика.
...
$User =$db->fetchAll($db->squery('SELECT id,name,age,friends,bla2 from USERS WHERE id =?',(int)@$id);
...
Должен вернуться массив. Но если такого id нет. То false;
Теперь шаблон (Вид):
<html>
....
<body>
.....
Пользователь: <?=@$User['name']?><br />
Друзей: <?=@(int)$User['friends']?>
....
</body>
</html>
Так вот если пользователя не существует, контроллер промапит $user = false;
Шаблон выведет:
Пользователь:
Друзей: 0
Если убрать @ то и int. То шаблон будет
завален NOTICE'aми.
Так что сдесь без @ нормульно не обойтись.
А насчет @require_once это еще не уникумы. У 30% проектов которые мне
приходилось видеть не закрыт FCKEditor Browser и у проц 60% SQL injecttion. Люди еще
не знают что такое placeholder'ы и прочая пофигистика.