Home

Advertisement

for coders only (5)

  • Oct. 31st, 2009 at 6:17 PM
newman
есть объект (новость, пользователь, продукт), с которым, с помощью стандартного выпадающего меню (<SELECT>), необходимо совершать произвольные действия.

максимально оптимальное решение:

<SELECT onChange="eval(this.options[this.selectedIndex].value); this.selectedIndex = 0; return false;">
<OPTION VALUE="">действие</OPTION>
<OPTION VALUE="location.href = 'edituser.php?ids[]=<?=htmlspecialchars(stripslashes($user["id"]))?>';">редактировать</OPTION>
<OPTION VALUE="if (confirm('Удалить пользователя?')) location.href = 'engine.php?mode=deleteusers&ids[]=<?=htmlspecialchars(stripslashes($user["id"]))?>';">удалить</OPTION>
</SELECT>

как видно, в атрибут VALUE тега OPTION можно вставлять совершенно любой JS-код (при необходимости - смешанный с PHP-кодом) - очень удобно

SELECT не назван специально (так данный control можно размещать внутри любой формы другого назначения - никакого влияния на данные родительской формы не будет); по умолчанию активен первый OPTION и на нем onChange никогда не происходит - благодаря "this.selectedIndex = 0;"

свой лунапарк :)

  • Sep. 7th, 2009 at 8:06 PM
newman
теперь у меня есть собственная живая социальная сеть
(точнее даже - веб-платформа для любых соцсетей и клубов)



если кто-нибудь хочет присоединиться к закрытому фэн-клубу dM - пишите

for coders only (4)

  • Aug. 16th, 2009 at 4:19 AM
newman
почему ++i почти в любых языках лучше чем i++?

я наблюдаю это уже на многих поколениях процессоров. простой тест (php):
<?
 $time = time();

 for ($i = 0; $i < 1000; ++$i)
  for ($j = 0; $j < 10000; ++$j)
   ++$k;

 echo (time() - $time) . "<BR>";

 $time = time();

 for ($i = 0; $i < 1000; $i++)
  for ($j = 0; $j < 10000; $j++)
   $k++;

 echo (time() - $time) . "<BR>";
?>

выдаёт (в секундах времени исполнения):
1
2

причём, значения переменных внутри каждого цикла - идентичны

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

на Java и C - то же самое. посмотрите, please, как себя ведут Ruby, C# и Python

for coders only (3)

  • Mar. 30th, 2009 at 3:10 PM
newman
Хранение конфигурации системы в заведомо некорректных данных

задача: периодическая рассылка писем по подписавшимся пользователям сайта
Read more... )
newman
sorry, что снова "для тех, кто в теме" - грядут, таки, отчёты об амстере и кубе (дел много, отдыхом занят, etc.) :)

"Формально, все х86-процессоры являлись CISC-процессорами, однако новые процессоры, начиная с Intel486DX, являются CISC-процессорами с RISC-ядром. Они непосредственно перед исполнением преобразуют CISC-инструкции процессоров x86 в более простой набор внутренних инструкций RISC."

http://ru.wikipedia.org/wiki/RISC

for coders only (2)

  • Mar. 18th, 2009 at 4:20 PM
newman
за что люблю и никак не могу бросить программирование - часто попадаются сложные и интересные задачи, которым приходится искать неординарные решения

небольшой пример: есть сообщество www.mirsvoih.ru и на страничке необходимо показать связи произвольной длины между двумя пользователями

Read more... )

for coders only (1)

  • Mar. 10th, 2009 at 5:35 PM
newman
многие не подозревают, но, при программировании на чём угодно, всегда лучше использовать ++i, чем i++ - исполняется явно быстрее

и в C, и в PHP, и в других языках - видимо, особенности архитектуры i386

простой опыт: подсчёт до десяти миллионов
<?
$time = time();

for ($i = 0; $i < 10000000; ++$i);

echo time() - $time;
?>

исполняется за 2 секунды,

а почти тождественное
<?
$time = time();

for ($i = 0; $i < 10000000; $i++);

echo time() - $time;
?>

- уже за целых 5 секунд!