Мар 13
Вот наткнулся в Википедии на статью о шаблонах проектирования. Рекомендую к прочтению.
Для тех кто не знаком с определение паттернов предлагаю цитату из Вики:
Шаблоны проектирования (паттерн, pattern) – это эффективные способы решения характерных задач проектирования, в частности проектирования компьютерных программ. Паттерн не является законченным образцом проекта, который может быть прямо преобразован в код, скорее это описание или образец для того, как решить задачу, таким образом, чтобы это можно было использовать в различных ситуациях. Объектно-ориентированные шаблоны зачастую показывают отношения и взаимодействия между классами или объектами, без определения того, какие конечные классы или объекты приложения будут использоваться. Алгоритмы не рассматриваются как шаблоны, так как они решают задачи вычисления, а не проектирования.
А если »многа букаф», тогда вот определение от меня:
Шаблоны проектирования – это способ сэкономить время разработчика на выдумывание «велосипедов». Паттерны являются своего рода описанием того, как можно решить типичные задачи при проектировании приложений.
Короче, штука не просто полезная, а необходимая.
Кроме общего описания, в вышеуказанной статье также даны ссылки на описания множества распространенных шаблонов.
ЗЫ: Хотя описания шаблонов достаточно понятны более-менее опытному разработчику, новичкам, скорее всего, будет тяжело без конкретных примеров реализации. Я попробую отыскать примеры использования паттернов в PHP и буду выкладывать их на своем блоге.
Автор: Кирилл Павлюков
\\ Метки: PHP, Шаблоны проектирования
Мар 13
В одном из прошлых постов я написал, как установить и запустить прокси-сервер Squid под FreeBSD. В той заметке была указана лишь минимальная настройка, которая никак не затрагивала вопрос об авторизации. Пришло время «донастроить» прокси.
Итак, Squid предоставляет различные механизмы авторизации пользователей. Какой из них выбрать – зависит от ваших потребностей. Меня вполне устроила NCSA-авторизация, о ней и расскажу.
Для использования этого механизма, нужно добавить в конфиг-файл следующие строки:
1 2 3 4
| auth_param basic program /usr/local/libexec/squid/ncsa_auth /usr/local/etc/squid/users<br/>
auth_param basic children 5<br/>
auth_param basic realm Squid proxy-caching web server<br/>
auth_param basic credentialsttl 2 hours |
А также заменить строку
на
1 2 3
| acl users proxy_auth REQUIRED<br/>
http_access allow users<br/>
http_access deny all |
Теперь нужно создать файл /usr/local/etc/squid/internet_users и добавить в него пользователей. Делается это с помощью утилиты htpasswd. Если файл с паролями еще не существует, выполните htpasswd с ключом -с:
1 2 3 4
| s1# htpasswd -c /usr/local/etc/squid/users kirill<br/>
New password: *****<br/>
Re-type new password: *****<br/>
Adding password for user kirill |
Если же вам нужно добавить пользователя в уже существующий файл, выполните
1 2 3 4
| s1# htpasswd /usr/local/etc/squid/users kirill<br/>
New password: *****<br/>
Re-type new password: *****<br/>
Adding password for user kirill |
Посмотрите теперь на файл паролей. В нем должна появиться строка, содержащая введенное вами имя ползователя и хэш его пароля, разделенные двоеточием.
1 2
| s1# cat /usr/local/etc/squid/users<br/>
kirill:0Q2rNA.AEfZOk |
В общем, настройка завершена. Осталось заставить Squid перечитать настройки, чтобы внесенные изменения вступили в силу.
Автор: Кирилл Павлюков
\\ Метки: FreeBSD, Squid, настройка