2008/11/22

Вышел Komodo Edit 5
и к нему addon SourceTree http://community.activestate.com/addons?page=3
Особенно расписывать Комодо не буду, скажу лишь, что он на движке мозилы, и поддерживает подсветку и "умную дополнение" многих языков программирования

2008/11/06

Пишем CMS. Часть 2: ловим ошибки

Как я уже писал, сейчас мы будем заниматься ошибками. Нам нужно:
а) чтобы пользователь ошибок не видел
б) чтобы владелец ресурса об ошибках был в курсе
Для этого мы (надеюсь, все внимательно ознакомились с мануалом http://php.net/manual/ru/book.errorfunc.php про перехват ошибок?) сначала настроим пхп в соответствии с требованиями. Воспользуемся функцией ini_set() и страничкой с описанием конфигурации. Примерно так:
error_reporting E_ALL | E_STRICT
display_errors "Off"
html_errors "Off"
Ах, да! внимательно прочитав описание error_reporting мы видим, что во время выполнения скрипта нас просят пользоваться функцией error_reporting(); воспользуемся.

Теперь пхп настроен как нам надо. Займемся перехватом ошибок. Обратим внимание на замечательную функцию set_error_handler() - она указывает пхп, кто\что будет заниматься обработкой ошибок вместо стандартного обработчика. На сайте приведён достаточно хороший пример, рассказано и показано, какого вида должна быть функция обратного вызова (callback fucntion). Так что я не буду заниматься здесь пережёвыванием мануала.
Но мы ведь собирались просто логировать ошибки? Для этого можно воспользоваться функцией log() из предыдущего примера, либо по аналогии написать функцию error(), либо (внимание!) провести небольшой рефакторинг функции log() так, чтобы она принимала местоназначение лога.

На сегодня у меня всё.
Успехов.

Свободный дизайн

Нашёл замечательный сайт http://www.oswd.org/ Open Source Web Design - Открытые макеты сайтов. Это вам не какие-нибудь "besttemplates" или "100 лучших бесплатных шаблонов".
Это торжество идеи ОпенСорс! Троекратное "Ура!" Столлману! ;)

2008/11/05

Пишем CMS: система логирования

Как я уже писал, каждая система должна начинаться с кнопки "Выход". Так как веб-приложение, в принципе, не нуждается в реализации такой кнопки, напишем что-нибудь полезное, например, систему логирования. А затем, быстренько, на её основе - систему логирования ошибок.
В мануале мы находим главу Error Handling and Logging и там - очень полезную функцию error_log . Пишем обёртку (wrapper)

function log( $log_message )
{
error_log(
date('Y-m-d H:i:s ') . $log_message . "\r\n", /* оформляем сообщение */
3 /* писать будем в файл */,
'logs/common.log' /* внимательно выбирайте имя файла и chmod */
);
}

всё.
Теперь в скрипте достаточно вызвать функцию log('сообщение для лога'); и без всяких чудес лог заполняется.

Успехов.

2008/11/01

Как рассчитать свою зарплату

Деньги. Вообще, я склонен думать, что работа не может приносить материального удовлетворения. Потому что денежные знаки конвертируются в удовлетворение моральное и просто поддержание здоровья. Посчитаем их:
аренда жилья около <подставить нужное> с квартплатой и комм.услугами
проезд к месту работы 17х2х22 = 748руб.
обед (учитывая расположение офиса в центральной части города) 250х22 = 5500руб.
просто питание дома 150х30 = 4500руб.
техническая литература ~250руб.\том
периодические технические издания ~120руб.\шт
культурные удовольствия, типа посещения клубов\театров\выставок ~250руб.\1билет

Первые 4строки уже дают сумму более Nтыс.руб. <необходимый минимум для выживания> и это при условиях, что сюда не включены медобслуживание, периодическое обновление гардероба, повышение квалификации, рост цен, рост доллара, падение цен на нефть, поддержание материального положения матери-пенсионера, жена, дети и другие дорогостоящие удовольствия типа приобретения мотоцикла.