Category Archives: mynotes

Замыкания в PHP

Замыкания удобно применять в качестве callback-функций. Замыкания создают функции, не имеющие определенных имен. Замыкания автоматически преобразуются в экземпляры класса Closure. Время жизни переменных, используемых в замыкании, может быть больше, чем у той функции, где их определили. В контексте класса для передачи $this в замыкание нужно использовать промежуточную переменную: $v = $this; use ($v) Пример (0): [...]

preg_split и прямой вызов функций внутри замыканий

50000 0.0020001009607315 20001009607315 1884 56.68 0.0016987597370148 16987597370148 15.06 2952 100000 0.0020226094222069 20226094222069 1884 0.0017117062973976 17117062973976 15.37 2952 150000 0.0020203295516968 20203295516968 1884 0.0017234358565013 17234358565013 14.69 2952 Вывод: прямой вызов работает быстрее на 15%, но затрачивает памяти на 56% больше.

Редирект для Android, iPhone, iPod

server { if ($http_user_agent ~* ‘(Android|iPhone|iPod)’) { rewrite ^/$ http://m.site.org/; } }

const, define и память

На простом примере проверялось число байт, затраченных на объявление 500 констант через define и const. const const real const emalloc const peak real const peak emalloc start  524288  370528  524288  431488 stop  524288  370832  524288  431488 define define real define emalloc define peak real define peak emalloc start  1048576  454548  1048576  747424 stop  1048576  454852 [...]

Получить данные из PUT

файл $p = fopen(‘php://input’, ‘r’); while ($d = fread($p. 1024)) { …actions… } данные parse_str(fopen(‘php://input’), $p);

Rewrite с файла на файл

Требуется: по запросу /path/to/images/1.gif брать файл /path/to/images/1.gip Решение: location ~* \.(gif)$ { root /path/to/site/path/to/images; rewrite ([0-9]).gif /$1.gip break; }

Простой чат на netcat

Сервер: netcat -l localhost 8080 Клиент: telnet localhost 8080

Netcat для отлова глюков

Если вы хотите в живую видеть заголовки, отсылаемые на сервер приложением/сервером, то можно воспользоваться netcat: netcat -l localhost 8080 Все заголовки будут выводиться в консоль.

Замена в таблице

UPDATE table SET field = replace(field, ‘from’, ‘to’)

Обновление Go

hg clone https://go.googlecode.com/hg/ go cd go/src ./all.bash

Доступ к parent из iframe на jquery

$(‘#id’, top.document).html(‘hello’);

[crosspost] Infographic: Shopping Cart Abandonment and Tips To Avoid It

Большая картинка тут или тут. Вольный перевод: Отказ от покупки и как его избежать. 75% сформированных корзин не приводят к оформлению покупки. Как должна выглядеть идеальная страница оформления заказа? 1) Наличие иконок с изображением товара увеличивает конверсию на 10%. Клиент должен видеть, что он покупает именно то, что ему нужно. 2) Индикатор процесса оформления заказа [...]