Гойко Оджич о целях разработки

 Если очередной релиз или проект в целом позволяет достичь поставленной бизнес-цели, то это успех с точки зрения бизнеса, даже если в итоге

разработанный продукт будет отличаться от того, что было предусмотрено первоначально. В

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

при этом не позволяет решить поставленную бизнес-задачу, его следует признать провальным.

Это верно даже тогда, когда разработчики не без оснований обвиняют клиента, что он сам

толком не понимает, чего хочет.

Гойко Оджич ” Impact Mapping”

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

 Исследование, проведенное Гэри Кляйном на материале аварийно-спасательных служб

и армейских подразделений, показало, что при осуществлении любой деятельности люди на

местах должны понимать конечные цели операции, иначе они не в состоянии правильно реа-

гировать на непредвиденные проблемы.

Гойко Оджич об этапе определения целей в подходе Impact Mapping

 Центральная часть impact map должна отвечать на самый важный вопрос: зачем мы это

делаем? Это цель, которую мы стремимся достичь.

Может показаться, что стремление в самом начале проекта получить ясный ответ на этот

вопрос – всего лишь проявление здравого смысла. Однако мой опыт показывает, что лишь

немногие из разработчиков точно знают, какие бизнес-цели преследует заказчик. Иногда их

описывают в каком-либо формальном документе, но чаще всего бизнес-цели существуют лишь

в головах заинтересованных лиц. Даже в тех редких случаях, когда бизнес-цели доводятся до

разработчиков, они зачастую сформулированы весьма смутно.

Гойко Оджич “Impact Mapping”

Гойко Оджич об InUse и Impact Mapping

 Карты эффектов InUse скорее ориентированы на содействие инновационному дизайну продуктов и дизайну пользовательского опыта. Однако наиболее распространенными проблемами в компаниях, с которыми я работаю в качестве консультанта, являются недостатки в применяемых методах разработки, расползание границ проекта, тенденция упускать из вида общую картину, недостаточная ориентация разработчиков на достижение бизнес-целей. Эти организации бесполезно тратят массу времени и усилий на создание не того программного обеспечения, которое им нужно. Impact mapping представляет собой фантастический способ свести эти страдания к минимуму.

Гойко Оджич “Impact Mapping”

Ubuntu rvm

В свой последний приезд Лёня Лукин подкинул книженцию по rails. Вроде как дошли руки ее пощупать, но меня поджидал фэил в самом начале пути.

Установил ruby-rvm на Ubuntu 12.04. Начал инсталлить ruby и gems  согласно инструкции.

rvm install 1.9.2

Фигакс, сообщает мне под конец, что установка не удалась посмотрите log.

ERROR: Error running ‘make ‘, please read /usr/share/ruby-rvm/log/ruby-1.9.2-p180/make.log
ERROR: There has been an error while running make. Halting the installation.

Смотрю log. Обнаруживаю там следующую запись.

ossl_ssl.c:110:1: ошибка: «SSLv2_method» undeclared here (not in a function)
ossl_ssl.c:111:1: ошибка: «SSLv2_server_method» undeclared here (not in a function)
ossl_ssl.c:112:1: ошибка: «SSLv2_client_method» undeclared here (not in a function)
make[1]: *** [ossl_ssl.o] Ошибка 1
make[1]: Выход из каталога `/var/cache/ruby-rvm/src/ruby-1.9.2-p180/ext/openssl’
make: *** [mkmain.sh] Ошибка 1

Как же я ненавижу ваш linux, мелькнуло в голове. Дальнейший алгоритм понятен, ищем в Гугле решение.

 # don’t use ubuntus openssl 
rvm pkg install openssl 
rvm install 1.9.2 –with-openssl-dir=$rvm_path/usr
Вива, Кальман. Фокус удается. 
Оригинал решения здесь

Wtf debian-sys-maint?

Переносили базы mysql в debian из другой опрерационной системы или повредили базу с названием “mysql”, или имели счастье установить ее заново? ) Поздравляю, возможно у вас теперь появилась такая вот проблема:

debatest:~# /etc/init.d/mysql restart Stopping MySQL database server: mysqld. Starting MySQL database server: mysqld. Checking for corrupt, not cleanly closed and upgrade needing tables.. /usr/bin/mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)' debatest:~# /usr/bin/mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'

Как это исправить? И что это вообще за пользователь такой? Итак, открываем /etc/mysql/debian.cnf находим в нем строку password, запоминаем – это пароль пользователя debian-sys-maint, нужного для запуска хотя-бы проверки таблиц при старте сервера. Заходим в клиента mysql и выполняем два запроса:

GRANT RELOAD, SHUTDOWN, PROCESS, SHOW DATABASES, SUPER, LOCK TABLES ON *.* TO ‘debian-sys-maint’@’localhost’ IDENTIFIED BY ‘– тут пишем его пароль –‘;
GRANT ALL PRIVILEGES ON *.* TO ‘debian-sys-maint’@’localhost’ IDENTIFIED BY ‘– тут пишем его пароль –‘ WITH GRANT OPTION;

После этого ошибка исправляется и мы плывем дальше. )

Оригинал: http://www.liveinternet.ru/users/stasikos/post80304705/

Потеря сессии в IE

Пришлось столкнуться с идиотическим багом, портящим кровь. Информации по нему не так много, поэтому публикую на всякий случай.

Предыстория:
Руководитель проекта сообщил, что пользователь жалуется. Он логинится, передвигается по сайту и вдруг оказывается снова на странице авторизации. Проверили production-сервер и development . Никаких проблем не обнаружили. Но при добавлении очередной фичи , понадобилось проверить production-сервер в IE. И вот оно… Все как говорил пользователь, проходишь авторизацию, начинаешь бродить или даже просто делать refresh страницы – оказываешься на странице аутентификации, куда попадает только незалогиненный пользователь. Делаем вывод, куда-то потерялась сессия. Причем, проблема повторялась на всех доступных версиях IE.

Проверяю на development-сервере и на рабочей машине. Проблем нет. Значит дело 100% не в коде, нужно смотреть настройки сервера. Начинаю искать проблему. В основном попадается околотхенический бред. В конце концов натыкаюсь на то, что нужно.

http://swfupload.org/forum/generaldiscussion/1206

http://simply.com.au/blog/2009/11/flash-uploader-drops-the-session-in-internet-explorer/

Рецепт прост, меняем конфигурацию патча для php suhosin:

suhosin.session.cryptua = off
suhosin.session.encrypt = off

Если вы не имеете доступ к php.ini, вы можете внести эти изменения через .htaccess или в самом коде через ini_set

По умолчанию эти опции включены. То бишь, проблемы возникли именно из-за suhosin и его шифрования сессии на уровне движка php. К сожалению не нашел более полного описания этой проблемы и возникает она не со всеми версиями. На машине, где возникла проблема стоял suhosin patch 0.9.32.1 На моей рабочей машине 0.9.10, на ней никаких проблем не возникает.

Как правильно перемещать новую ветку на удаленный git репозитиорий и с него

Чтобы закинуть новую ветку на удаленный репозиторий:

git push origin newbranch

Чтобы забрать ветку, не забываем сделать 

git pull

а затем

git checkout -b newbranch origin/newbranch