Блог

 PHP/Symfony2: аннотации

Я уверен, что если вы используете Symfony2 то использовали аннотаций или видели в документации, понятие аннотаций в PHP/Symfony2 пришло от Python/Django и Java. Благодаря Doctrine2 теперь вы можете писать пользовательские аннотации без особых проблем.

 PHP/Note: получить ключ последнего элемента массива?

Это снова небольшая подборка для тех кто пишет велосипеды, для решения простых задач. Простая обработка массива для получения ключ последнего элемента. Мне нравится Вариант 2 можете пользоваться.

Вариант 1

$needle = [
    'first'  => 123,
    'second' => 456,
    'last'   => 789, 
];

end($needle); // переместить курсор массива на самый последний элемент
$last_key = key($needle); // получить ключ массива где находится курсор

 PHP/Notice: переданный массив является ассоциативный?

Как проверить в PHP является массив ассоциативным или последовательным?

Версия #1

function is_assoc(array $needle) {
    return count(array_filter(array_keys($needle), 'is_string')) > 0;
}

 Note/MySQL: dump всех баз данных

Это маленькое напоминание себе. Как сделать, чтоб mysqldump сделал слепок всех базы-данных в отдельный файл.

 Note: Brew менеджер пакетов

Brew - это мощный консольный инструмент, для OS X, выполняющий такие функции, как установка новых программных пакетов, обновление имеющихся пакетов, обновления списка пакетов. Brew легко устанавливается и просто использовать. Очень полезный инструмент для разработчиков.

 Note: Фиксим предупреждения “unprotected private key file” на Linux

Если вы получаете ошибку, то вы, вероятно, сбросили права на вашем скрытом каталоге .ssh в папке пользователя. Эти файлы не будут доступны для записи, OpenSSH даст вам ошибку, если вы пытаетесь использовать их.

 Полезные ссылки

Сервис для проверки своих регулярных выражение, визуализация с живым редактором. Позволяет наглядно увидеть как работает регулярное выражение и пошаговый разбор строки. Находится здесь: debuggex.com, regex101.com

Сервис для форматирования  и просмотра JSON строки, когда нужно просмотреть в нормальном виде закодированную JSON строку. Находится здесь: jsonformatter.curiousconcept.comdataconverter.curiousconcept.com

Для пользователей *nix/Windows,  самый простой сервис чтобы делать screenshot. Полезно когда споришь с QA, что баг "Can not reproduce". Находится здесь: screencloud.net

Для пользователей Mac/Windows, которые хотели бы создать screencast запись. Полезно для споров с QA и сделать небольшое демо презентацию для  пользователей, заказчик и т. д. Находится здесь: recordit.co

 FAQ/Linux: ‘rm – argument list too long’ error

Столкнулся с такой проблемой, выполняя команду rm -rf ./directory, выдал сообщение "argument list too long".  Ниже показан вариант решения.

find ./data/cache -name "*.dat" -type f -print | xargs rm
find data/cache -name '*.dat' -type f -delete
for i in ./data/cache/*; do rm -rf $i; done
ls ./data/logs | grep dat | xargs rm
Эта команда удалит все файлы в текущем каталоге.

 Mysql: сгенерировать данные для тестирования

Все мы знаем замечательную штуку как "Lorem ipsum", который имеет зачастую бессмысленный и используется для тестирования макета страницы. Будет полезно знать набор запросов в MySQL, которые помогут сгенерировать данные для таблицы.

 JavaScript: шаблоны проектирования

Если Вы хотите узнать какие существуют шаблоны проектирования в JavaScript Вам будет интересно прочитать или посмотреть отдельные части данный книги. Данная книгаориентирована для начинающих, но она будет полезна и для опытных разработчиков