22 октября 2012

Software Stories: Про Сигизмунда


Давным-давно,   в тридевятом царстве, было войско джедайское да проект на котором они боролись против сил тьмы. И был тот проект с технической точки зрения ни хорош, ни плох, ни в парче, ни в порше, а так ваапче.

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

И дело вроде бы нужное, да всем понятное,спору нет - да вот беда - лень витязям ярым да суровым воевать с таким мелким супостатом как система контроля версий, да тесты писать какие-то, бо привыкли они рубить головы кащеям многопоточным да распределенным, высоконагруженным да low-latency.

И решил воевода их взять к себе в дружину еще одного молодца, может не такого удалого, но чтоб мелкого суппостата бил, да чтобы войско не отвлекалось на мелочи всякие.
Много воевода молодцов пересмотрел - кто косой, кто рябой, кто хромой - но сыскал себе в дружину Сигизмунда.

И начал Сигизмунд головы суппостатам помельче рубить, и стало спокойно воеводе да и войску всему.
А тут такая лютая сечь  у всего войска пошла, что всем стало не до Сигизмунда, и стал он предоставлен сам себе.
Тем временем Сигизмунд совсем мелких суппостатов на голову разбил и стал думать как бы ему так забороть еще какого суппостата, да так чтоб войску всему да воеводе удаль свою показать.

И решил Сигизмунд написать фреймворков своих, да утилит чтобы суппостата бить можно было удобно. Написал Сигизмунд фреймворков  да утилит и внедрил их в проект - стало дружина жить легче, да еще сильнее врага бить. Да никто из дружины за той радостью и не заметил, что написал Сигизмунд не конька-горбунка, а велосипед с колесами не круглыми, и вместо седла у него дилда большая.

А Сигизмунд тем временем получил предложение от другого воеводы и ушел в другую дружину.

Много ли, мало ли времени прошло, а дружина все каталась на велосипеде Сигизмунда,и к дилде даже со временем привыкла. Но потребовалось им к велосипеду еще одно колесо приделать, а разбирать и переделывать велосипед никто не хочет , потому как попросят еще кучу всего сделать, да еще и дилду как-то убрать,а она гвоздями прибитая.

И решил воевода взять Сигизмунда как наемника на время.
В тот день Сиизмунд узнал такие слова как "job security",а воевода так ничего и не понял.

17 октября 2012

Link: Автоматизация тестирования мобильных приложений на примере eBay

Вкратце: Автоматизаторы в eBay настолько суровы что смогли заинтегрировать Selenuim Grid как с Android, так и с Apple UI Automation. Называется это все Calabash и iOS Driver, оба выложены на GitHub

Полезняшка: Сброс кэша Opera с помощью Selenium

Как я уже писал вот тут мне потребовалось иметь возможность сброса кэша всех браузеров.
Вот расковырял как это делать с Opera.

OperaProfile operaProfile = new OperaProfile();
operaProfile.preferences().set("Cache", "Cache Docs", false);
operaProfile.preferences().set("Cache", "Cache Figs", false);
operaProfile.preferences().set("Cache", "Cache HTTPS After Sessions", false);
operaProfile.preferences().set("Cache", "SVG Cache Size", 0);
 
operaProfile.preferences().set("Disk Cache", "Cache Docs", false);
operaProfile.preferences().set("Disk Cache", "Cache Figs", false);
operaProfile.preferences().set("Disk Cache", "Cache HTTPS", false);
operaProfile.preferences().set("Disk Cache", "Cache Other", false);
operaProfile.preferences().set("Disk Cache", "Media Cache Size", 0);
 
operaProfile.preferences().set("OEM", "Operator Cache Size", 0);
 
 
operaProfile.preferences().set("User Prefs", "Automatic RAM Cache", false);
operaProfile.preferences().set("User Prefs", "Cache Directory4", "");
operaProfile.preferences().set("User Prefs", "Cache Style File", "");
operaProfile.preferences().set("User Prefs", "Max Number Cached Bitmaps", 0);
operaProfile.preferences().set("User Prefs", "Operator Cache Directory4", "");
operaProfile.preferences().set("User Prefs", "Strategy On Application Cache", 0);
operaProfile.preferences().set("User Prefs", "Maximize New Windows", 1);

Link: О результатах код внедрения Code Review

Вот тут есть статья о результатах внедрения процедуры ревью кода.
Должен сказать, что я сам неоднократно был наблюдателем за подобного рода процессами и уже не в одной фирме.
Результаты правда были куда как менее радужными, однако положительные тенденции тоже имели место быть.
Описанное в статье более похоже на сказку, но есть склонность ей верить.
Процедуры ревью кода, TDD, коллективное владение кодом - все эти практики не столько инженерные , сколько организационные, потому при правильном их применении эффект может быть гораздо выше ожидаемого.


P.S. Code Collaborator описанный в статье - очень мощный инструмент.


02 октября 2012

События: Yet Another Conference 2012


Итак побывал.
Место проведения  - 75 павильон ВВЦ

Публика - очень разношерстная,но вся заинтересованная.
Поразило полное отсутствие (ну или крайне тихое поведение) школоты - уж не знаю почему, но явно плюс конференции.

Программа - неоднозначная.
Я конечно ходил по секциям посвященным тестированию, но был и ряд интересных докладов не по теме.
Очень смутило что на такую тему как Cocaine было выделено всего час, я бы выделил отдельный трек.
Почему-то доклад Алексея Емелина по тестированию безDOMных компонентов съехал в трек Фронтенда, а не тестирования.

В остальном - секция тестирования выстрелила - Артем Ерошенко, Иван Кацев, Николай Алименков.
Доклад Артема Ерошенко, на мой взгляд, был лучшим докладом конференции - тема функционального мониторинга среды с помощью автотестов прет по всей отрасли и они словили волну первыми.
Ну и конечно главное событие  - презентация браузера от Яндекса, в который интегрирована куча облачных сервисов, Turbo mode от Opera и много-много-много всего.

Организация - "на троечку".
Толпы народа на регистрацию, отсутствие баннеров расписанием в холлах и у залов, растворимый кофе (бууэээээээ!!!!), никакой возможности (даже снэкмашины!) перекусить-попить кофе между докладами.


В общем в организационном плане проведения мероприятия Яндексу есть еще куда расти, но создать атмосферу технологичной компании вокруг себя  - им явно удалось.
Молодцы, не жалею что пошел!!!

P.S. Фотографии и видео не буду вешать принципиально - этого и без меня понакидают выше головы.