Monday, June 27, 2011

ACL - access control list

An access control list (ACL), with respect to a computer file system, is a list of permissions attached to an object. An ACL specifies which users or system processes are granted access to objects, as well as what operations are allowed on given objects. Each entry in a typical ACL specifies a subject and an operation. For instance, if a file has an ACL that contains (Alice, delete), this would give Alice permission to delete the file. (c) wikipedia There is a useful article from Symfony tutorial with good explanation http://symfony.com/doc/current/cookbook/security/acl_advanced.html

Friday, June 24, 2011

Некоторые настройки стандартного набора Symfony под Ubuntu

Некоторые установки, которые понадобились мне при настройке стандартного набора Symfony под Ubuntu.

Установка PHP Accelerator (APC)
sudo apt-get install php-apc
sudo apt-get install php5-intl
sudo service apache2 restart

Monday, May 16, 2011

Функция sprintf в PHP

Сегодня речь пойдет о функции sprintf. Она предоставляет целый спектр возможностей для форматирования текста.

Напомним основное. Таково описание функции.
string sprintf ( string format [, mixed args] )
где
$format - это некий шаблон, в который в результате выполнения функции подставляются заданные нами значения $args

Например, с помощью sprintf можно форматировать число, дополняя его нулями до нужной нам длины. Делается это так:
print(sprintf("Это %03d", 15));
Получим вывод:
Это 015
Расшифруем шаблон "Это %03d", который мы передали функции.
Все шаблоны для подстановки начинаются с символа "%".
Мы задали аргумент 15 и этим шаблоном показали функции отформатировать число так, чтобы оно состояло из 3 символов - "Это %03d".
Также, тот факт, что недостаюшие символы дополнились нулями, не случаен - мы задали это в шаблоне, написав "Это %03d".
Мы могли написать так "Это %3d", тогда недостаюшие символы дополнились бы пробелами. Потому что пробел - это значение по умолчанию.
Также значением по умолчанию является и тот факт, что дополнение нулей происходит слева.
В нашем примере мы передавали в качестве аргумента 15, т.е. значение типа integer. Символ "d" появляется в шаблоне в связи с этим. В этом случае аргумент трактуется как integer. "Это %03d". Если бы в качестве аргумента нужно было передать строку, мы бы использовали "s" вместо "d".

А вдруг нам не нужны нули, а нужен, например, символ "$"?
Тогда нам следует воспользоваться символом " ' ".
Шаблон будет выглядеть так: "%'$3d"
Получим вывод:
$15
Если мы хотим, чтобы дополнение происходило не с левой, а с правой стороны, то нужно воспользоваться символом "-"
Шаблон будет выглядеть так: "%'$-3d"
На этот раз получим вывод:
15$
Это только малая доля возможностей, предоставленных функцией sprintf, которые более подробно можно изучить конечно же в мануале ;).

Wednesday, May 11, 2011

Установка Apache, PHP и MySQL на Ubuntu.

Я ставила на Ubuntu 11.04. Без проблем поставилось, проверенный вариант.

Установка Apache

Открываем терминал, и выполняем:
sudo apt-get install apache2
Для запуска и останова Apache2 используем:
sudo invoke-rc.d apache2 start
sudo invoke-rc.d apache2 stop
После запуска Apache2 можно проверить работу сервера перейдя в браузере на страницу http://localhost

Установка PHP

Tuesday, May 3, 2011

Блоки и итераторы в Ruby

В Ruby блоки кода могут использоваться для того, чтобы создавать функции обратного вызова, а также итераторы.
Блоки кода - это то, что находится между скобками { } или do... end

Это блок:
{puts "Hi, man"}
И это тоже блок:
do
  food.buy("bread")
  bread.put
end
Итак, есть два варианта оформить блок. В чем разница?
Вообще, скобки { } более тесно связаны между собой, чем пара do/end.
Можно придерживаться стиля, когда скобки используют, чтобы оформить блок в одну строку, а пару do/end - чтобы оформить блок, который занимает больше одной строки.