понедельник, 19 августа 2013 г.

Эрик Эванс о модели предметной области

Модель предметной области - это не некая нарисованная схема, а идея, которую схема должна отражать. Это не просто знания специалиста по данному предмету; это строго организованная выборка из такого знания. Схема может наглядно изображать модель, передавать информацию о ней, но того же самого можно добиться и при помощи программного кода или предложения на "человеческом языке". Моделирование предметной области не нацелено на создание максимально "реалистичной" модели. Даже в мире осязаемых, реальных вещей наша модель будет всего лишь искусственным творением. Но моделирование не состоит и в том, чтобы просто сконструировать программный механизм, который бы давал нужный результат. Процесс моделирования чем-то близок к съемке фильма - это тоже примерное изображение реальности , служащее конкретной цели. Даже в документальном фильме не показывают реальную жизнь совсем без прикрас. Как кинематографист выбирает отдельные аспекты реальной жизни и показывает их в своеобразном виде для раскрытия сюжета или передачи послания фильма, так и специалист, моделирующий предметную область, выбирает модель сообразно с ее применимостью .


Эрик Эванс "Предметно-ориентированное проектирование"

среда, 5 июня 2013 г.

SoapClient не передает заголовки Basic Authentication

Столкнулся на проекте с необычной штукой. SOAP-сервер находился под http-аутентификацией. На development машинах код работал без ошибок. Но при выгрузке на production стал давать при инициализации клиета ошибку:

SOAP-ERROR: Parsing WSDL: Couldn't find  

 Поставил сниффер на машину с сервером. Оказалось, что  SoapClient, которому в options задавались логин и пароль не передавал заголовок Authentication. Причем было это, как я уже сказал, только на production сервере, где стояла Gentoo. Проблема была решена сменой версии php

5.3.8-pl0-gentoo на 5.3.25-pl0-gentoo

Вероятно, к этой версии баг был пропатчен.

понедельник, 3 июня 2013 г.

понедельник, 27 мая 2013 г.

Wordpress 2.6.1 под php 5.3

Пришлось перетаскивать старый сайт сделанный на Wordpress 2.6.1. Тут  же повылетали сообщения, что передача по ссылке уже запрещена. Обновляться до новой версии 3 не хотелось, поскольку может обернуться необходимостью тратить еще кучу времени на фиксирование несовместимостей, а времени особо нет.


Починил пока при помощи sed

 find -name \*.php -exec sed -i 's/=&/=/g' {} \;

Осталось  пофиксить ругань на eregi в админке, а так, вроде запустилось. 




 

суббота, 20 апреля 2013 г.

Ошибка в меню Joomla

При переходе на php5.3 сайт на старой Joomla стал выкидывать warning 

modMainMenuHelper::buildXML() expected to be a reference, value given


Лечится простым фиксом  в /modules/mod_mainmenu/helper.php.
Меняем function buildXML(&$params) на function buildXML($params).

среда, 3 апреля 2013 г.

Using vimdiff as git diff tool

git config --global diff.tool vimdiff 

git config --global difftool.prompt false 

git config --global alias.d difftool 


Typing git d yields the expected behavior, type :wq in vim cycles to the next file in the changeset.

суббота, 2 марта 2013 г.

Из книги Гойко Оджича "Impact Mapping"

 К важным действующим лицам относятся конечные пользователи, а

также внутренние или внешние по отношению к проекту люди, принимающие

решения. Алистер Коберн советует искать действующих лиц трех типов:

1. Первичные действующие лица, на удовлетворение потребностей

которых направлен процесс разработки, например, игроки игровой системы.

2. Вторичные действующие лица, которые предоставляют услуги,

например, команда, занимающаяся предотвращением мошенничества.

3. Закулисные действующие лица, которые имеют заинтересованность в

проекте, но непосредственно не извлекают из него выгоду и не предоставляют

услуги. Пример – государственные агентства, регулирующие данный вид

деятельности, лица, принимающие решения на самых высоких уровнях в

соответствующих компаниях.

Linux: генерация рандомной строки для пароля

 cat /dev/urandom | tr -dc '[:alnum:]' | fold -w ${1:-20} | head -n 1