четверг, 28 апреля 2011 г.

Заметки о РИТ 2011

25-26 апреля мне довелось посетить конференцию интернет-технологий РИТ2011. Полезность-интересность оказалась процентов 30-40, что на мой взгляд очень неплохо.
Зная за собой любовь к записям, которые потом "ловким движением руки" превращаются в мусор, на сём мероприятиии записывал только отдельные слова :), чтобы потом
чтобы в дальнейшем, в спокойной обстановке их погуглить и изучить внимательнее.
собственно, эти записи здесь и приведены.

С.Панкратов.Управление через коучинг
Коучинг - содействие развитию; создание и поддержка долгосрочных отношений.
Эрикссоновский гипноз.
Базовые принципы
  1. У людей всё хорошо (решать вопрос, а не человека)
  2. Люди всё знают (всё, что им надо)
  3. Люди делают всё наилучшим образом (наилучшим способом из доступных/известных им на данный момент)
  4. Всегда есть положительное намерение
  5. Изменения будут всегда

Вопросы к оппоненту
А как ты сам думаешь ?
А что ты уже пробовал с этим сделать б

Тренд на HTML5.
HTML5Doctor.com
web-standards.ru
html5.js (для отображения в IE6)

Рисуем интерфейсы
- ТЗ, как набор картинок-прототипов для GUI-интерфейса
- инструменты (balsamiq)

GWT 2.x
Тяжёлая, но работающая технология для построения enterprise-приложений в облаке ()

"Эльба - электронный бухгалтер"(http://www.e-kontur.ru)
Новая облачная технология, как альтернатива 1C

KPI от яндекса
Главные вопросы - почему и зачем.
- самоанализ
- оценка ресурсов (есть/надо)
- бонусы
Критерии (27 штук с примерами)
- сложность разработки
- участие в развитии системы, сверх решения основных задач (модули, компоненты)
- работа с контролем версии (просмотр результата после коммита)
- коммандная работа (обучение, ...)
- дисциплина
Как
- стоимость критерия в баллах ("стоимость" того или иного критерия)
- простота учёта
- автоматизация учёта (2 мин/день на учёт, 15 мин/квартал на расчёт)
Заметки
- KPI и их критерии должны быть озвучены, т.к. фактически меняются правила игры
- !? прикинуть оценку по KPI при приёме на работу, т.к. они не зависят от личного отношения

Нагрузка
- мониторинг приложения, а не железа
- не "тупая" оптимизция - анализ сценариев работы пользователей и приложений
- memcashed (noSQL хранилище для кэширования. ! посмотреть !)
- RRDTool

Тестирование JS
- phantomJS и вообще...

Google Closure
- ! посмотреть !

среда, 6 апреля 2011 г.

Первый опыт использования utPLSQL

Ссылка на первые шаги в документации : http://utplsql.oracledeveloper.nl/doc/fourstep.html

1.Устанавливаем utPLSQL.
Устанавливаем как сказано в разделе "Step 1. Install utPLSQL". Я ставил в отдельного пользователя UTP. Тут важно не забыть прописать отдельно право "GRANT EXECUTE ON DBMS_PIPE TO UTP" (мне сначала прав не хватило, и пакет UTPPIPE не скомпилировался) 

2. Пишем тестовый пакет к собственному пакету.
Тест как в примере "Step 3. Build a test package." Имя тестового пакета =  префикс "UT_" + имя рабочего пакета. Например, рабочий PNX_ENQUERY, тестовый UT_PNX_ENQUERY. префикс можно поменять в настройках. В тестах можно(и нужно) использовать набор утверждений из пакета utAssert, например utAssert.eq(...)

3. Запуск теста
"utPLSQL.test('PNX_ENQUERY',recompile_in => FALSE);". Заметьте, что PNX_ENQUERY - имя рабочего пакета.
Засада :
В документации написано так, что я полтора дня угробил пока понял как это запускать после внесения изменений. Итак, если править тестовый пакет, и без выхода из сессии(сеанса) пробовать запустить тесты, то будет всё-время ошибка на уровне пакетов utPLSQL. Поэтому, логично будет править в обычном режиме - и рабочий и тестовый пакеты, а вот для запуска я написал простенький скрипт, который запускает отдельную сессию SQLPlus и выполняет тесты в ней, отписывая результаты в локальный файл.
Вот так, например :
bat-ник:
sqlplus scott/tiger@(DESCRIPTION...) @splus_exec.sql
splus_exec.sql:
set serveroutput on
spool c:\Temp\aaa.txt
exec utPLSQL.test('PNX_ENQUERY',recompile_in => FALSE);
spool off
exit


4. Анализ результатов.
В файле результатов, полученном на выходе, будет большими буквами SUCCESS или FAILURE, и детали, с указанием мест ошибок (и хороших результатов тоже)
Например вот так                                                                              
>    SSSS   U     U   CCC     CCC   EEEEEEE   SSSS     SSSS                    
>   S    S  U     U  C   C   C   C  E        S    S   S    S                   
>  S        U     U C     C C     C E       S        S                         
>   S       U     U C       C       E        S        S                        
>    SSSS   U     U C       C       EEEE      SSSS     SSSS                    
>        S  U     U C       C       E             S        S                   
>         S U     U C     C C     C E              S        S                  
>   S    S   U   U   C   C   C   C  E        S    S   S    S                   
>    SSSS     UUU     CCC     CCC   EEEEEEE   SSSS     SSSS                    
SUCCESS: "PNX_ENQUERY"                                                         
> Individual Test Case Results:                                                
>                                                                              
SUCCESS - PNX_ENQUERY.UT_GETUNITS: EQ "Всё ок..." Expected "1" and got "1"

Выбор инструмента тестирования для PL/SQL

Конечный выбор : utPLSQL



Выбирал из utPLSQL(free), PLUTO(free), Quest Code Tester for Oracle (595$/1лицензия), Oracle SQL Developer(free)

Пойду от плохого к хорошему :

Oracle SQL Developer : обзор почему этот инструмент ещё не дозрел - http://www.fuzzy.cz/en/articles/unit-testing-plsql-code-in-sql-developer-problems/

PLUTO : очень мало документации, корявое использование объектов

Quest Code Tester for Oracle : отличная штука - её делает тот же разработчик, что ранее написал бесплатный utPLSQL, но теперь это ещё и GUI-среда, и автоматическое создание тестов и т.п. Немного сложно сначала от обилия возможностей, но в дальнейшем, думаю, должно себя оправдать. Есть триал, на котором я тренировался. Один недостаток - платная :)

