Базы данныхPostgresql. Разбить массив на строки

Все наверно или сталкивались, или столкнуться с проблемой разбиения массива ARRAY[anyelment], anyelment, …] на строки.
» Читать полностью…

PHPСледите за кодом

Казалось бы столько статей написано про это и всё же я не поленюсь еще раз озвучить это в блоге. Да, как бы тривиально и старо это не звучало, дейсвительно не надо забывать зачем мы все сталь программистами. Я вот считаю, что если уж заниматься этим, то по-полной, уделяя программированию кучу времени и вдумываясь в код.
» Читать полностью…

Базы данныхОбход массива в PostgreSql (plpgsql)

Долго не мог понять как обходить массив в пользовательской процедуре в PostgreSql. Надо было распарсить url по знаку (&) и пробежать по параметрам по одному.

Так plpgsql язык для меня новый, решение нашел не сразу. Предлагаю вам ознакомиться:

1
2
3
4
5
6
queryArray = string_to_array(queryString, '&');
FOR i IN array_lower(queryArray, 1) .. array_upper(queryArray, 1) LOOP
    queryParam = queryArray[i];

    ...
END LOOP;
1
2
queryString text - наша строка после знака вопроса и до якоря (#)
queryParam text - собственно параметр.

И как только я не пытался обходить массивы и в WHILE LOOP и просто в LOOP, но это вариант, пожалуй самый правильный.

Всем удачи в получении новых знаний.

ОчеркиОпять про Interzet. История о том, как интернет неделю починить не могут

Все началось с того, что 04 октября 2011 года вечером моя жена сказала мне, что интернет не работает и что, когда она позвонила в службу поддержки, сказали что поломка «нормальная такая». На следующий день я решил сам спросить что такое – сказали, что кровельщики сорвали провода – ну, это, конечно может быть. Жду. Интересно сколько времени может понадобиться, чтобы починить?
» Читать полностью…

PHPЦветной текст в консоли

И опять burik666 подсказал мне одну очень ценную фичу!

1
2
3
4
5
6
7
8
9
#!/bin/bash
echo -e "\033[00;30m 00;30m \033[00m \033[02;30m 02;30m \033[00m \033[01;30m 01;30m \033[00m \033[01;40m 01;40m \033[00m"
echo -e "\033[00;31m 00;31m \033[00m \033[02;31m 02;31m \033[00m \033[01;31m 01;31m \033[00m \033[01;41m 01;41m \033[00m"
echo -e "\033[00;32m 00;32m \033[00m \033[02;32m 02;32m \033[00m \033[01;32m 01;32m \033[00m \033[01;42m 01;42m \033[00m"
echo -e "\033[00;33m 00;33m \033[00m \033[02;33m 02;33m \033[00m \033[01;33m 01;33m \033[00m \033[01;43m 01;43m \033[00m"
echo -e "\033[00;34m 00;34m \033[00m \033[02;34m 02;34m \033[00m \033[01;34m 01;34m \033[00m \033[01;44m 01;44m \033[00m"
echo -e "\033[00;35m 00;35m \033[00m \033[02;35m 02;35m \033[00m \033[01;35m 01;35m \033[00m \033[01;45m 01;45m \033[00m"
echo -e "\033[00;36m 00;36m \033[00m \033[02;36m 02;36m \033[00m \033[01;36m 01;36m \033[00m \033[01;46m 01;46m \033[00m"
echo -e "\033[00;37m 00;37m \033[00m \033[02;37m 02;37m \033[00m \033[01;37m 01;37m \033[00m \033[01;47m 01;47m \033[00m"

PHPPregressbar на php для Cli

Давно хотелось сделать что-то, что помогало бы отслеживать процент выполнения задачи в cli. Как раз сегодня с утра приятель и коллега burik666 случайно дал мне вектор, дав код крутяшки:

1
$ php -r '$a="\|/-"; while (true){ for ($i=0; $i<4;$i++){echo "\r",$a[$i].$a[3-$i]; usleep(100000); } }'

Я собственно тут же знал как это дело применить, так как давно хожу с идеей прогресс бара для cli в голове.
Долго думать не пришлось, состряпал на 5 минут сие творение:

1
2
3
4
5
6
7
8
9
function progress($percVal)
{
    echo "\rProgress: |".str_pad(str_repeat('-', $percVal / 2), 50, ' ',STR_PAD_RIGHT)."| {$percVal}%";
}
for($i = 1; $i < 100; $i++)
{
    progress($i);
    usleep(100000);
}

Код до ужаса прост, надо только знать стандартные строковые функции php.

Вся магия в «\r» – он собственно возвращает каретку в начало строки

ОчеркиInterzet крутит палёную рекламу

Здравствуйте! Хочу рассказать как столкнулся с непростительной ошибкой, а может быть и нет, провайдера Interzet.

Несколько дней назад на обоих моих домашних компьютерах на совершенно разных сайтах начал всплывать непонятный баннер, но сразу я как-то внимания на него не обратил. И только вчера, после того, как он появился у меня на страницах Яднекс.Метрика, Вконтакте и HeadHunter я был очень расстроен и решил посмотреть что же там такое.
» Читать полностью…