PHP error undefined variable/index

PHP избавление от ошибок undefined variable/index.
Notice: Undefined variable: button in /var/www/localhost/htdocs/ds_info/test.php on line 28
Notice: Undefined index: s_button in /var/www/localhost/htdocs/ds_info/test.php on line 21
Проверяем, что GET/POST не пустые перед присвоением переменной.
$button = $_GET['s_button']; - так не надо
if (isset($_GET['s_button'])) $button = $_GET['s_button']; - надо так


Читать дальше

В защиту PHPи JAVA ;)

Многие плюются на php, есть даже шутка:
Вы указали в резюме знание php.. Вам не стыдно?
По факту же довольно большое количество крупных сайтов его используют. Чаще всего это не “чистый” PHP, а высокопроизводительные детища в виде HipHop от FB (его использует и Wiki) или KPHP от VK, но, например, jruby тоже не совсем Ruby. 


Читать дальше

Linux: rsync, scp передача файлов между серверами Linux

RSYNC

rsync – удобная утилита для выгрузки файлов с одного сервера на другой. Часто используется для backup. Rsync поддерживает шифрование (для уменьшения объема передаваемых данных) и может работать по ssh (мной только так и используется) при использовании опции -e (для безопасной передачи по сети).

Читать дальше

Linux: работа с текстом (fmt, sed, awk, tr, cut, cat/tac, tee, column, uniq, sort)

GREP в отдельной статье

fmt
  • примеры есть в cheat.sh
  • вариаций форматирования много

Форматирование данных на входе – к примеру по умолчанию fmt осуществит форматирование, которое приведет к лучшему чтению:

    • объединение слов в одну строку если слов мало в каждой строке
    • или наоборот, вместо одной длиной строки сделает несколько коротких
root@serv:~# cat >sw
Hello
world
and
not
world
root@serv:~# fmt sw
Hello world and not world

root@spr:~# cat >sw
Hello world and not world Hello world and not world Hello world and not world Hello world and not world Hello world and not world Hello world and not world
root@spr:~# fmt sw
Hello world and not world Hello world and not 
world Hello world and not world Hello world 
and not world Hello world and not world 
Hello world and not world


tr ; CUT
  • The cut utility cuts out selected portions of each line (as specified by list) from each file and writes them to the standard output
# Print a range of each line with a specific delimiter:
command | cut --delimiter="," --fields=1

# Print a specific character/field range of each line:
command | cut --characters|fields=1|1,10|1-10|1-|-10

Подмена всех пробелов (в том числе повторяющихся) на одну запятую с использованием tr и опции -s

 -s Squeeze multiple occurrences of the characters listed in the last operand (either string1 or string2) in the input into a single instance of the character.


Читать дальше

Уход за часами & радио-синхронизация времени

Уход

На основе инструкции к моим Casio DW-5600WB, которые я купил вместо Apple Watch 2.

  • Нежелательно мыть мылом
  • Нежелательно нажимать кнопки в воде
  • После бассейна (хлорка), моря (соль) или любой грязи нужно промыть часы в обычной воде и протереть. Оказывается, даже если используется нержавейка если не очистить своевременно предмет от грязи может возникать ржавчина.


Читать дальше

Cisco ASR9k: разное

  • Шассийные коммутаторы типо ASR9k заменяются в современных ДЦ на “пицца боксы” – горизонтальное масштабирование вместо вертикального
BNG – термин старый, сейчас часто используется в контексте реализации на классическом p-роутере (типа ASR9k) функционала bras.
Индикация портов
В отличии от мелких железок, на крупных типа ASR9k зачастую можно визуально понять, что порт заблокирован.


Читать дальше