utPLSQL - старая (2008) и рабочая лошадка. часть действий приходится делать вручную. но работает. Будем использовать.

понедельник, 4 апреля 2011 г.

О книге Д.Лазарева "Презентация.Лучше один раз увидеть"

В целом понравилось. Сжато. Просто. По делу. Запоминать советы бессмысленно - нужна практика. Думаю, надо иметь под рукой при подготовке презентации. http://www.labirint.ru/books/190955/

Слайдомент
Слайдомент рождается из желания сэкономить время и в попытке скрестить документ со слайдом. За двумя зайцами погонишься, ни одного не поймаешь.
Готовя презентацию, создавайте по отдельности слайды и печатный документ.

Подготовка презентации
Создайте мыслительную карту (mindmap). Сначала создайте центральный образ - изображение или символ, которые передают суть презентации. Из центрального образа проведите радиальные линии-идеи. Выберите по ОДНОМУ ключевому слову для каждой вестви.
  • пишите печатными буквами
  • по-разному выделяйте наиболее важные слова
  • придерживайтесь тактики №одно слово - одна линия"
  • используйте символы-рисунки

Бумага и карандаш
Используйте стикеры и доски. Один листок = одна идея. Сначала подготовьте всё без компьютера, и только потом переносите.

Изображения
http://lazarev.biz/2008/09/19/99free/


7 основных принципов дизайна слайдов
  1. Принцип соотношения сигнал/шум. Сокращение лишних элементов. Избегайте трёхмерных графиков, убирайте логотипы с каждого кадра (оставьте на первом и последнем)
  2. Принцип читабельности. Выбор шрифтов и цветов. Шрифт - 30 (возраст самого старого зрителя делённый на 2 :)). Arial, Verdana, Tahoma. Используте светлый текст на тёмном фоне.
  3. Принцип пустого пространства.Выделение главного элемента. Не бойтесь пустоты. Пустое пространство - это не "белое пятно", оно несёт усиление отдельных элементов.
  4. Принцип выравнивания.Наличие визуальной взаимосвязи всех элементов на слайде.
  5. Принцип контрастности.Демонстрация иерархии между элементами слайда. Используйте ОГРАНИЧЕННОЕ количество способов выделения (1-2) на всех слайдах презентации. Выделение жирным предпочтительно, т.к. вносит минимум "шума". Не увлекайтесь интенсивностью и количеством цветов - будет рябить в глазах.
  6. Принцип повторения.Сохранение единого стиля во всех слайдах.
  7. Принцип близости.Расположение взаимосвязанных элементов на слайде. Группируйте связанные элементы вместе, физически перемещая их друг к другу.

Определение качественных слайдов - слайды без презентатора бесполезны.

Донесение презентации
Два практических совета :
-сказать что будет (в чём состоит проблема, в чём важность проблемы, каково решение)
-повторить несколько раз, в различных вариантах

Стиль короткой презентации "печа куча" (20x20)
www.pecha-kucha.org:
- только 20 слайдов
- каждый слад меняется каждые 20 сеунд
 
Всё время презентации -6мин.40 сек

Удержание внимания
Не ждите неусыпного внимания - это нереально.
  • переключайтесь между обобщением (ключевая идея) и конкретикой (история, анекдот, аналогия)
  • чередуйте изложение и демонстрацию
  • переключайтечь между "лекцией" и "взаимодействием с участниками" (вопросы-ответы)
  • используйте юмористические фото-видео-фрагменты
  • "и в заключении..." - все оживляются, время подвести итоги

Практика
  1. Готовьтесь заранее (1-2 недели)
  2. Сделайте несколько "прогонов" вслух
  3. Не учите наизусть
  4. Используйте мыслительные карты и сценарии
  5. Засекайте продолжительность выступления
  6. Составьте список возможных "трудных" вопросов, особенно негативных
  7. Используйте видеокамеру