Бытует мнение, что программисты — безответственные, ленивые индивидуалисты, вечно срывающие сроки. Так и есть! Шучу. Конечно, отчасти это верное, хоть и сильно утрированное, утверждение, но оно относится не только к разработчикам, а в принципе к «работникам умственного труда». И основная причина — в неправильной организации рабочего времени и коммуникаций в команде. В это статье я хочу рассказать, какие изменения мы внедрили в отделе разработки UMI и что из этого вышло.
Мало кто задумывается, что программирование любого веб-проекта на PHP - по сути такое же параллельное программирование, как если бы вы делали это в более низкоуровневых языках, таких как "C" или "Erlang". Когда на ваш сайт идёт поток траффика, на нём в один и тот же момент времени параллельно и одновременно отрабатывают множество экземпляров ваших PHP-скриптов. А значит между ними могут возникнуть классические эффекты "ожидания и опережения", когда нужно предусматривать строгую последовательность выполнения данных.
В то же время, любой достаточно длинный алгоритм требует больше ресурсов, а так же более сложен в отладке и в тестировании. Когда вы в сложном проекте программируете длинную цепочку (или большой набор) взаимосвязанных действий, вы закладываете самому себе фундамент для головной боли при отладке на конечных этапах проекта. Чем больше вы связываете функции между собой, тем более вы нарушаете принцип инкапсуляции - одной из четырёх основ правильного программирования. И сложная логика грозит вырасти в клубок связанных действий, который придётся распутывать каждый раз заново.
Данное решение полезно, если на сайте вам нужен блок преамбул случайных статей или отзывов.
Идеология такова: создаем в модуле структура "страницу контента", называем ее, к примеру, - "Статьи" и вкладываем в нее n-ное количество подстраниц (самих статей).
Здравствуйте, коллеги и читатели блога UMI.CMS! Надеюсь, вы приятно удивились, увидев новое лицо среди авторов блога. Только в отличие от прочих авторов я не являюсь сотрудником Юмисофт - просто я давно и в большом количестве разрабатываю сайты на UMI.CMS. За время работы с системой у меня накопилась книга интересных рецептов для UMI.CMS, которыми я планирую делиться с вами в этом блоге. Сегодня я начну с вывода случайного ID страницы, начиная от родителя.
Ниже приведу две разновидности кода для различных видов размещения рекламы SAPE.
Благодарим Михаила Самсонова (http://www.get-profit.com) за оказанную помощь в решении.
Внимание: в коде перед последним символом "процент" в макросах поставлен пробел. Этот пробел нужно убрать после размещения в файле.
Продолжая светлое дело Филиппа, хочу рассказать вам несколько рецептов работы на UMI.CMS. Возможно, некоторые из них покажутся тривиальными и неинтересными для "продвинутых" пользователей, но тем, кто недавно начал работать с системой управления, они обязательно будут полезны.
Мы переписали большую часть документации для разработчиков. Это связано с серьезными изменениями, которые произошли в 2.6 и недостатками предыдущей документации. В данный момент документация доступна по адресу api.umi-cms.ru и находится в состоянии беты. Надеемся, что будут поступать предложения по ее улучшению. После появления итоговой версии мы сделаем скачиваемые pdf и chm версии.