<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7317504408463627049</id><updated>2012-02-01T10:49:39.935+02:00</updated><category term='игнор'/><category term='меняться'/><category term='гришковец'/><category term='объятия'/><category term='последовательность'/><category term='горка'/><category term='удивление'/><category term='mind map'/><category term='учения'/><category term='ментальное дерьмо'/><category term='сериалы'/><category term='инкубационный период'/><category term='аспекты'/><category term='люблю'/><category term='энергия'/><category term='4метное пространство'/><category term='таймдрайв'/><category term='важность'/><category term='якоря'/><category term='баловство'/><category term='главное начать'/><category term='победитель'/><category term='карандаш'/><category term='не бойся'/><category term='заработок'/><category term='инетмагазин'/><category term='плачь'/><category term='талант'/><category term='ключевые слова'/><category term='синтезатор'/><category term='сайт'/><category term='грусная песня'/><category term='внутренний мир'/><category term='обучение'/><category term='интерсность'/><category term='вебинар'/><category term='хочу'/><category term='иррационал'/><category term='нравоучения'/><category term='менторство'/><category term='подарок'/><category term='Firefox'/><category term='первый'/><category term='кредит'/><category term='код ревью'/><category term='гадания'/><category term='поиск квартиры'/><category term='брусья'/><category term='mp3'/><category term='мнение'/><category term='неприятно'/><category term='юношеский максимализм'/><category term='что сделал'/><category term='сдаться'/><category term='защита от дурака'/><category term='заголовок'/><category term='любознательность'/><category term='игра'/><category term='сбывание'/><category term='видеоуроки'/><category term='твиттер'/><category term='повторение'/><category term='ссылки на сайт'/><category term='5 утра'/><category term='Паст'/><category term='утверждение'/><category term='якорь'/><category term='медитация'/><category term='Театральная площадь'/><category term='стамина'/><category term='качества'/><category term='оптимизация'/><category term='флешмоб'/><category term='объемное видение'/><category term='proxy class'/><category term='Марк Леви'/><category term='Web проект'/><category term='аудит жизни'/><category term='tdd'/><category term='code'/><category term='инструментарий'/><category term='менеджер'/><category term='ABC'/><category term='бизнесс'/><category term='не есть'/><category term='вера в себя'/><category term='место'/><category term='ограничение'/><category term='выражение лица'/><category term='зрение'/><category term='мануал'/><category term='падение'/><category term='photoshop'/><category term='влюбленность'/><category term='второе дыхание'/><category term='подготовка'/><category term='бездействие'/><category term='ночная смена'/><category term='буратино'/><category term='фамилия'/><category term='корпорации'/><category term='мало'/><category term='GTD'/><category term='семья и близкие'/><category term='жадность'/><category term='книги'/><category term='измени себя'/><category term='неинформативность'/><category term='самообман'/><category term='решения'/><category term='грусть'/><category term='превосходство'/><category term='учиться'/><category term='несогласие'/><category term='эмулятор'/><category term='нехочу'/><category term='сомнения'/><category term='фаулер'/><category term='удаление'/><category term='увлечение'/><category term='выбор вариантов'/><category term='неправда'/><category term='периодичность'/><category term='скорая'/><category term='мыльница'/><category term='плохо'/><category term='простота'/><category term='знанния'/><category term='юмор'/><category term='тормоза'/><category term='макинтош'/><category term='требования'/><category term='мировое господство'/><category term='соус'/><category term='иррационалы'/><category term='чудо'/><category term='терпимость'/><category term='снежинка'/><category term='кот'/><category term='время'/><category term='фиксация'/><category term='Дарвин'/><category term='Дон Хуан'/><category term='фракталы'/><category term='подход'/><category term='ИМХО'/><category term='Punto Swicher'/><category term='чувство'/><category term='следствие'/><category term='xml'/><category term='микросхема'/><category term='окружающие'/><category term='христианство'/><category term='робот'/><category term='статистика'/><category term='FogBugs'/><category term='обезвоживание'/><category term='притяжение'/><category term='stylish'/><category term='зрелость'/><category term='диковинки'/><category term='просветление'/><category term='хороший человек'/><category term='Вселенная'/><category term='жизненные цели'/><category term='поведение'/><category term='приолы'/><category term='раздражители'/><category term='пост'/><category term='поиск ответа'/><category term='действия'/><category term='ИИ'/><category term='ответы'/><category term='карьера'/><category term='искусство'/><category term='2011'/><category term='правда'/><category term='стики'/><category term='боезнь'/><category term='презентация'/><category term='свет'/><category term='книга'/><category term='лампа'/><category term='вопрос'/><category term='акции'/><category term='Code Review'/><category term='формулировка задачи'/><category term='язык'/><category term='разные'/><category term='красная икра'/><category term='знать'/><category term='люди подтянутся'/><category term='достжение'/><category term='старость'/><category term='люди'/><category term='коучинг'/><category term='перед сном'/><category term='запрост'/><category term='разговор'/><category term='Desire HD'/><category term='дзен'/><category term='разместить банер'/><category term='навязывание'/><category term='рапорт'/><category term='совершенствование'/><category term='обжорство'/><category term='конкретное дело. чистота'/><category term='стресс'/><category term='тоника'/><category term='лишнее'/><category term='Denwer'/><category term='windows7'/><category term='трюки'/><category term='класс'/><category term='зания'/><category term='овощь'/><category term='пилот'/><category term='Mockito'/><category term='&quot;Hi All&quot;'/><category term='styler'/><category term='ожидание'/><category term='школа. стереотипы'/><category term='резюме'/><category term='спутник'/><category term='знания'/><category term='саперорешатель'/><category term='хороший'/><category term='борьба'/><category term='выводы'/><category term='смотритель'/><category term='природа'/><category term='старнность'/><category term='лайфхак'/><category term='документация'/><category term='объявление'/><category term='критика'/><category term='сознание'/><category term='электрика'/><category term='контроль'/><category term='сравнение'/><category term='лидер проекта'/><category term='взгялд'/><category term='мобильный'/><category term='вавка'/><category term='эволюция'/><category term='депресия'/><category term='правила'/><category term='тамменеджмент'/><category term='черная дыра'/><category term='манипулирование'/><category term='тон'/><category term='формулировка'/><category term='навтроение'/><category term='шаблоны'/><category term='советы'/><category term='мужчины'/><category term='полный'/><category term='совет'/><category term='дневник успеха'/><category term='вина'/><category term='не хочу'/><category term='отдых'/><category term='деньши'/><category term='предусмотрительность'/><category term='писательство'/><category term='маятник'/><category term='аффирмации'/><category term='задачи'/><category term='не обычно'/><category term='GPathResult'/><category term='благоприятные условия'/><category term='окружение'/><category term='одноклассники'/><category term='проф-fest'/><category term='пряник'/><category term='эталон'/><category term='главное'/><category term='Михалков'/><category term='ДАИ'/><category term='оишбки'/><category term='менеджмент'/><category term='день'/><category term='блок'/><category term='reminder'/><category term='просьба'/><category term='ScrapBook'/><category term='WinRar'/><category term='DBfit'/><category term='незнакомец'/><category term='пешком'/><category term='ребенок'/><category term='воркшоп'/><category term='серость'/><category term='срочность'/><category term='романтика'/><category term='состояние'/><category term='слушать'/><category term='боль'/><category term='виджет'/><category term='нефть'/><category term='регулярные выражения'/><category term='зависть'/><category term='несправедливость'/><category term='двойки'/><category term='того чего нет'/><category term='Львов'/><category term='чем заниматься'/><category term='качество'/><category term='фотки'/><category term='еда'/><category term='сиськи'/><category term='subclipse'/><category term='мыл'/><category term='банки'/><category term='экстрасенс юный'/><category term='архив'/><category term='инвестиции'/><category term='пришельцы'/><category term='свобода'/><category term='журналы'/><category term='действительность'/><category term='Голландия'/><category term='по умолчанию'/><category term='хорошие'/><category term='доходы'/><category term='насыщение'/><category term='отравление'/><category term='секрет'/><category term='отсутствие постороннего'/><category term='Аквариум'/><category term='EasyMock'/><category term='плесень'/><category term='решение'/><category term='реклама'/><category term='хронометраж времени'/><category term='общения'/><category term='чувства'/><category term='отдаление'/><category term='dvd'/><category term='собственность'/><category term='самостоятельность'/><category term='чистил крышу'/><category term='iphone'/><category term='google map'/><category term='удовлетворение'/><category term='атомы'/><category term='код'/><category term='наоборот'/><category term='радость'/><category term='внутренний диалог'/><category term='учись'/><category term='нудное дело'/><category term='задача'/><category term='QA'/><category term='автомат'/><category term='кнгри'/><category term='доска для планирования'/><category term='лыжи'/><category term='земля'/><category term='поток'/><category term='лидерство'/><category term='уникальность'/><category term='транзистор'/><category term='сопротивление'/><category term='разлука'/><category term='скорость света'/><category term='ссора'/><category term='доброе утро'/><category term='тренерство'/><category term='игнорирование'/><category term='ковыряние в носу'/><category term='уровень'/><category term='диод'/><category term='задачка'/><category term='поисковики'/><category term='человек'/><category term='голосеевский лес'/><category term='комп'/><category term='немое кино'/><category term='сестра'/><category term='environment'/><category term='позиив'/><category term='очумелыеручки'/><category term='квартирный вопрос'/><category term='for'/><category term='карта'/><category term='территория'/><category term='блог'/><category term='layout'/><category term='ppt'/><category term='чутье'/><category term='мы'/><category term='результаты'/><category term='деградация'/><category term='семья'/><category term='фотка'/><category term='вред'/><category term='телепередача'/><category term='гашение'/><category term='регги'/><category term='центр'/><category term='переезд'/><category term='духи'/><category term='dependency injection'/><category term='креатив'/><category term='прощание'/><category term='тараканы'/><category term='simple'/><category term='nero'/><category term='песня'/><category term='дорога'/><category term='войны'/><category term='сиська'/><category term='золото'/><category term='hello world'/><category term='спектакль'/><category term='уговоры'/><category term='трудное время'/><category term='белый'/><category term='карточка'/><category term='кодирование'/><category term='пульт'/><category term='электровелосипед'/><category term='инет'/><category term='snake. марафон'/><category term='partition magic'/><category term='исчерпаемые ресурсы'/><category term='оптимизм'/><category term='все так как есть'/><category term='емейл'/><category term='перодоление'/><category term='устно'/><category term='Старик'/><category term='прогресс'/><category term='диаграммы'/><category term='рассвет'/><category term='мастерство'/><category term='дети'/><category term='журнал'/><category term='случайность'/><category term='чат'/><category term='безделье'/><category term='недоверие'/><category term='не нравится'/><category term='позитивные стороны'/><category term='жаворонок'/><category term='погоня'/><category term='хитрости'/><category term='прорыв'/><category term='карты'/><category term='email'/><category term='ревьюшечки'/><category term='краткость'/><category term='ответ на мейлру'/><category term='усталость'/><category term='paint'/><category term='Plugin'/><category term='нереализованое желание'/><category term='норбеков'/><category term='папка'/><category term='святой'/><category term='спор'/><category term='точка зрения'/><category term='Subversion'/><category term='доказательство'/><category term='совпадения'/><category term='фильм'/><category term='св. Миколай'/><category term='свинной грипп'/><category term='как'/><category term='богомол'/><category term='линк'/><category term='свалка'/><category term='поход на работу'/><category term='гейпарад'/><category term='диалог'/><category term='спираль'/><category term='Cron'/><category term='тренировка'/><category term='перемены'/><category term='мудрецы'/><category term='touchpad'/><category term='нехватка'/><category term='зависимость'/><category term='ждать'/><category term='повторения'/><category term='амосова'/><category term='кесарево'/><category term='заставлять'/><category term='определение'/><category term='дисциплина'/><category term='ресурс'/><category term='таворняк'/><category term='вертолет'/><category term='животный инстинкт'/><category term='XMind'/><category term='поиск работы'/><category term='осознание'/><category term='пыхтеть'/><category term='пароль'/><category term='разум'/><category term='союз'/><category term='ускорение'/><category term='Создатель'/><category term='завлечение'/><category term='принятие решения'/><category term='ошибка'/><category term='яндекс'/><category term='разработка'/><category term='социум'/><category term='мобильные устройства'/><category term='PHP'/><category term='цитаты'/><category term='здоровье'/><category term='актив'/><category term='не твое'/><category term='пот'/><category term='twitter'/><category term='записи'/><category term='отговорки'/><category term='суббота'/><category term='завтра'/><category term='gmail'/><category term='постепенно'/><category term='исповедь отладки'/><category term='итерация'/><category term='матрица'/><category term='душа'/><category term='Архангельский'/><category term='внутренний голос'/><category term='Wget'/><category term='как я выгляжу'/><category term='Template Method'/><category term='самопожертвование'/><category term='annotations'/><category term='анекдот'/><category term='насекомые'/><category term='аудио'/><category term='таймменеджмент'/><category term='мандельброт'/><category term='чистота'/><category term='отладка'/><category term='материализовать'/><category term='прозрение'/><category term='квест'/><category term='хорошая жизнь'/><category term='ошибки'/><category term='забей'/><category term='практика'/><category term='стартап'/><category term='.net'/><category term='тонометр'/><category term='injection'/><category term='переживание'/><category term='демотиватор'/><category term='Машина Времени'/><category term='аренда'/><category term='фриланс'/><category term='цель'/><category term='GlobalLogic'/><category term='реакция'/><category term='собеседования'/><category term='неудача'/><category term='программы'/><category term='осторожность'/><category term='КЛАД'/><category term='женщина'/><category term='приоритеты'/><category term='стакан'/><category term='предложение'/><category term='мы в ответе'/><category term='жопа'/><category term='гон'/><category term='новый опыт'/><category term='много'/><category term='праивльность'/><category term='изменить мир'/><category term='загадка'/><category term='текст'/><category term='PTGui'/><category term='веселый код'/><category term='360'/><category term='мысль'/><category term='гипноз'/><category term='джон кехо'/><category term='негатив'/><category term='девайс'/><category term='много снега'/><category term='нежелание'/><category term='собрание'/><category term='роль'/><category term='позитивная визуализация'/><category term='смаковать'/><category term='пластик'/><category term='чай'/><category term='есть'/><category term='знание'/><category term='восприятие речи'/><category term='assert'/><category term='что делать'/><category term='банкомат'/><category term='проектирование'/><category term='рекурсия'/><category term='acceptance'/><category term='ухищрение'/><category term='аромат'/><category term='колея'/><category term='Far'/><category term='поиск'/><category term='Рок'/><category term='Smartblend'/><category term='козлы'/><category term='графические редакторы'/><category term='подражание'/><category term='грустно'/><category term='мианино'/><category term='баян'/><category term='сосредоточенность'/><category term='баги'/><category term='параметризация'/><category term='фантазия'/><category term='прививки'/><category term='новые знания'/><category term='читатель'/><category term='спокойность'/><category term='Стив Джобс'/><category term='глобальный капец'/><category term='хочется'/><category term='поезд'/><category term='activity as dialog'/><category term='философы'/><category term='слои'/><category term='visual basic'/><category term='kivi'/><category term='Fitnesse'/><category term='пожелуста'/><category term='полная Омега'/><category term='ожидания'/><category term='деьги'/><category term='maven'/><category term='человеческий фактор'/><category term='стена'/><category term='чтение'/><category term='Принцип Питера'/><category term='гипотеза'/><category term='СанЁк'/><category term='деятельность'/><category term='ООП'/><category term='думать'/><category term='денди'/><category term='обобщение'/><category term='телевизор'/><category term='интерес'/><category term='вузы'/><category term='ведущий'/><category term='море'/><category term='ответы мейл ру'/><category term='cliptoo'/><category term='апофиг'/><category term='ненормальность'/><category term='за спиной'/><category term='парное программирование'/><category term='teddy bear'/><category term='не останавливаться'/><category term='звезды'/><category term='зона интересов'/><category term='изменение мира'/><category term='сердце'/><category term='метафора'/><category term='Madonna'/><category term='гугл'/><category term='иллюзия'/><category term='Дзень'/><category term='очевидное'/><category term='поменять мир'/><category term='глаза'/><category term='переработка'/><category term='тренинг'/><category term='консерванты'/><category term='провал'/><category term='reflection'/><category term='процедурный код'/><category term='мысли'/><category term='относительность'/><category term='обед'/><category term='взгляд'/><category term='визитки'/><category term='переводчик'/><category term='каркать'/><category term='путешествие'/><category term='путь'/><category term='midi'/><category term='trouble-shooter'/><category term='общение'/><category term='агрегация'/><category term='печаль'/><category term='установка'/><category term='задание'/><category term='первый шаг'/><category term='женская логика'/><category term='рисунки на песке'/><category term='первый опыт'/><category term='соттвествие словам'/><category term='ShuHaRi'/><category term='унитаз'/><category term='композиция'/><category term='тренировки'/><category term='барометр'/><category term='sax'/><category term='СМИ'/><category term='баланс'/><category term='chkdsk'/><category term='иррациональность'/><category term='ЧИК'/><category term='комфорт'/><category term='особенность'/><category term='приколы'/><category term='гармония'/><category term='знаки зодиака'/><category term='эксперименты'/><category term='изменить себя'/><category term='вкус'/><category term='религия'/><category term='Котляревского'/><category term='ПВА'/><category term='Перельман'/><category term='успех'/><category term='рабство'/><category term='рамки'/><category term='осеждение'/><category term='не работает'/><category term='дела'/><category term='сложность'/><category term='зарплата'/><category term='доверие'/><category term='мультик'/><category term='бля'/><category term='Стив Павлина'/><category term='смысл'/><category term='прививка'/><category term='дурачиться'/><category term='мусор'/><category term='Пятница'/><category term='отношение'/><category term='стереотипы'/><category term='первопроходчество'/><category term='информеры'/><category term='фейсбук'/><category term='профи'/><category term='бумага'/><category term='триллер'/><category term='Владимир Леви'/><category term='готовка'/><category term='пение'/><category term='ссоры'/><category term='конфликт'/><category term='манипуляции'/><category term='word'/><category term='рейтинг'/><category term='MS-DOS'/><category term='менталитет'/><category term='спасибо'/><category term='issue/bug tracking system'/><category term='Bon Jovi'/><category term='лексический анализатор'/><category term='революция'/><category term='гамма'/><category term='кладбище'/><category term='тренер'/><category term='Алла Пугачева'/><category term='осмысление'/><category term='xp'/><category term='компания'/><category term='Алексей Солнцев'/><category term='паранойя'/><category term='фан'/><category term='цветомузыка'/><category term='ежедневник'/><category term='Маврикий'/><category term='друг'/><category term='безразличие'/><category term='НЛП'/><category term='символ'/><category term='слова'/><category term='муза'/><category term='фримен'/><category term='интерфейс'/><category term='windows 98'/><category term='жалоба'/><category term='тип личности'/><category term='прощение'/><category term='диплом'/><category term='природа вещей.'/><category term='жалеть'/><category term='ясность'/><category term='quizful'/><category term='fixture'/><category term='эпилепсия'/><category term='ария'/><category term='контрастный душ'/><category term='дейли'/><category term='крыша'/><category term='фидбек'/><category term='языки'/><category term='сделай хорошо'/><category term='война'/><category term='ответы на мейлру'/><category term='булевская алгебра'/><category term='влечение'/><category term='j3qq4'/><category term='зачистка'/><category term='матафора'/><category term='ретроспектива'/><category term='панорама'/><category term='тимворк'/><category term='Как изменить размер диска'/><category term='воспитание'/><category term='Windows98'/><category term='работа'/><category term='список'/><category term='крайности'/><category term='безвозмездно'/><category term='финансы'/><category term='жизнь'/><category term='дрифтер'/><category term='мозга'/><category term='мозг'/><category term='морфиус'/><category term='слепой 10 пальцевый'/><category term='специались'/><category term='крйность'/><category term='три желания'/><category term='свое дело'/><category term='Орлов'/><category term='белочка'/><category term='Senior'/><category term='О&apos;Рейли'/><category term='СМС'/><category term='трейни'/><category term='гравитация'/><category term='электроника'/><category term='pass test'/><category term='наркоманы'/><category term='терпение'/><category term='экскурсии'/><category term='дискавери'/><category term='творчество'/><category term='горе'/><category term='эффективность'/><category term='доступ к файлу'/><category term='бюрократия'/><category term='antipatterns'/><category term='мужчина'/><category term='глухота'/><category term='SVN'/><category term='смысл жизни'/><category term='незаметность'/><category term='сон'/><category term='школа'/><category term='необычное'/><category term='художник'/><category term='настровение'/><category term='пиво'/><category term='цитата'/><category term='макдональдс'/><category term='JUnit хитрости'/><category term='почта'/><category term='кино'/><category term='очищение'/><category term='пианино'/><category term='эмоции'/><category term='баран'/><category term='макросы'/><category term='tobiz'/><category term='не твое это'/><category term='сова'/><category term='каждый день'/><category term='это невозможно'/><category term='взрослые'/><category term='Кася'/><category term='послания'/><category term='убеждения'/><category term='квесты'/><category term='проверять информацию'/><category term='стих'/><category term='с начала'/><category term='сверчек'/><category term='стадо'/><category term='мир'/><category term='комплимент'/><category term='слабость'/><category term='камни'/><category term='global logic'/><category term='гвозди'/><category term='шаблон'/><category term='черновцы'/><category term='волосатая хрюша'/><category term='ГовНет'/><category term='FEST'/><category term='совпадение'/><category term='планы'/><category term='гости'/><category term='observer'/><category term='капельница'/><category term='старсть'/><category term='сантаклаус'/><category term='шутки'/><category term='трансерфинг'/><category term='поле вариантов'/><category term='строители'/><category term='не за что'/><category term='простая фабрика'/><category term='привычка'/><category term='обратная связь'/><category term='XDebug'/><category term='обход'/><category term='запрос'/><category term='кальцификат в мозгу'/><category term='волнение'/><category term='программист'/><category term='iso'/><category term='не говорить'/><category term='пожелания'/><category term='элекроника'/><category term='Дед Мороз'/><category term='народ'/><category term='компании'/><category term='достоин'/><category term='Армстронг'/><category term='офис'/><category term='Николай Алименков'/><category term='норма'/><category term='Фредди Меркьюри'/><category term='идеи'/><category term='hashCode'/><category term='характер'/><category term='изменения'/><category term='наблюдатели'/><category term='осторожно'/><category term='поступать нелогично'/><category term='молчать'/><category term='осознанность'/><category term='Луна'/><category term='руководство'/><category term='неосознанно'/><category term='упяка'/><category term='вычисления в уме'/><category term='удовольствие'/><category term='всегда говори да'/><category term='разнообразие'/><category term='сокрытие'/><category term='Ошо'/><category term='крассные трусы на люстре'/><category term='челлендж'/><category term='Януш Корчак'/><category term='голод'/><category term='начало пути'/><category term='ты'/><category term='timemanagement'/><category term='ответственность'/><category term='самоорганизация'/><category term='эксперимент'/><category term='имя'/><category term='посещаемость'/><category term='система'/><category term='реформа'/><category term='базы данных'/><category term='DirectX'/><category term='конференция'/><category term='старики'/><category term='антидепрессант'/><category term='дело'/><category term='трудности'/><category term='стремление'/><category term='лидер'/><category term='родственники'/><category term='firebug'/><category term='junit'/><category term='аджайл'/><category term='сказки'/><category term='how to'/><category term='непонимание'/><category term='аутокомплиттер'/><category term='разделы'/><category term='рулетка'/><category term='честность'/><category term='велопрогулка'/><category term='хорошее настроение'/><category term='подумтаь'/><category term='страхи'/><category term='copy to clipboard'/><category term='оставь в покое'/><category term='дневник'/><category term='Деня'/><category term='тело человека'/><category term='идем'/><category term='Дэвид Финчер'/><category term='фрирайтинг'/><category term='копирование'/><category term='импланты'/><category term='паника'/><category term='информация'/><category term='зомбирование'/><category term='модель'/><category term='ритуал'/><category term='Славик незаменим'/><category term='legacy code'/><category term='солнце'/><category term='вдохновение'/><category term='кухня'/><category term='прошлое'/><category term='рефрейминг'/><category term='решение проблем'/><category term='внимание'/><category term='тайм драйв'/><category term='dropbox'/><category term='проект'/><category term='swf'/><category term='Panorama Tools'/><category term='гороскопы'/><category term='беспорядок'/><category term='сдерживание'/><category term='ностальгия'/><category term='форматы файлов'/><category term='пререстраховка'/><category term='программа'/><category term='реллакс'/><category term='письмы'/><category term='слово'/><category term='стопицот'/><category term='спариен'/><category term='притча'/><category term='комиксы'/><category term='придумывание'/><category term='сожаления'/><category term='Кастанеда'/><category term='да'/><category term='взаимопомощь'/><category term='все говорят'/><category term='сильные слова'/><category term='достигаторство'/><category term='массажист'/><category term='креативность'/><category term='собеседование'/><category term='галактики'/><category term='карта памяти'/><category term='шкала эмоциональнх тонов'/><category term='windows'/><category term='длать'/><category term='женщины'/><category term='Алан Карр'/><category term='подборить слова'/><category term='очистка унитаза'/><category term='очереди'/><category term='поглажение пищи'/><category term='призыв'/><category term='опыт'/><category term='имменитет'/><category term='понимание'/><category term='разрыв шаблона'/><category term='assertions'/><category term='картинка'/><category term='ключ'/><category term='текст песни'/><category term='точки интереса'/><category term='вера'/><category term='в никуда'/><category term='инструмент'/><category term='чужая страна'/><category term='Семья Жуковых'/><category term='недостаток'/><category term='новаторство'/><category term='длинные имена'/><category term='привычки'/><category term='занятость'/><category term='человечество'/><category term='Панкратов'/><category term='burn'/><category term='печать'/><category term='Secutiry'/><category term='уверенность'/><category term='протест'/><category term='пинарик'/><category term='собеседник'/><category term='лечение'/><category term='альтернативы'/><category term='неудачник'/><category term='янык'/><category term='конверторы'/><category term='дейст вие'/><category term='комьюнити'/><category term='бойцовский клуб'/><category term='atdd'/><category term='полутон'/><category term='зомби'/><category term='изюм'/><category term='профсоюз'/><category term='git'/><category term='лучшее'/><category term='разрешения'/><category term='Hudson'/><category term='социальность'/><category term='refcards'/><category term='желание'/><category term='делегация'/><category term='опасность'/><category term='обдумывание'/><category term='ужастик'/><category term='управление'/><category term='родовое дерево'/><category term='спам'/><category term='йода'/><category term='видео'/><category term='теория'/><category term='PDF'/><category term='несознательное'/><category term='кошки'/><category term='новости'/><category term='набор'/><category term='настрой'/><category term='Strategy'/><category term='день сурка'/><category term='Tomcat'/><category term='нюансики'/><category term='взгляд со стороны'/><category term='наука'/><category term='Eclipse'/><category term='велотур'/><category term='пылесос'/><category term='банк'/><category term='Леонардо да Винчи'/><category term='воспоминание'/><category term='красная или синяя'/><category term='прикольно'/><category term='NTFS'/><category term='доклад'/><category term='хорошее'/><category term='фотик'/><category term='Mock'/><category term='возможности'/><category term='вымысле'/><category term='скорость'/><category term='Бог'/><category term='польза'/><category term='проба'/><category term='анализ'/><category term='потребитель'/><category term='камеди'/><category term='настойчивость'/><category term='оставить после себя'/><category term='потенциал'/><category term='молоко'/><category term='Мартин'/><category term='JIT'/><category term='Высоцкий'/><category term='как начать тренинги'/><category term='неверная интерпретация'/><category term='непривычное'/><category term='постройка дома'/><category term='название'/><category term='ведомый'/><category term='визуализация'/><category term='будущее'/><category term='двоечник'/><category term='скриншот'/><category term='забыли'/><category term='ЛИК'/><category term='Турбо суслик'/><category term='interruption'/><category term='социальные сети'/><category term='восхищение'/><category term='познай себя'/><category term='мыльные пузыри'/><category term='неестественность'/><category term='рот на замке'/><category term='исполнение'/><category term='направление'/><category term='враги'/><category term='найти себя'/><category term='подсознание'/><category term='енергия'/><category term='12'/><category term='ответ'/><category term='remove test'/><category term='выгорание'/><category term='минута славы'/><category term='организация'/><category term='швабра'/><category term='беспокойство'/><category term='весело'/><category term='таллант'/><category term='hot key'/><category term='лжереальность'/><category term='зацикливание'/><category term='государство'/><category term='нетворкинг'/><category term='jar'/><category term='магнетизм'/><category term='трай эррор'/><category term='вконтактах'/><category term='аудиокнига'/><category term='расслабление'/><category term='успешность'/><category term='Ан-225'/><category term='никогда'/><category term='кинотеатр'/><category term='размер'/><category term='перевод'/><category term='Алиса'/><category term='рано спать'/><category term='надо'/><category term='Dependency Inversion'/><category term='безопасность'/><category term='плазма'/><category term='SEO оптимизация'/><category term='компьютер'/><category term='pano2vr'/><category term='SYSTEM'/><category term='refactoring'/><category term='измерение'/><category term='расходы'/><category term='эпидемия'/><category term='процент'/><category term='слова паразиты'/><category term='ангелы'/><category term='статья'/><category term='иллюзии'/><category term='панорамы'/><category term='автоматизация'/><category term='отвержение'/><category term='страшно'/><category term='наряние'/><category term='Бор'/><category term='начальство'/><category term='делегирование'/><category term='отвлекание'/><category term='аналогия'/><category term='забыть'/><category term='балланс'/><category term='переполнение'/><category term='в кайф'/><category term='wiki'/><category term='нравится'/><category term='мантры'/><category term='гороскоп'/><category term='интуиция'/><category term='судьба'/><category term='пластилинчик'/><category term='поисковик'/><category term='уметь летать'/><category term='овтет'/><category term='плыть по течению'/><category term='контент'/><category term='отношения'/><category term='известность'/><category term='бесконечность'/><category term='Милана'/><category term='agile'/><category term='обман'/><category term='плоскости'/><category term='манипуляция'/><category term='цели'/><category term='мечта'/><category term='суета'/><category term='фото'/><category term='Spring'/><category term='фикс'/><category term='благотворительность'/><category term='зона комфорта'/><category term='оченка'/><category term='мурашки'/><category term='директор'/><category term='ЖЖ'/><category term='agilebc'/><category term='курение'/><category term='идея'/><category term='молодость'/><category term='письмо'/><category term='идеал'/><category term='дух'/><category term='сказка'/><category term='миф'/><category term='анимация'/><category term='factory method'/><category term='регистрация'/><category term='выпивка'/><category term='друзья'/><category term='parser'/><category term='решенрие'/><category term='родители'/><category term='области'/><category term='убеждение'/><category term='грабли'/><category term='я предупреждал'/><category term='экология'/><category term='брать'/><category term='пробуждение'/><category term='пати'/><category term='проблемы'/><category term='освобождение'/><category term='записать'/><category term='настроение'/><category term='приключения'/><category term='роллер'/><category term='упорство'/><category term='фортепиано'/><category term='долг'/><category term='пустой инбокс'/><category term='утро'/><category term='отложить'/><category term='заинтересованность'/><category term='нунчаки'/><category term='детство'/><category term='не думал'/><category term='Linked In'/><category term='криткиа'/><category term='просто так'/><category term='реальность'/><category term='кашель'/><category term='планирование'/><category term='IoC'/><category term='вкусы'/><category term='мед'/><category term='клавогонки'/><category term='commit'/><category term='msi'/><category term='декодировка'/><category term='выгода'/><category term='jWebUnit'/><category term='не работа'/><category term='эго'/><category term='формулировки'/><category term='миллион'/><category term='память'/><category term='Копи'/><category term='groovy'/><category term='техника'/><category term='позитив'/><category term='Хаус'/><category term='животные'/><category term='АО МММ'/><category term='собака'/><category term='ламповый компьютер'/><category term='дертсерф'/><category term='захват планеты'/><category term='duck typing'/><category term='google'/><category term='неэфективность'/><category term='пассивный доход'/><category term='забытое'/><category term='товар'/><category term='выглядеть глупо'/><category term='фальшстарт'/><category term='игры'/><category term='связь'/><category term='насекомое'/><category term='думтаь'/><category term='плохой'/><category term='Harmony'/><category term='выздоровление'/><category term='посторонние'/><category term='киев'/><category term='повышение'/><category term='филка'/><category term='Demo спринта'/><category term='физика'/><category term='вежливость'/><category term='ENFP'/><category term='тесты'/><category term='открытость'/><category term='рекорд'/><category term='схемы'/><category term='маятники'/><category term='оранжевый'/><category term='вопросы'/><category term='вызов'/><category term='Ксюха'/><category term='вебкамера'/><category term='похвала'/><category term='будильник'/><category term='активность'/><category term='самооценка'/><category term='закачка сайтов'/><category term='изменение'/><category term='продуктивность'/><category term='окурок'/><category term='скрытность'/><category term='ненормально'/><category term='рост'/><category term='причина'/><category term='этапы развития'/><category term='неясность'/><category term='самореализация'/><category term='эвристика'/><category term='самобалование'/><category term='ангел-хранитель'/><category term='ясновидение'/><category term='шаринг'/><category term='говно'/><category term='занятие'/><category term='учитель'/><category term='время зря'/><category term='внешние воздействия'/><category term='осадок'/><category term='почему?'/><category term='экстрим'/><category term='логика'/><category term='оракул'/><category term='Косынка'/><category term='площадь'/><category term='FIT'/><category term='нет'/><category term='норвегия'/><category term='10 000 часов'/><category term='экономия'/><category term='размышление'/><category term='глобализация'/><category term='все есть'/><category term='starcraft'/><category term='ТДД'/><category term='agileee'/><category term='клип'/><category term='туалет'/><category term='уловки'/><category term='css'/><category term='acronis true image'/><category term='это мое дело'/><category term='LinkedIn'/><category term='моя компания'/><category term='штирлиц'/><category term='благодарность'/><category term='фишка'/><category term='backup'/><category term='устаревание'/><category term='напряг'/><category term='достоинство'/><category term='расходование понапрасну'/><category term='HR manger'/><category term='жилье'/><category term='пробой'/><category term='золотая рыбка'/><category term='Эйнштейн'/><category term='взрослеть'/><category term='страна'/><category term='враг'/><category term='безтолковый'/><category term='размеры'/><category term='выбор'/><category term='напарник'/><category term='ценность'/><category term='заговор'/><category term='одним глазом'/><category term='план'/><category term='характеристика'/><category term='оценка'/><category term='то что есть'/><category term='обвинения'/><category term='разногласие'/><category term='желания'/><category term='сбережения'/><category term='разговоры'/><category term='design patterns'/><category term='непонятные вещи'/><category term='инертность мышления'/><category term='наблюдение'/><category term='javascript'/><category term='смех'/><category term='быстрый подсчет'/><category term='телик'/><category term='увольнение'/><category term='песок'/><category term='плохие'/><category term='стержень'/><category term='делать'/><category term='Yukon'/><category term='мотивация'/><category term='музыка'/><category term='общество'/><category term='духовность'/><category term='активный доход'/><category term='ant'/><category term='кайф'/><category term='краштест'/><category term='ученик'/><category term='ролики'/><category term='Бенджамин Баттон'/><category term='бросить все'/><category term='красный'/><category term='просто я'/><category term='мама'/><category term='веры'/><category term='абстрактный класс'/><category term='защита'/><category term='гениальность'/><category term='яд'/><category term='Java'/><category term='папка Temp'/><category term='случай'/><category term='time'/><category term='тест'/><category term='платить вначале себе'/><category term='напоминалка'/><category term='корпорация'/><category term='отзывы'/><category term='blogger'/><category term='психология'/><category term='планка'/><category term='Java Sun'/><category term='заметки'/><category term='Не'/><category term='мастер-классы'/><category term='pattern'/><category term='скороговорки'/><category term='дружба'/><category term='мудрость'/><category term='конструктив'/><category term='пожиратели времени'/><category term='демо'/><category term='коачинг'/><category term='симорон'/><category term='велосипед'/><category term='болтливость'/><category term='жалость'/><category term='катастрофа'/><category term='снежная баба'/><category term='сила'/><category term='сборы'/><category term='отказ'/><category term='интервал времени'/><category term='начало'/><category term='амнезия'/><category term='чего было'/><category term='Hey Jude'/><category term='blue ray'/><category term='сегодня'/><category term='дешевизна'/><category term='Skype'/><category term='Резерфорд'/><category term='увидеть мир'/><category term='обида'/><category term='сера'/><category term='массаж'/><category term='джин'/><category term='заказ'/><category term='Delphi'/><category term='истина'/><category term='улыбки'/><category term='Я'/><category term='риелтор'/><category term='запоминание'/><category term='доброта'/><category term='Eclipse PDT'/><category term='Александр Якима'/><category term='scanner'/><category term='балласт'/><category term='безсонные ночи'/><category term='первый блин комом'/><category term='маски'/><category term='подавление'/><category term='предвкушение'/><category term='деньги'/><category term='боты'/><category term='пример'/><category term='cd'/><category term='распознавание объекта'/><category term='объяснение'/><category term='профайлинг'/><category term='девушки'/><category term='паркур'/><category term='слух'/><category term='наушники'/><category term='build'/><category term='знакомства'/><category term='рождество'/><category term='Дейл Карнеги'/><category term='дар'/><category term='воспоминания'/><category term='логи'/><category term='Eclipse RPC'/><category term='действие'/><category term='конец'/><category term='распределение'/><category term='видение'/><category term='программисты'/><category term='неуверенность'/><category term='Карнеги'/><category term='лог'/><category term='мульт'/><category term='говнокод'/><category term='картинки'/><category term='опыыт'/><category term='процесс'/><category term='ижзнь'/><category term='IDE'/><category term='черточки'/><category term='авторство'/><category term='цветок'/><category term='рефакторинг'/><category term='счастье'/><category term='зарабатывание'/><category term='планета'/><category term='соотношение'/><category term='фантация'/><category term='газеты'/><category term='обливание'/><category term='gimp'/><category term='посмотреть со стороны'/><category term='собаки'/><category term='жидкий азот'/><category term='интернет'/><category term='комменты'/><category term='видеть'/><category term='потребности'/><category term='Vegas'/><category term='одиночество'/><category term='Ноль'/><category term='пост в блоге'/><category term='дао'/><category term='шутка'/><category term='cvintouch'/><category term='любовь'/><category term='решение задачи'/><category term='слушание'/><category term='исходный код'/><category term='каракули да Винчи'/><category term='ася'/><category term='мультфильмы'/><category term='погружение'/><category term='перемирье'/><category term='детали'/><category term='лес'/><category term='scrum'/><category term='пинатор'/><category term='врачи'/><category term='выкинуть старое'/><category term='спалился'/><category term='iPdad'/><category term='новое'/><category term='зачем'/><category term='шизофрения'/><category term='подих життя'/><category term='Excelsior JET'/><category term='программирование'/><category term='танец'/><category term='suite'/><category term='сближение'/><category term='варган'/><category term='делать что-то иначе'/><category term='улыбка'/><category term='задатки'/><category term='программирвоание'/><category term='брак'/><category term='Что'/><category term='результат'/><category term='test'/><category term='смерть'/><category term='трейнисерфинг'/><category term='слезы'/><category term='дурнал'/><category term='отбор'/><category term='морщить'/><category term='обсуждение'/><category term='пофигизм'/><category term='коктейль'/><category term='вирусы'/><category term='group'/><category term='зима'/><category term='толпа'/><category term='союзник'/><category term='страх'/><category term='песочница'/><category term='хобби'/><category term='влияние'/><category term='любось'/><category term='взаимоотношения'/><category term='инвестиция'/><category term='The Beatles'/><category term='парный программинг'/><category term='целитель'/><category term='кубик Рубика'/><category term='кпд'/><category term='призма восприятия'/><category term='команда'/><category term='FreeBSD'/><category term='аист'/><category term='быт'/><category term='дискомфорт'/><category term='inversion of control'/><category term='xUnit'/><category term='личность'/><category term='прикол'/><category term='конкретика'/><category term='зомби. телик'/><category term='ответы на мейте'/><category term='quality'/><category term='груз'/><category term='опрос'/><category term='TortoiseSVN'/><category term='незаметил'/><category term='форум'/><category term='маска'/><category term='перелом'/><category term='setup'/><category term='полет со скалы'/><category term='proxy'/><category term='чудеса'/><category term='сувенир'/><category term='суперэго'/><category term='много делать'/><category term='закат'/><category term='взлом'/><category term='метро'/><category term='капуста'/><category term='алкоголь'/><category term='папка 111'/><category term='запах'/><category term='история'/><category term='Reflaction'/><category term='Дед'/><category term='научи компьютера'/><category term='фигней страдать'/><category term='собесодование'/><category term='Product Owner'/><category term='пустой'/><category term='ооп код'/><category term='bat'/><category term='Android'/><category term='незнание'/><category term='окружения'/><category term='пусти в сердце'/><category term='ювелирка'/><category term='перенаселение'/><category term='связи'/><category term='развитие'/><category term='мультики'/><category term='работник'/><category term='машина'/><category term='ошбка'/><category term='speedbit'/><category term='деструктивный маятник'/><category term='труд'/><category term='проблема'/><category term='давать'/><category term='лень'/><category term='тесла'/><category term='срах'/><category term='не могу'/><category term='приближение'/><category term='веселье'/><category term='помощь'/><category term='30 дней'/><category term='новый год'/><category term='таймер'/><category term='почему'/><category term='тяга к новому'/><category term='не интересно'/><category term='перегрев'/><category term='один день'/><title type='text'>А пофиг!</title><subtitle type='html'>Если нельзя, но очень хочется, то нужно обязательно и ничего в мире не стоит того, чтобы делать из этого проблему!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default?start-index=101&amp;max-results=100'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>582</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-8891986255063549307</id><published>2012-01-30T19:15:00.000+02:00</published><updated>2012-01-30T19:15:38.308+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='привычка'/><category scheme='http://www.blogger.com/atom/ns#' term='модель'/><category scheme='http://www.blogger.com/atom/ns#' term='время'/><category scheme='http://www.blogger.com/atom/ns#' term='мастерство'/><category scheme='http://www.blogger.com/atom/ns#' term='любовь'/><category scheme='http://www.blogger.com/atom/ns#' term='проба'/><title type='text'>Как полюбить что-то?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Чтобы что-то полюбить надо делать это. Как полюбить не попробовав? Не попробовав не узнаешь. Попробовав, есть шанс что не так понял. Только эксперименты под присмотром мастера помогут сделать как надо. А на мастерство надо время. Со временем привыкнешь. Потом станешь экспертом. Будешь видеть то, что никто не замечает. Полюбишь.&lt;br /&gt;&lt;br /&gt;Итак, пробуй долго и тебе вскоре полюбится. Любишь не вещь, а время проведенное с ней.&lt;br /&gt;&lt;br /&gt;Вот пример, есть 5 кухонь: украинская, японская, русская, итальянская, французская. Как минимум надо попробовать каждую из них, чтобы определиться, что нравится больше. А если некому тебе приготовить? Тогда будешь готовить сам. Взял рецепт - приготовил, попробовал - не понравилось. Нельзя же сказать, что именно кухня не понравилась? Не понравилась твоя реализация этой кухни. Если даже взять повара в ресторане - не факт, что он делает это так как надо. Вывод? Пробовать чаще и в разных местах, а еще лучше - на родине этой кухни. &lt;br /&gt;&lt;br /&gt;Больший шанс имеют те вещи (процессы, люди, дела), которые тебе  изначально нравятся. Но следуя этому пути наименьшего сопротивления ты  лишаешь возможности полюбить все остальное. Кто знает, может где-то там к  чему у тебя талант, что является твоим предназначением? Не узнаешь не попробовав. Но с другой стороны все не перепробуешь - тем более, если в каждом деле доходить до мастерства. Решать уже тебе.&lt;br /&gt;&lt;br /&gt;Конечно, как всегда, есть у модели исключения :) Всю жизнь не опишешь моделью. Но от этого модель не перестанет описывать часть жизни. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-8891986255063549307?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/8891986255063549307/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_8861.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/8891986255063549307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/8891986255063549307'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_8861.html' title='Как полюбить что-то?'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-2025578293020333040</id><published>2012-01-30T18:22:00.003+02:00</published><updated>2012-01-30T19:20:11.913+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='блог'/><category scheme='http://www.blogger.com/atom/ns#' term='фрирайтинг'/><category scheme='http://www.blogger.com/atom/ns#' term='эффективность'/><category scheme='http://www.blogger.com/atom/ns#' term='скриншот'/><category scheme='http://www.blogger.com/atom/ns#' term='время'/><category scheme='http://www.blogger.com/atom/ns#' term='хобби'/><category scheme='http://www.blogger.com/atom/ns#' term='обобщение'/><title type='text'>Зачем мне блог?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;В последнее время за собой замечаю, что при общении, особенно когда коллега рассказывает увлеченно, я спрашиваю - а ты блог ведешь?&lt;br /&gt;&lt;br /&gt;Все просто, время от времени хотелось бы общаться с этим человеком на предложенную тему, но понимаю, что физически не всегда это получится (уж тем более, если брать во внимание собственное желание и биоритмы). А так у него есть блог и я уверен что самое вкусное он в первую очередь отпишет туда, потому и спрашиваю. Я же мог пропустить что-то что было важным для него вчера, неделю назад, год... &lt;br /&gt;&lt;br /&gt;Когда-то давно хотелось рассказать про новые идеи, которые витали в голове и получить по ним бек - потому я рассказывал о ней при первом случае. Не всегда это было уместно - потому я научился увлекать.&lt;br /&gt;&lt;br /&gt;Сейчас я пишу пост в блог и это свое внутреннее желание (пошарить оыпт) реализовываю. Кто-то приходит в гугл, гуглит что-то и приходит ко мне в блог - есть шанс, что мой пост ему придется по вкусу. Во всяком случае, вероятность больше, чем приставать со своей темой ко всем коллегам. Так я стал вести блог. &lt;br /&gt;&lt;br /&gt;В блоге можно получить бек по теме среди тех, кто интересуется ею и имеет свое отличное от твоего мнение. Супер! Причем не надо всем подряд говорить о теме - это неэффективно работает с не целевой аудиторией. Теперь достаточно написать в блог и тут же попросить фидбек. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Что тут можно писать? Да абсолютно все, чем хочется поделиться с миром. Ты в своем блоге автор и к тебе приходят гости. Если кому-то не нравится он уходит и больше не приходит. Если нравится остается. Гугл делает твой блог видимым для ребят извне. А если ты научишься писать красиво и полезно - сработает другой принцип - сарафанное радио, и линк пойдет по рукам. Но это случится не скоро и тогда, когда польза будет для масс. Естественный отбор. &lt;br /&gt;&lt;br /&gt;Что еще? Когда пишешь что-то - ты лучше запоминаешь. Раньше я писал, &lt;a href="http://apofig.blogspot.com/2009/01/blog-post_8441.html"&gt;как важно просто записывать&lt;/a&gt;. В голове работают другие области, когда ты не просто обдумываешь задачу по дороге в метро домой, а когда ты ее описываешь, рисуешь, поешь - чаще всего в такие моменты (или через некоторое время после поста) меня больше всего посещают инсайты. По настоящему ценные идеи.&lt;br /&gt;&lt;br /&gt;По твоему блогу &lt;a href="http://apofig.blogspot.com/2009/02/blog-post_08.html"&gt;тебя узнают&lt;/a&gt;. Бывало такое, что на конференции мне сказали - читал твой блог - полезно. Очень приятно, потому как понимаешь - человек тебя не знал, но узнал и сказал, что ты ему помог. А сколько писем личных приходят на почту - "спасибо, очень помогли". То же касается комментов в посте (просто кто-то предпочитает 1-to-1). Когда понимаешь, что блог с твоими бреднями (это я так свои мысли) помогает кому-то. Вау! Круто! Буду еще.&lt;br /&gt;&lt;br /&gt;Но не стоит надеяться на то, что сразу посыпется масса благодарностей. На блогспоте в моем блоге комменты пошли далеко не сразу. Вначале от близких друзей, за что большое спасибо. Если же коммент и похвала будет основным мотиватором, боюсь с блогом ничего не получится. Потому я написал этот пост - есть и другие плюшки, которые меня заставляют писать еще и еще!&lt;br /&gt;&lt;br /&gt;Блогом я часто пользуюсь чтобы вспомнить то, что знал когда-то но долго не использовал. Ну не собирал я кубик рубика 2 года, и что? Забыл все. Хотя когда-то рекорд был меньше 2х минут. А так оп и вспомнил как это делается... &lt;br /&gt;&lt;br /&gt;А как классно вести закрытый блог для того, &lt;a href="http://apofig.blogspot.com/2012/01/blog-post_28.html"&gt;чтобы помечтать&lt;/a&gt;. А еще есть такое понятие как тематический блог (скорее всего на тему хобби) - я его называю &lt;a href="http://apofig.blogspot.com/2012/01/blog-post_22.html"&gt;хобби блог&lt;/a&gt;. Кстати, если вести &lt;a href="http://apofig.blogspot.com/2009/01/blog-post_7148.html"&gt;блог на тему хобби&lt;/a&gt;, то есть больше шансов, что это захочется делать чаще. &lt;br /&gt;&lt;br /&gt;Когда у тебя уже есть наработки в блоге - их можно повторно использовать. Как?&lt;br /&gt;&lt;br /&gt;Например тебя пригласили сделать доклад. Думаешь, а что бы выбрать? А иди в свой блог и подбери несколько постов на тему.&lt;br /&gt;&lt;br /&gt;А еще можно сделать по другому - если ты тренер или техлид, и тебе часто задают вопросы - хорошо, если у тебя есть в чемоданчике набор интересных линков и ты ими делишься. Но если нет в сети хорошего поста на эту тему и тем не менее тебе надо дать ответ на вопрос. напиши пост в блоге и дай линк! Если спросили раз, уверен спросят еще раз.&lt;br /&gt;&lt;br /&gt;Если блог популярен, то можно в нем попиарить что-то среди своих читателей. К примеру тренинг. В таком случае полезен будет кросспостинг из блога в твиттер и фейсбук (и другие соцсети). Кросспостинг - это автоматическая персылка линка на новосозданный пост в твои соцсети...&lt;br /&gt;&lt;br /&gt;Вообще блог - вещь, которая является активом в плане ресурса времени. Ты раз написал что либо, потратил времени, а потом это что-то работает на тебя. Ничего не надо делать дополнительно :) Наверное, тут я все же лукавлю - блог стоит поддерживать и как минимум писать дальше. Но если ты и бы сделал то же другими способами - то все равно затратил бы время. &lt;br /&gt;&lt;br /&gt;Блог отнимает много времени? Поначалу да, но когда придет привычка в  задавать вопрос "как мне ускориться", то наверняка ты найдешь такие  инструменты как &lt;a href="http://apofig.blogspot.com/2011/10/blog-post.html"&gt;фрирайтинг&lt;/a&gt;, слепой 10-пальцевый метод набора текста или такой совет как "во время работы над чем-то оставляй следы". Например:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- ты читаешь книгу - подчеркивай ручкой интересные места - можно потом будет из них написать пост. (как я сделал с постом про &lt;a href="http://apofig.blogspot.com/2011/10/blog-post.html"&gt;фрирайтинг&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;- ты устанавливаешь каку-то штуку - делай скришноты (для этого лучше найти шуструю и удобную тулзу), а потом глядя на скриншоты опиши каждый из них (&lt;a href="http://apofig.blogspot.com/2011/10/android.html"&gt;пример&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;- или вообще можно записать видео с рабочего стола и выложить его (как я например сделал для демонстрации того, &lt;a href="http://apofig.blogspot.com/2011/10/9-tdd.html"&gt;как делается TDD&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;- написал что-то в mind map - выложи его, пусть другие посмотрят - мало ли пригодится (&lt;a href="http://apofig.blogspot.com/2011/11/blog-post_20.html"&gt;пример&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;- сделал code review? Расскажи его не устно а в доке, который так же потом можно выложить с блог (&lt;a href="http://apofig.blogspot.com/2011/12/1.html"&gt;пример&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;- выступил с докладом, выложи материалы в блог (&lt;a href="http://apofig.blogspot.com/2011/11/mockito.html"&gt;пример&lt;/a&gt;) - все равно будут спрашивать. &lt;br /&gt;&lt;br /&gt;- учишь что-то новое - опиши результаты в блоге - это поможет тебе найти единомышленников и переосмыслить выученное (&lt;a href="http://apofig.blogspot.com/2011/10/blog-post_04.html"&gt;пример&lt;/a&gt;, &lt;a href="http://apofig.blogspot.com/2012/01/blog-post_23.html"&gt;пример&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;- можно просто выложить фотки с похода в блог (&lt;a href="http://apofig.blogspot.com/2011/05/blog-post_14.html"&gt;пример&lt;/a&gt;). &lt;br /&gt;&lt;br /&gt;- можно постить информацию не в твиттер и на стену фейсбука, вконтактов и прочих соцсетей, а открытьновый пост и постить все самое интересное туда. Будет рубрика - свалка, но свалка того, что ты отфильтровал (пример 1й такой подборки, &lt;a href="http://apofig.blogspot.com/2011/10/53.html"&gt;пример такой 53й подборки&lt;/a&gt;). &lt;br /&gt;&lt;br /&gt;- этот, писался как ответит в письме в котором на мое "а у тебя есть блог", подруга ответила "Блог – не знаю. Нет желания. А зачем?". Точно уверен, что написал бы столько же в ответ на письмо (может чуть-чуть меньше).Но можно поступить иначе - можно общаться в скайпе или почте так, чтобы потом текст (в случае, если идея раскрыта хорошо) можно было скопипастить в блог с небольшим редактированием. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Очень-очень-очень полезным будет пост, написанный на тему того, на что ты потратил (даже с гуглом) больше дня времени. Примером такого поста, на написание которого я осознано потратил пару выходных (а на изучение предмета два месяца), будет серия из четырех мануалов о том, &lt;a href="http://apofig.blogspot.com/2011/09/4.html"&gt;как делать сферические панорамы простым фотоаппаратом с рук&lt;/a&gt;. А этот пост про то, &lt;a href="http://apofig.blogspot.com/2010/02/eclipse-pdt-xdebug-denwer.html"&gt;как дебажить в PHP&lt;/a&gt; - просто стал самым популярным постом в моем блоге. &lt;br /&gt;&lt;br /&gt;Кстати, чтобы работать со статистикой надо поставить на свой блог счетчик посещаемости. Там можно увидеть кто (IP), сколько времени, по каким страницам ходил; а так как это статистика, то можно увидеть много других срезов: сколько хостов в день, средняя время на сайте, количество просмотренных страниц, интенсивность по времени, какая аудитория... &lt;br /&gt;&lt;br /&gt;Уверен есть что-то еще, что не вспомнилось сейчас, но я устал, а значит писать больше не стоит... Позже, когда вдохновение снова появится я обязательно продолжу этот пост! Так что продолжение следует. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-2025578293020333040?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/2025578293020333040/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_3658.html#comment-form' title='Комментарии: 5'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/2025578293020333040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/2025578293020333040'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_3658.html' title='Зачем мне блог?'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-7346340421094983471</id><published>2012-01-30T14:39:00.000+02:00</published><updated>2012-01-30T14:39:52.203+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='таймменеджмент'/><category scheme='http://www.blogger.com/atom/ns#' term='система'/><category scheme='http://www.blogger.com/atom/ns#' term='благоприятные условия'/><title type='text'>Бежать за поездом или подождать следующий?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Жизнь непредсказуемая штука. Никогда не знаешь что будет завтра. Если завтра будет не удобно что-то сделать - можно будет приложить усилия и сделать так как запланировал. Но можно сделать и что-то другое, к чему будет предасположена система, сохранив при этом личную энергию драйва на дело, а не на настройку системы. &lt;br /&gt;&lt;br /&gt;Когда все получается само собой, тогда и результат будет суперский (по личным наблюдениям). А кто не любит суперские результаты? &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Если ты только что опоздал на поезд, есть несколько выходов - подождать другой, бежать за ним, взять другой вид транспорта, отказаться от поездки, еще что-то. Алгоритм действия зависит от того, зачем нужно было добраться в точку В из А.&lt;br /&gt;&lt;br /&gt;Если добраться сейчас в точку В не смертельно, а поиск и реализация другого решения не драйвит, лучше отложить на время (или полностью, если мысль о точке В так же не драйвит)&amp;nbsp;и заняться тем, в чем сейчас система благоприятствует - "я на вокзале, у меня есть час времени, как можно это время использовать с пользой? Что я хотел сделать и давно откладывал?"&lt;br /&gt;&lt;br /&gt;Если же тебя чаще драйвит сетапить систему - значит роль стоит сменить с исполнителя на организатора исполнителей. &lt;br /&gt;&lt;br /&gt;Как-то так. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-7346340421094983471?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/7346340421094983471/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_30.html#comment-form' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/7346340421094983471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/7346340421094983471'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_30.html' title='Бежать за поездом или подождать следующий?'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-4921277872824419487</id><published>2012-01-28T01:00:00.001+02:00</published><updated>2012-01-30T17:14:54.533+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='блог'/><category scheme='http://www.blogger.com/atom/ns#' term='фрирайтинг'/><category scheme='http://www.blogger.com/atom/ns#' term='позитивная визуализация'/><category scheme='http://www.blogger.com/atom/ns#' term='джон кехо'/><category scheme='http://www.blogger.com/atom/ns#' term='подсознание'/><category scheme='http://www.blogger.com/atom/ns#' term='будущее'/><title type='text'>Напиши свое будущее</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Оказывается писать свое будущее очень просто. &lt;br /&gt;&lt;br /&gt;Берешь блог, делаешь его закрытым и постишь туда что-то такое, от чего тебе становится приятно. Методом фрирайтинга - сочиняя на ходу. Сам факт написания пары тройки абзацев такого текста из будущего уже как-то расширяет сознание. А когда читаешь прошлые записи и понимаешь, что что-то из описанного ранее уже случилось, тогда просто улыбаешься. А что еще делать? Улыбаешься, понимая что-то, что мало кто знает (и еще меньше кто юзает)...&lt;br /&gt;&lt;br /&gt;Мне понравилась идея фильма Секрет, мне нравилось читать книгу Джона Кехо "подсознание может все". Но чудеса стали происходить тогда, когда я стал писать свое будущее.&lt;br /&gt;&lt;br /&gt;Можно сеть и кайфонуть от того, как ты обкатал на яхте весь мир или как ты создал свою мега компанию или что-нибудь, что для тебя ценно и кажется сейчас недостижимым. Написать и кайфонуть от серотонина. Эффект такой же, как от описания сильно приятного события, которое реально было в прошлом. &lt;br /&gt;&lt;br /&gt;В школе учили писать сочинения на тему "как я провел лето" - полезный навык, только писать надо "как я провел лето в будущем". Фантазировать от души и писать в прошедшем времени. &lt;br /&gt;&lt;br /&gt;Фишка в том, что мозг не понимает разницы между тем, что действительно происходит и тем, что происходит в воображении - для него и то и другое опыт. А коль уж опыт делания чего-то там в голове уже есть, и это что-то приятное - то скоро будет второй раз, быть может уже в действительности.&lt;br /&gt;&lt;br /&gt;Просто не могу не поделиться этим инструментом. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-4921277872824419487?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/4921277872824419487/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_28.html#comment-form' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/4921277872824419487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/4921277872824419487'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_28.html' title='Напиши свое будущее'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-5460143130431472284</id><published>2012-01-24T13:24:00.001+02:00</published><updated>2012-01-24T13:28:26.619+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='таймменеджмент'/><category scheme='http://www.blogger.com/atom/ns#' term='время'/><category scheme='http://www.blogger.com/atom/ns#' term='инвестиция'/><title type='text'>Что делать, если вдруг появилось свободное время?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Вдруг отменили 4х-часовой ивент который я планировал? Это че получается - у меня вдруг на ровном месте появилось 4 часа свободного, ничем не занятого, времени. Не я ли говорил недавно "... хочу, но на это нет времени сейчас..."? &lt;br /&gt;&lt;br /&gt;Можно время это забить задачами "по-умолчанию", ничего не меняя, а можно инвестировать в то, на что не так давно времени совсем не было.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Ап ту ми...&lt;br /&gt;&lt;br /&gt;Но стой, еще одна попытка! Допустим я хотел посетить вебинар, который по техническим причинам не состоялся. Я&amp;nbsp; потратил немало усилий для того, чтобы расчистить этих 4 часа времени - потратил время на перенос митингов, планирование встреч с учетом того, что я&amp;nbsp; буду занят. Если я наполню это окно простой рутиной, то я потеряю. Но если воспользуюсь этим окном для изучения чего-то нового, что хотел но не мог - то выиграю в будущем.&amp;nbsp; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-5460143130431472284?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/5460143130431472284/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_3557.html#comment-form' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/5460143130431472284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/5460143130431472284'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_3557.html' title='Что делать, если вдруг появилось свободное время?'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-6720271273636072769</id><published>2012-01-24T12:44:00.001+02:00</published><updated>2012-01-24T12:54:08.043+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='нетворкинг'/><category scheme='http://www.blogger.com/atom/ns#' term='связи'/><category scheme='http://www.blogger.com/atom/ns#' term='иррациональность'/><category scheme='http://www.blogger.com/atom/ns#' term='жизнь'/><title type='text'>Никогда не знаешь к кому обратишься за помощью</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Не брезговать новыми знакомствами. Никогда! Не оценивать людей по одежке. Никогда! &lt;br /&gt;&lt;br /&gt;Вообще не оценивать ничего! Любая оценка работает в этом пространстве-время и не работает через миг после. &lt;br /&gt;&lt;br /&gt;Никогда не знаешь, куда занесет тебя жизнь. &lt;br /&gt;&lt;br /&gt;Быть может она заставить пройти собеседование у парня, которого ты собеседовал (Вика привет!). Вопрос в том, как ты его собеседовал. &lt;br /&gt;&lt;br /&gt;Вероятно придется еще обратиться за помощью к человеку, который покинул твою команду/компанию. Вопрос в том, как вы расстались. &lt;br /&gt;&lt;br /&gt;Никогда не знаешь где и когда. Но будешь приятно удивлен - это факт! Вот такая вот она, иррациональная жизнь.&lt;br /&gt;&lt;br /&gt;Пока вижу такие этапы отношения:&lt;br /&gt;|) Как я могу использовать этого человека?&amp;nbsp; &lt;br /&gt;||) Чем этот человек может быть полезен мне? Что я ему могу дать взамен?&lt;br /&gt;|||) Как мы можем вместе достичь взаимовыгодных результатов?&lt;br /&gt;||||) Как я могу быть полезен этому человеку, чтобы и мне было по пути?&lt;br /&gt;|||||) Как этому человеку могу быть полезен? &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-6720271273636072769?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/6720271273636072769/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_667.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/6720271273636072769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/6720271273636072769'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_667.html' title='Никогда не знаешь к кому обратишься за помощью'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-6082681659453920276</id><published>2012-01-24T12:34:00.000+02:00</published><updated>2012-01-24T12:34:11.525+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='позитив'/><category scheme='http://www.blogger.com/atom/ns#' term='негатив'/><category scheme='http://www.blogger.com/atom/ns#' term='фидбек'/><category scheme='http://www.blogger.com/atom/ns#' term='грабли'/><title type='text'>Эволюция нас такими сделала</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Негативный фидбек расспостраняется в 13 раз эффективнее позитивного. 90% людей приходят на доклады и тренинги, чтобы узнать о граблях и только 10% чтобы найти новые инструменты. &lt;br /&gt;&lt;br /&gt;Видимо эволюция наше мышление так устроила. &lt;br /&gt;&lt;br /&gt;Что из этого извлек? Как минимум на каждый негативный фидбек давать два позитивных, таких же по силе. &lt;br /&gt;&lt;br /&gt;На тренингах один и тот же материал можно давать с точки зрения "как не наступить на граблю" и "что извлечь из выстрелившей грабли" - и помнить, что в основном (90%) ждут именно первого от тебя. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-6082681659453920276?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/6082681659453920276/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_24.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/6082681659453920276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/6082681659453920276'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_24.html' title='Эволюция нас такими сделала'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-3539413243368430130</id><published>2012-01-23T01:24:00.001+02:00</published><updated>2012-01-30T17:42:06.553+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='полутон'/><category scheme='http://www.blogger.com/atom/ns#' term='фортепиано'/><category scheme='http://www.blogger.com/atom/ns#' term='гамма'/><category scheme='http://www.blogger.com/atom/ns#' term='тоника'/><category scheme='http://www.blogger.com/atom/ns#' term='тон'/><title type='text'>Музыка - это точная наука</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;В прошлом посту я рассказал, &lt;a href="http://apofig.blogspot.com/2011/10/blog-post_04.html"&gt;как начал играть на пианино&lt;/a&gt;, какие тулзы использовал. Но развиваться надо дальше и не так давно записался в музшколу. Там первых три таска получил - выкачать учебник по типу "Уроки игры на фортепиано", найти пианино (потому что синтезатор это не то) и начать разучивать гаммы. &lt;br /&gt;&lt;br /&gt;По очереди. Школу можно нагуглить по словам &lt;a href="http://www.google.com.ua/#sclient=psy-ab&amp;amp;hl=ru&amp;amp;safe=off&amp;amp;source=hp&amp;amp;q=%D0%BC%D1%83%D0%B7+%D1%88%D0%BA%D0%BE%D0%BB%D0%B0+%D0%BA%D0%B8%D0%B5%D0%B2+%D0%B3%D0%BE%D1%80%D1%8C%D0%BA%D0%BE%D0%B3%D0%BE+19%D0%B1&amp;amp;pbx=1&amp;amp;oq=%D0%BC%D1%83%D0%B7+%D1%88%D0%BA%D0%BE%D0%BB%D0%B0+%D0%BA%D0%B8%D0%B5%D0%B2+%D0%B3%D0%BE%D1%80%D1%8C%D0%BA%D0%BE%D0%B3%D0%BE+19%D0%B1&amp;amp;aq=f&amp;amp;aqi=&amp;amp;aql=&amp;amp;gs_sm=e&amp;amp;gs_upl=2474l5562l7l5672l13l12l0l0l0l0l250l2188l0.4.7l11l0&amp;amp;bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&amp;amp;fp=357a4acd06a23a08&amp;amp;biw=1280&amp;amp;bih=921"&gt;"вечерняя муз школа Киев"&lt;/a&gt;. Далее идем в школу спрашиваем где можно найти преподавателя по фортепиано, находим его и задаем ему вопрос "хочу учиться, что для этого надо сделать?". Приблизительно потом он скажет все то, что сказали мне (или что-то другое). Диалог приблизительно таков: &lt;br /&gt;&lt;br /&gt;- Когда вам удобно?&lt;br /&gt;- Обучение два раза в неделю (а потому школа должна быть близко к дому).&lt;br /&gt;- Если есть синтезатор хорошо, но лучше пианино потому, что у пианино правильная физика молоточков (которые бьют по струнам), а в синтезаторе нет - пальцы не к тому привыкают и не разрабатываются. &lt;br /&gt;- Ноты читать умеешь? Нет? Ну возьми купи на Петровке что-то типа &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-LWhp16oCqZE/TxxTloXbvKI/AAAAAAACez4/axGh_NrhJjc/s1600/IMG_8160.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-LWhp16oCqZE/TxxTloXbvKI/AAAAAAACez4/axGh_NrhJjc/s320/IMG_8160.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Там есть распальцовка (указано каким пальцем чего нажимать), простые вещи и гаммы.&lt;br /&gt;- Пианино ищи в интернете. Для начала подойдет "Украина". Настройщика спросишь у меня, подскажу. &lt;br /&gt;&lt;br /&gt;Учебник я нашел на rutracker.org - благо их там сотни. Выкачал все что было, а потом стал выбирать что больше по восприятию подходит. Мне понравилось &lt;a href="http://rutracker.org/forum/viewtopic.php?t=3155335"&gt;"Абелян Л. Забавное сольфеджио"&lt;/a&gt; и &lt;a href="http://rutracker.org/forum/viewtopic.php?t=3884547"&gt;А.Николаев, В.Натансон, Л.Рощина "Школа игры на фортепиано"&lt;/a&gt;. В первой в ненавязчивой форме рассказывается про нотную грамоту а со второй книги на странице 183 я взял распальцовку гамм. &lt;br /&gt;&lt;br /&gt;На гаммах я и завис. Расскажу по подробнее... Это очень занятно, особенно для любителей алгоритмов.&lt;br /&gt;&lt;br /&gt;Для начала есть белые клавиши и есть черные. Пианино все видели.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-p6IiilV5nSY/TxxmMvI4wqI/AAAAAAACe0A/I6w5D-dUihQ/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="142" src="http://2.bp.blogspot.com/-p6IiilV5nSY/TxxmMvI4wqI/AAAAAAACe0A/I6w5D-dUihQ/s400/2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;Одну октаву расписал как что называется. Слева и справа другие октавы, каждая из которых имеют свои названия - но я их не запомнил, видимо не время еще...&lt;br /&gt;&lt;br /&gt;Если сейчас нажимать по очереди &lt;i&gt;&lt;b&gt;до, ре, ми, фа, соль, ля, си, до&lt;/b&gt;&lt;/i&gt; (и назад), &lt;i&gt;&lt;b&gt;си, ля, соль, фа, ми, ре, до&lt;/b&gt;&lt;/i&gt; - это будет (самая простая в моей жизни) &lt;u&gt;&lt;i&gt;&lt;b&gt;гамма&lt;/b&gt;&lt;/i&gt;&lt;/u&gt;. Запомни, как оно звучит. Вроде как нет никакого раздражения.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-VMc9q3L4hn8/TxyF9bWlTOI/AAAAAAACe0w/I3c9QZjOXG8/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="113" src="http://3.bp.blogspot.com/-VMc9q3L4hn8/TxyF9bWlTOI/AAAAAAACe0w/I3c9QZjOXG8/s400/3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Первая &lt;i&gt;&lt;b&gt;до&lt;/b&gt;&lt;/i&gt; в гамме - называется &lt;u&gt;&lt;i&gt;&lt;b&gt;тоникой&lt;/b&gt;&lt;/i&gt;&lt;/u&gt; (последняя кстати тоже). Там еще много всяких названий, но я их всех не запомнил - видимо не время еще....&lt;br /&gt;&lt;br /&gt;А теперь давай попробуем проиграть гамму с тоникой на ноте &lt;i&gt;&lt;b&gt;ре&lt;/b&gt;&lt;/i&gt;. Первый и самый очевидный способ это проделать нажимать поочередно &lt;i&gt;&lt;b&gt;ре, ми, фа, соль, ля, си, до&lt;/b&gt;&lt;/i&gt;, &lt;i&gt;&lt;b&gt;ре&lt;/b&gt;&lt;/i&gt; (и назад), &lt;i&gt;&lt;b&gt;до&lt;/b&gt;&lt;/i&gt;, &lt;i&gt;&lt;b&gt;си, ля, соль, фа, ми, ре. &lt;/b&gt;&lt;/i&gt;(на рисунке ниже клавишу &lt;i&gt;&lt;b&gt;до&lt;/b&gt;&lt;/i&gt; я отметил кружочком)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-vB7eTjBsC74/TxyGkAiZliI/AAAAAAACe04/aVJefNqLu3M/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="113" src="http://3.bp.blogspot.com/-vB7eTjBsC74/TxyGkAiZliI/AAAAAAACe04/aVJefNqLu3M/s400/4.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Вот попробуй. &lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" height="153" width="600"&gt; &lt;param value="http://dl.dropbox.com/u/11842832/Blog/Piano/keyboard.swf" name="movie"&gt;&lt;param value="high" name="quality"&gt;&lt;embed height="153" width="600" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="http://dl.dropbox.com/u/11842832/Blog/Piano/keyboard.swf"&gt; &lt;/object&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Если ты это проделаешь пару раз, то станет очевидным, что звучат эти гаммы (если вторую вообще можно назвать гаммой) по разному.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Теперь задание - попробуй сделай так, чтобы вторая "гамма" (та, что с &lt;i&gt;&lt;b&gt;ре&lt;/b&gt;&lt;/i&gt; начинается) звучала похоже на первую. При этом можно пользоваться любыми черными клавишами.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Единственный способ это сделать - играть гамму так:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-6aNAA6fBODc/TxyHeKYtrhI/AAAAAAACe1A/jCX5oIJcLoc/s1600/5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="113" src="http://3.bp.blogspot.com/-6aNAA6fBODc/TxyHeKYtrhI/AAAAAAACe1A/jCX5oIJcLoc/s400/5.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Если попробовать подобрать созвучную гамму с тоникой на&amp;nbsp; &lt;i&gt;&lt;b&gt;ми&lt;/b&gt;&lt;/i&gt; - картина еще больше изменится &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Q7W0w1o85P4/TxyIkGpEqMI/AAAAAAACe1I/3hxZxXCj3x4/s1600/6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="113" src="http://4.bp.blogspot.com/-Q7W0w1o85P4/TxyIkGpEqMI/AAAAAAACe1I/3hxZxXCj3x4/s400/6.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Картинка для &lt;i&gt;&lt;b&gt;фа&lt;/b&gt;&lt;/i&gt; казалось бы должна быть такой (аналогия уже должна прослеживаться)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-tcVa1C5nvEY/TxyKX2l9tZI/AAAAAAACe1Q/nq2PpbDZm84/s1600/7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="113" src="http://4.bp.blogspot.com/-tcVa1C5nvEY/TxyKX2l9tZI/AAAAAAACe1Q/nq2PpbDZm84/s400/7.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Но не то (позже разберемся почему). А&amp;nbsp; вот для &lt;i&gt;&lt;b&gt;фа диез&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-8q2OJVTCX7E/TxyLXXp-wrI/AAAAAAACe1Y/Iw4JSxXi4Io/s1600/8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="113" src="http://2.bp.blogspot.com/-8q2OJVTCX7E/TxyLXXp-wrI/AAAAAAACe1Y/Iw4JSxXi4Io/s400/8.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Идем дальше - &lt;i&gt;&lt;b&gt;соль&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-DNBkwmO5Iz8/TxyMSe85FNI/AAAAAAACe1g/6_XsT_HAOZo/s1600/9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="113" src="http://1.bp.blogspot.com/-DNBkwmO5Iz8/TxyMSe85FNI/AAAAAAACe1g/6_XsT_HAOZo/s400/9.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Еще дальше - &lt;i&gt;&lt;b&gt;ля&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-J6adDPHWYoE/TxyNLPxDaEI/AAAAAAACe1o/GzpOV9Bi-2Q/s1600/10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="113" src="http://1.bp.blogspot.com/-J6adDPHWYoE/TxyNLPxDaEI/AAAAAAACe1o/GzpOV9Bi-2Q/s400/10.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Теперь &lt;i&gt;&lt;b&gt;си&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-u5EK8EVhlqQ/TxyOqii3MeI/AAAAAAACe1w/dD9l1y2xVDk/s1600/11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="113" src="http://1.bp.blogspot.com/-u5EK8EVhlqQ/TxyOqii3MeI/AAAAAAACe1w/dD9l1y2xVDk/s400/11.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Отакое. Теперь вопрос, почему так? &lt;br /&gt;&lt;br /&gt;Ответ прост, если знать мантру "тон, тон, полутон, три тона, полутон". Что бы это значило?&lt;br /&gt;&lt;br /&gt;Немного теории. Одна октава состоит из 12 клавиш (черные и белые). Каждая клавиша звучит на какой-то основной частоте. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-x-yxHXDBc3o/TxySGso92MI/AAAAAAACe14/qJJ8kzNW2WQ/s1600/12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="113" src="http://3.bp.blogspot.com/-x-yxHXDBc3o/TxySGso92MI/AAAAAAACe14/qJJ8kzNW2WQ/s400/12.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Фишка в том, что расстояние между двумя соседними клавишами (черная-белая, белая-черная или белая-белая {когда нет между ними черной}) - всегда константа. Вот эта разница частот и называется &lt;u&gt;&lt;i&gt;&lt;b&gt;полутоном&lt;/b&gt;&lt;/i&gt;&lt;/u&gt;. Два полутона вместе дают 1 &lt;i&gt;&lt;u&gt;&lt;b&gt;тон&lt;/b&gt;&lt;/u&gt;&lt;/i&gt;. То есть если мы возьмем любые две клавиши стоящие рядом - они отличаются на пол тона (1-2, 2-3, 3-4, 4-5, 5-6, 6-7, 7-8, 8-9, 9-10, 10-11 и 11-12).&lt;br /&gt;&lt;br /&gt;Если мы возьмем только белые клавиши (как когда играли самую первую&amp;nbsp; гамму), и посмотрим сколько полутонов находится между белыми клавишами то получим такую картину:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-xhVx-Mv-PjI/TxyT5q9RnMI/AAAAAAACe2A/qpHyXD875X0/s1600/13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="247" src="http://2.bp.blogspot.com/-xhVx-Mv-PjI/TxyT5q9RnMI/AAAAAAACe2A/qpHyXD875X0/s320/13.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Там где полутон, там просто нет черной клавиши между двумя белыми - там разница 1/2 тона, а там где есть черная - там разница в 1 тон (сумма двух полутонов - белая-черная и черная-белая). Вот тебе и мантра &lt;i&gt;&lt;u&gt;&lt;b&gt;"тон, тон, полутон, три тона, полутон"&lt;/b&gt;&lt;/u&gt;&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Вся разгадка в том, что если мы хотим, чтобы наша гамма с &lt;i&gt;&lt;b&gt;ре &lt;/b&gt;&lt;/i&gt;звучала так же как гамма с &lt;i&gt;&lt;b&gt;до &lt;/b&gt;&lt;/i&gt;- нам всего-то надо просчитать полутона и выбирать те клавиши, которые будут отставать от &lt;i&gt;&lt;b&gt;ре&lt;/b&gt;&lt;/i&gt; на расстояние: тон, тон, полутон, тон, тон, тон, полутон. &lt;br /&gt;&lt;br /&gt;Для меня пока остается загадкой, зачем было так все усложнять и почему бы не сделать изначально как-то так.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-4o891oa0S3Y/TxyWx1fYKNI/AAAAAAACe2I/6YzvuQQBMZI/s1600/14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="145" src="http://1.bp.blogspot.com/-4o891oa0S3Y/TxyWx1fYKNI/AAAAAAACe2I/6YzvuQQBMZI/s320/14.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Ответа в сети не нашел - оставим это на потом....&lt;br /&gt;&lt;br /&gt;Что касается практики, то есть еще такое понятие, как какими пальцами какие клавиши нажимать. Каждый палец правой и левой руки нумеруется по своему.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-rG-ZHPqeD6E/TxyYqK6BBiI/AAAAAAACe2Q/TuzW09KO0W4/s1600/15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-rG-ZHPqeD6E/TxyYqK6BBiI/AAAAAAACe2Q/TuzW09KO0W4/s320/15.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Мизинец - 5, большой палец - 1.&lt;br /&gt;&lt;br /&gt;Гаммы можно играть и левой, и правой, и двумя руками одновременно, но на разных октавах (это упражнение вообще крышу сносит). Гаммы можно играть на одной октаве и на всех сразу. Порядок пальцев четко определен - каждому пальцу своя клавиша в каждой отдельной гамме. Было очень интересно это все разбирать сегодня. Еще я узнал о том, как эти все гаммы ложатся на нотоносец, а так же что такое бемоль, диез и бекар...&lt;br /&gt;&lt;br /&gt;Но об этом позже...&lt;br /&gt;&lt;br /&gt;Большое спасибо Автору &lt;a href="http://www.7not.ru/theory/06.phtml"&gt;этой статьи&lt;/a&gt; - очень хорошо и доходчиво описано. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-3539413243368430130?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/3539413243368430130/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_23.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/3539413243368430130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/3539413243368430130'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_23.html' title='Музыка - это точная наука'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-LWhp16oCqZE/TxxTloXbvKI/AAAAAAACez4/axGh_NrhJjc/s72-c/IMG_8160.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-6741479792125009255</id><published>2012-01-22T23:51:00.000+02:00</published><updated>2012-01-22T23:51:11.700+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='работа'/><category scheme='http://www.blogger.com/atom/ns#' term='осознанность'/><category scheme='http://www.blogger.com/atom/ns#' term='игра'/><category scheme='http://www.blogger.com/atom/ns#' term='поиск'/><category scheme='http://www.blogger.com/atom/ns#' term='хобби'/><title type='text'>Место, где работа и хобби - синонимы</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;a href="http://1.bp.blogspot.com/-huCNqx3eoxA/TxyDvKwPI6I/AAAAAAACe0g/s-ZXr9Rp3Yk/s1600/udovolstvie%255B1%255D.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-huCNqx3eoxA/TxyDvKwPI6I/AAAAAAACe0g/s-ZXr9Rp3Yk/s320/udovolstvie%255B1%255D.jpg" width="262" /&gt;&lt;/a&gt;Я уверен, что есть такое место Х в котором мне будут платить за то, что я занимаюсь своим хобби не по принуждению, а по внутреннему желанию. Денег этих будет достаточно для того, чтобы кушать, жить и покупать другие хотелки, реализовать которые на работе пока не получается.&lt;br /&gt;&lt;br /&gt;Со временем можно найти другое место Y, в котором все твои хотелки будут реализовываться в полной мере, совершенно бесплатно. А за то, что ты играешься в свои хотелки, тебе еще будут платить.&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-0W6JfQA8Pkw/TxyEBDTWsLI/AAAAAAACe0o/rXoCRnIzlEk/s1600/samosoznanie%255B1%255D.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="213" src="http://2.bp.blogspot.com/-0W6JfQA8Pkw/TxyEBDTWsLI/AAAAAAACe0o/rXoCRnIzlEk/s320/samosoznanie%255B1%255D.jpg" width="320" /&gt;&lt;/a&gt;Дело в выборе и осознанности. Знать бы, где есть это место - можно было бы попробовать выбрать его. Это моя еще одна внутренняя моделька-ценность. Хочешь верь, а хочешь нет, но в моем мире - $ = t☺². Деньги это результат того, что ты занимаешься своим хобби. И чем больше у тебя комфорта, чем тебе веселее и жизнерадостнее на работе, тем больших денег ты получишь за свое это веселье.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Доказательство простое. Если ты занимаешься тем, что тебе нравится - ты естественным образом будешь развиваться в этом. Никакой мотивации и стимуляции - все происходит естественно. Со временем ты станешь узким специалистом в этой области. Чем более узкий специалист ты есть, тем больше стоит твоя экспертиза.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-ogX8qlTfiw8/TxyDnq4aMlI/AAAAAAACe0Y/CU1b-vabW_g/s1600/%2525D1%252583%2525D0%2525B4%2525D0%2525BE%2525D0%2525B2%2525D0%2525BE%2525D0%2525BB%2525D1%25258C%2525D1%252581%2525D1%252582%2525D0%2525B2%2525D0%2525B8%2525D0%2525B5-%2525D0%2525BE%2525D1%252582-%2525D0%2525B6%2525D0%2525B8%2525D0%2525B7%2525D0%2525BD%2525D0%2525B8%255B1%255D.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-ogX8qlTfiw8/TxyDnq4aMlI/AAAAAAACe0Y/CU1b-vabW_g/s320/%2525D1%252583%2525D0%2525B4%2525D0%2525BE%2525D0%2525B2%2525D0%2525BE%2525D0%2525BB%2525D1%25258C%2525D1%252581%2525D1%252582%2525D0%2525B2%2525D0%2525B8%2525D0%2525B5-%2525D0%2525BE%2525D1%252582-%2525D0%2525B6%2525D0%2525B8%2525D0%2525B7%2525D0%2525BD%2525D0%2525B8%255B1%255D.jpg" width="320" /&gt;&lt;/a&gt;Ты делаешь то, что тебя вдохновляет - а результат ты меняешь на деньги, необходимые для того, чтобы поддерживать тебя в таком продуктивном состоянии.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;В мире много миллиардов человек и хоть кому-то да нужен чувак с таким опытом как у тебя. Он тебе и заплатит. Вопрос в том, как о тебе узнают?&lt;br /&gt;&amp;nbsp; &lt;br /&gt;Ответ прост. Если ты будешь развлекаться громко и на улице, делать это не скрывая эмоций -&lt;br /&gt;рано или поздно тебя найдут. И сделают предложение.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Одна из причин, почему я завел блог - именно эта. Это моя инвестиция в будущее. Это моя визитка. Я такой! И если хотите, мы можем поиграть вместе.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-twV5D_tk5h4/Txx7AHLc_EI/AAAAAAACe0I/QJwfZ2sWqug/s1600/500px-Maslowsneeds.svg%255B1%255D.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-twV5D_tk5h4/Txx7AHLc_EI/AAAAAAACe0I/QJwfZ2sWqug/s1600/500px-Maslowsneeds.svg%255B1%255D.png" /&gt;&lt;/a&gt;Возьмем пирамиду потребностей Маслоу. Когда ты  занимаешься своим хобби - речь идет о последних трех составляющих,  завершающих пирамиду. Именно там содержится то, что может покрыть все  низ лежащие потребности. Беда в том, что человек голодный, живущий в страхе, которого никто не любит плохо не думает о самореализации - не до этого ему.&lt;br /&gt;&lt;br /&gt;Но если ты уже сейчас занимаешься своим хобби - это хороший знак, говорящий "не все так плохо". Уделяй каждый день чуть больше времени этому своему спасительному островочку. Рано или поздно он привнесет в твою жизнь то, что покроет все остальные потребности.&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-whhiLVzxuj0/TxyAjQXffXI/AAAAAAACe0Q/wxVm1jcAdlA/s1600/1.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="253" src="http://1.bp.blogspot.com/-whhiLVzxuj0/TxyAjQXffXI/AAAAAAACe0Q/wxVm1jcAdlA/s320/1.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;Почему вредно работать на нелюбимой работе? Очень просто. Мотивации развиваться нет. Если и есть какое-то развитие, то за счет само стимуляции - "только чтоб не выгнали, а то мне кредиты платить, а еще у меня жена, дети..."&lt;br /&gt;&lt;br /&gt;Мотивация то, что тебя манит за собой, а стимуляция - то, чего хочется избежать. на рисунке две морковки - она мотивирующая, а другая стимулирующая...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-6741479792125009255?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/6741479792125009255/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_8485.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/6741479792125009255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/6741479792125009255'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_8485.html' title='Место, где работа и хобби - синонимы'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-huCNqx3eoxA/TxyDvKwPI6I/AAAAAAACe0g/s-ZXr9Rp3Yk/s72-c/udovolstvie%255B1%255D.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-2066831769242309394</id><published>2012-01-22T20:01:00.000+02:00</published><updated>2012-01-22T20:01:11.139+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='видео'/><category scheme='http://www.blogger.com/atom/ns#' term='собаки'/><category scheme='http://www.blogger.com/atom/ns#' term='ювелирка'/><category scheme='http://www.blogger.com/atom/ns#' term='не нравится'/><category scheme='http://www.blogger.com/atom/ns#' term='кесарево'/><category scheme='http://www.blogger.com/atom/ns#' term='инертность мышления'/><category scheme='http://www.blogger.com/atom/ns#' term='кальцификат в мозгу'/><title type='text'>Что-то не нравится? Самое время прокачать мозг!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Иногда нужно залезть руками в какашку, чтобы найти что-то ценное.&lt;br /&gt;&lt;br /&gt;Вот так, только что с другом обсуждали неудобные интерфейсы, коих сейчас в сети много. Помню как-то давно друг (Валерка, првиет!) сказал, что скоро десктопных приложений не будет - все будет находиться в сети. Тогда помню плюнул мысленно и не поверил. Тогда они были еще дубовее, чем сейчас. Смысл вбдваноль я начал чувствовать не так давно, повидав некоторое число сайтов в которые тыцнул и тут же пишешь текст. Они уже мало чем отличаются от десктопных. Но все же еще есть куда расти. К примеру &lt;a href="http://ru.wikipedia.org/wiki/Web_3.0"&gt;вебтриноль&lt;/a&gt; для меня уже настает, это когда будет казаться, что сайт с тобой общается при этом эмитируя общение человека с человеком: "Ой! а у меня что-то отвалилось, я сейчас приделаю это, а ты почитай пока анекдот...." - приятная замена существующему "Извините, во время выполнения вашего запроса произошла ошибка - мы ее обязательно обработаем".&lt;br /&gt;&lt;br /&gt;Но не про это сейчас. Идея в том, что пока интерфейсов кривых есть полно - можно их фукать, а можно привыкнуть и пользоваться тем, что есть. От чего возникает это самое "ФУ" - а от того, что привык к хорошему, и мозгу очень неуютно меняться, подстраиваться. Но это стоит проделывать периодически, чтобы мозг в тонусе держать. Лучше уж он привыкнет, что его будут мучить каждый день, чем в один прекрасный момент там начнут появляться кальцификаты (шутю, кальцификаты ментальные, негибкость мышления лет в 50 - это имел ввиду)&lt;br /&gt;&lt;br /&gt;Заметил такую штуку. Если что-то тебе не нравится - значит действуют Кулоновские силы отталкивания, но стоит подойти максимально близко к предмету ненависти, как начнут действовать другие силы - ядерные. Оооочень сильные. Там уже не видишь кривой интерфейс - там понимаешь идею всего сайта и используешь его по назначению. А интерфейс, поменяют. Или не поменяют - но тебе уже пофиг, ты привык к тому, что в мире есть корявые интерфейсы и тебе в равной степени удобно с ними всеми работать... &amp;nbsp;&lt;br /&gt;&lt;br /&gt;Вчера я смотрел видео того, как делается кесарево сечение. Мне было плохо, кружилась голова, я делал перерывы пару раз. Зачем, спрашивается? А чтобы в будущем мне не было так плохо от подобного рода видео. Мало ли когда-то придется в будущем наблюдать live? А сегодня проснулся, и то же видео вовсе не смущает. И славно. Так же и с кривыми интерфейсами (да всем, что угодно)... &lt;br /&gt;&lt;br /&gt;Ах да, про ценность какашки забыл сказать - собаки часто хавают всякие посторонние предметы, в том числе и ювелирные украшения своих хозяев. Собак выгуливают за домом на площадке? Так вот весной, когда все оттает, и как говорится "весна покажет кто где гадил" -&amp;nbsp; самое время выходить на охоту с металлоискателем.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-2066831769242309394?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/2066831769242309394/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_845.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/2066831769242309394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/2066831769242309394'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_845.html' title='Что-то не нравится? Самое время прокачать мозг!'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-3391650987501555471</id><published>2012-01-22T19:24:00.000+02:00</published><updated>2012-01-22T19:24:09.235+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='блог'/><category scheme='http://www.blogger.com/atom/ns#' term='хобби'/><category scheme='http://www.blogger.com/atom/ns#' term='писательство'/><title type='text'>Хобби-блог</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Хобби-блог - блог, в котором новичок описывает все свои шаги в покорении новой для себя темы. Не важно как ты пишешь, не важно что ты учишь - просто напиши в хобби-блог кратенькое резюме после того, как только что попрактиковался. И все. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Будет это полезно кому-то или нет - не важно. Просто резюмируй сегодняшний день, последние два часа или запиши интересную мысль. По ходу разберешься. &lt;br /&gt;&lt;br /&gt;У тебя есть такой блог? Его "надо реанимировать"? Чтобы реанимировать свой хобби-блог достаточно написать туда всего лишь один новый пост. Всего на два абзаца и хобби-блог жив!&lt;br /&gt;&lt;br /&gt;Никогда не знаешь где и когда, но твой хобби-блог тебе еще поможет. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-3391650987501555471?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/3391650987501555471/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_22.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/3391650987501555471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/3391650987501555471'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_22.html' title='Хобби-блог'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-4825413494893084554</id><published>2012-01-21T21:20:00.001+02:00</published><updated>2012-01-21T21:22:48.915+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='мотивация'/><category scheme='http://www.blogger.com/atom/ns#' term='интерес'/><category scheme='http://www.blogger.com/atom/ns#' term='стереотипы'/><category scheme='http://www.blogger.com/atom/ns#' term='школа'/><category scheme='http://www.blogger.com/atom/ns#' term='двоечник'/><category scheme='http://www.blogger.com/atom/ns#' term='двойки'/><title type='text'>Школа, какой она могла быть</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Какими были бы школы, если бы оценки ставились учениками учителю и его теме (а не наоборот, как обычно):&lt;br /&gt;2 - тема ученику оказалась не интересной&lt;br /&gt;3 - проявлял интерес к теме, прилагал некоторые усилия&lt;br /&gt;4 - было интересно, тему усвоил самостоятельно&lt;br /&gt;5 - было так интересно, что помог усвоить тему коллеге, заинтересовав его&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-rSujPZBsxEw/TxsNveCNd3I/AAAAAAACezo/6Jw9f68ow0o/s1600/210198_masha-i-medved_kreslo_pult_interes_1920x1080_%2528www.GdeFon.ru%2529%255B1%255D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://1.bp.blogspot.com/-rSujPZBsxEw/TxsNveCNd3I/AAAAAAACezo/6Jw9f68ow0o/s320/210198_masha-i-medved_kreslo_pult_interes_1920x1080_%2528www.GdeFon.ru%2529%255B1%255D.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Тут "2" - было бы поводом для перевода ученика в другую группу/на другой урок/другому преподавателю. Он сам поставил двойку теме, он сам может сделать выбор в пользу более интересного предмета. А учителю бек - не заинтересовал темой. &lt;br /&gt;&lt;br /&gt;Не нравится литература? Пойду на математику. Не нравится математика? Пойду на физкультуру. Целый день буду на физкультуре, если так. Меня там похвалят. А на математике буду сидеть зевать. Но чтобы получить желанную 5 мне надо будет заинтересовать уроком своего одноклассника. Вот Коля, почему он не носит форму? Пойду поговорю с ним... А Коля силен в математике, и ему тоже хочется 5 получить...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-IMjt8nDESIY/TxsNiyQZspI/AAAAAAACezg/dD6mk1tbm80/s1600/consulting-10%255B1%255D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-IMjt8nDESIY/TxsNiyQZspI/AAAAAAACezg/dD6mk1tbm80/s320/consulting-10%255B1%255D.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;А все остальное как обычно - журналы, подсчет средней оценки ученика, оценка за четверть, за год :) &lt;br /&gt;&lt;br /&gt;Вообще-то сейчас все точно так же - оценками оценивается интерес ученика к теме (хотя называют это успеваемостью ученика). Но каковы результаты?&lt;br /&gt;- учитель делает эту работу (выставление оценок) за ученика&lt;br /&gt;- на ученика вешаются ярлыки - "двоечник" со всеми негативными последствиями&lt;br /&gt;- ученик не имеет возможности поменять программу или учителя, тем более если он "двоечник"&lt;br /&gt;- списывать и помогать друзьям нельзя. &lt;br /&gt;- делать ошибки (даже в целях эксперимента) нельзя. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-B6uJLLwHhdg/TxsOB-zXD4I/AAAAAAACezw/Ds2DM9pu5E0/s1600/1272896093__pve0349%255B1%255D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="214" src="http://4.bp.blogspot.com/-B6uJLLwHhdg/TxsOB-zXD4I/AAAAAAACezw/Ds2DM9pu5E0/s320/1272896093__pve0349%255B1%255D.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Мне не нравилась литература, но точные науки мне давались с особенной легкостью. У меня был полосатый аттестат. Точные - пять, гуманитарно-авторитарные - три, все остальные - четыре. На некоторых уроках с меня начинали, чтобы сразу поставить 2ку и освободить мое внимание от всего того, что дальше будет рассказываться. А потом еще одну двойку за дисциплину. Подумать только, что будет делать ученик сам, когда ему поставили две двойки и выгнали за двери? Изучать мир, и пробовать его на прочность, но уже не под присмотром учителя и не в компании коллег одноклассников...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-VymlWxcnZtI/TxsLk991RYI/AAAAAAACezA/zE3iMAVRoZU/s1600/1110%255B1%255D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="212" src="http://3.bp.blogspot.com/-VymlWxcnZtI/TxsLk991RYI/AAAAAAACezA/zE3iMAVRoZU/s320/1110%255B1%255D.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Мне нравилось выбирать в каком кружке участвовать - там не было оценок, там я инвестировал свое личное время и делал выбор, а любой результат был классным и выставлялся на выставке. Я вышивал крестиком просто потому, что это было прикольно и мне за это ничего не было.Хоть я ничего и не вышил сверхъестественного, зато теперь я могу зашить куртку так, что шва видно не будет.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-MzEJDLe3pSM/TxsMR7O_6eI/AAAAAAACezI/rRY0C38nImk/s1600/Cross-Stitch%255B1%255D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="248" src="http://4.bp.blogspot.com/-MzEJDLe3pSM/TxsMR7O_6eI/AAAAAAACezI/rRY0C38nImk/s320/Cross-Stitch%255B1%255D.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Если учитель был глуп и авторитарный а тема моей, я его троллил - когда скучно, хочется развлечься. Если учитель умел увлечь, я слушал с открытым ртом, и даже литературу. С этим учителем по литературе я прочитал первую и последнюю книгу по литературе в школе. И я не умер от того, что в школе прочитал всего 1 художественную книгу, а даже поступил в вуз (потом еще в аспирантуру приглашали). &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Cs4w-Mf33zs/TxsMldf-msI/AAAAAAACezQ/gUtdKZllJ6E/s1600/images%255B1%255D" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-Cs4w-Mf33zs/TxsMldf-msI/AAAAAAACezQ/gUtdKZllJ6E/s1600/images%255B1%255D" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Я прочитал десятки других книг - технических. Библиотекарь удивлялась, когда я тащил пособие по органической химии для преподавателей вузов просто потому, что мне любопытно. Я был увлечен химией, математикой, геометрией, физикой и решал на контрольных работах все 4 варианта. Хотел, чтобы все имели оценку 3 и больше, потому что этого требовали. Тут мне учитель был не нужен. &lt;br /&gt;&lt;br /&gt;Но он мне нужен был к тех темах, в которых я не видел смысла, в которых не был заинтересован. Он мне очень был нужен, чтобы показать, что писать сочинения - это не нудотень, а еще один способ самовыражения. Кто знал, что мне нравится писать сочинения? Узнал я это только после того, как завел свой личный блог. Быть может и книг по литературе читал бы больше, если бы мне помог учитель. А он ставил "двойку за поведение" и выгонял из класса... А история?.. Интересная штука,как оказалось - почему у дискавери получилось сделать то, что не получалось у моих учителей истории - захватить мое внимание на 2 часа? &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-2BvbISZrfMk/TxsNQuR9gyI/AAAAAAACezY/JMPN35dLnCU/s1600/15120453%255B1%255D.png_800" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="151" src="http://4.bp.blogspot.com/-2BvbISZrfMk/TxsNQuR9gyI/AAAAAAACezY/JMPN35dLnCU/s320/15120453%255B1%255D.png_800" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Если про поведение, то бывало, что писал в конспект дома на 10 тем вперед, а на уроке внимательно слушал учителя глядя прямо в глаза. И за это получал еще одну "2 за поведение". А почему нельзя? Разве не лучше было бы отпустить меня в библиотеку или в класс, более старший? Или дать мне возможность провести урок, коль уж я готов. Быть может тогда я бы понял, что тренинги это мое...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Моя 5ка ничего не стоит вне школы, это я понял на своей первой олимпиаде, чтобы понять курс валют - там сбивают всех отличников и устраивают им очередное соревнование. &lt;br /&gt;&lt;br /&gt;А что, если у одного учителя стоит 5ка а у другого по той же теме 2ка? Что (или кто) оценивается в этом случае? А если учителю приложить усилий и заинтересовать? А если заинтересуют одноклассники? &lt;br /&gt;&lt;br /&gt;И самое главное. Там, где я сейчас работаю ценится сотрудничество, отсутствие страха перед экспериментами а значит и ошибками и самое главное - умение и желание учиться дальше. Это ценится куда больше, чем знания накопленные до сегодняшнего момента - знания сейчас очень быстро устаревают.&lt;br /&gt;&lt;br /&gt;Ничего из тех страшилок, которые мне говорили учителя, ставившие двойки, не реализовалось: ты не найдешь работу, ты не поступишь в вуз, ты не будешь ..., ты не сможешь .... Все это был стимулирующий бред, который, кстати, не особо работал - преподаватель ставящий "2" никогда не будет авторитетом в глазах у ученика, двойку получившего. &lt;br /&gt;&lt;br /&gt;Подумай в следующий раз, когда будешь ругать своего отпрыска за очередное "2 за поведение"...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-6jyYaEBsQzg/TxsK1IycO-I/AAAAAAACey4/o_3dz8gwUmU/s1600/%2525D0%25259E%2525D0%2525BF%2525D1%25258F%2525D1%252582%2525D1%25258C_%2525D0%2525B4%2525D0%2525B2%2525D0%2525BE%2525D0%2525B9%2525D0%2525BA%2525D0%2525B0_%255B1%255D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="226" src="http://2.bp.blogspot.com/-6jyYaEBsQzg/TxsK1IycO-I/AAAAAAACey4/o_3dz8gwUmU/s320/%2525D0%25259E%2525D0%2525BF%2525D1%25258F%2525D1%252582%2525D1%25258C_%2525D0%2525B4%2525D0%2525B2%2525D0%2525BE%2525D0%2525B9%2525D0%2525BA%2525D0%2525B0_%255B1%255D.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Может спросить у него, что тебе, сына, интереснее?&lt;br /&gt;А может школу поменять? &lt;br /&gt;Источник проблемы может быть и глубже...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-4825413494893084554?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/4825413494893084554/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_21.html#comment-form' title='Комментарии: 23'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/4825413494893084554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/4825413494893084554'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post_21.html' title='Школа, какой она могла быть'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-rSujPZBsxEw/TxsNveCNd3I/AAAAAAACezo/6Jw9f68ow0o/s72-c/210198_masha-i-medved_kreslo_pult_interes_1920x1080_%2528www.GdeFon.ru%2529%255B1%255D.jpg' height='72' width='72'/><thr:total>23</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-1099206696406905995</id><published>2012-01-19T20:23:00.002+02:00</published><updated>2012-01-19T20:27:04.011+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='тренинг'/><category scheme='http://www.blogger.com/atom/ns#' term='ABC'/><category scheme='http://www.blogger.com/atom/ns#' term='tdd'/><title type='text'>Тренинг по отработке навыков Test Driven Development</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-1yFbguERPrE/Txhe7_y8PII/AAAAAAACeyw/XkIDLgTLbiE/s1600/634f3eeb35%255B1%255D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="222" src="http://1.bp.blogspot.com/-1yFbguERPrE/Txhe7_y8PII/AAAAAAACeyw/XkIDLgTLbiE/s320/634f3eeb35%255B1%255D.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Бла бла бла.... :) Сколько уже этого Test Driven Development вокруг. Дофига. И вот еще один. Сейчас этим подходом никого не удивить.... Ладно, не буду долго говорить о TDD - и так понятно. Скажу лишь только, что поменялось в тренинге со времен проведения прошлого.&lt;br /&gt;&lt;br /&gt;Во первых, имел замечательную возможность потрудиться в среде профессиональных тренеров - на мастер-классе &lt;a href="https://www.facebook.com/media/set/?set=a.253871501352170.59572.100001879667855&amp;amp;type=1"&gt;Ирины Синчаловой&lt;/a&gt;. Там переосмыслил многие вещи. А сегодня мы с напарником &lt;a href="http://szelenin.blogspot.com/"&gt;Сергеем Зелениным&lt;/a&gt; качественно переработали программу тренинга. Нет предела совершенству. &lt;br /&gt;&lt;br /&gt;У нас с Сережей есть наш внутренний acceptance критерий. Поделюсь им. Test pass когда на второй день достаточно будет всего лишь фасилитации - группа все сделает сама. Конечно, это только критерий - мы в равной степени уделим внимание как первому, так и второму дню. Практика мастер-класса Ирины Синчаловой показала, что именно на второй день случается все самое-самое вкусное. Мы подготовим для вас вкусняшки, не сомневайтесь. &lt;br /&gt;&lt;br /&gt;Что еще поменялось? За время, с момента проведения последнего тренинга по TDD мы с Сережей провели ряд внутрикорпоративных собраний техтолков, получили обратную связь от ребят с которыми трудимся. Мы работали в паре с разными людьми и помогали им прокачаться в этом, на первый взгляд, простом инструменте: TDD на Common Lisp, TDD на Flex... Все неудобные вопросы, которые мы получали от Вас - все они проработаны, а ответами на них мы поделимся на &lt;a href="http://agilebasecamp.org/master-class/test-driven-development-in-java/"&gt;нашем следующем тренинге 2.0&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Кстати, вот моя довольная морда лица после закрепления навыка графической фасилитации на мастер-классе перед зрелой тренерской аудиторией. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-QiQgoviBiw0/Txhb01dzOxI/AAAAAAACeyo/LdD5y6DvHes/s1600/403209_275458482517207_100001591737918_770247_360283319_n%255B1%255D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-QiQgoviBiw0/Txhb01dzOxI/AAAAAAACeyo/LdD5y6DvHes/s400/403209_275458482517207_100001591737918_770247_360283319_n%255B1%255D.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Рассказывал я про TDD специалистом в области проведения тренингов. Судя по фидбекам ребят, за 10 минут у меня это получилось.&lt;br /&gt;&lt;br /&gt;Хочу так же отметить, что в это время параллельно с нами будут проходить и другие, не менее полезные &lt;a href="http://agilebasecamp.org/master-class/"&gt;мастер-классы&lt;/a&gt;. А днем позже, мы с удовольствием посетим с Сережей Agile Base Camp конференцию, на которой особое внимание уделим &lt;a href="http://agilebasecamp.org/extreme-programming-stage/"&gt;eXtreme Program stage&lt;/a&gt;. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-1099206696406905995?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/1099206696406905995/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2012/01/test-driven-development.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/1099206696406905995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/1099206696406905995'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2012/01/test-driven-development.html' title='Тренинг по отработке навыков Test Driven Development'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-1yFbguERPrE/Txhe7_y8PII/AAAAAAACeyw/XkIDLgTLbiE/s72-c/634f3eeb35%255B1%255D.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-9082918617262738462</id><published>2012-01-10T00:53:00.005+02:00</published><updated>2012-01-10T02:19:26.075+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FEST'/><category scheme='http://www.blogger.com/atom/ns#' term='assertions'/><category scheme='http://www.blogger.com/atom/ns#' term='junit'/><title type='text'>Java for fun: Assert That по принципу FEST</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Не так давно я столкнулся с классно библиотечкой, которая более удобно позволяет выполнять проверки в Unit тестах. С ней детально можно ознакомиться по следующей презентации&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;iframe frameborder="0" src="http://bit.ly/yvBCM9" style="height: 600px; width: 800px;"&gt;&lt;/iframe&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Теперь перейдем к тому, как можно расширить эту библиотечку на своем DOM. Если интересно научиться создавать подобные assertThat методы, &lt;a href="http://apofig.blogspot.com/2012/01/java-for-fun-assert-that-fest.html#cat" name="cat"&gt;кликни на меня...&lt;/a&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Сразу оговорюсь, цель этого поста не законченный фреймворк, который точно работает (я его разрабатывал не через TDD и не могу гарантировать 100% работоспособности). Цель в другом - показать подход. Но если ты найдешь ошибку, поделись fail-тестом и я ее исправлю. Так же в проекте не все может идеально с внутренней структурой. Цель в другом - показать как красиво оно может выглядеть снаружи. &lt;br /&gt;&lt;br /&gt;Допустим, есть у нас список мероприятий&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;package dom;&lt;br /&gt;&lt;br /&gt;import java.util.Arrays;&lt;br /&gt;import java.util.Iterator;&lt;br /&gt;import java.util.LinkedList;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;public class EventList implements Iterable&amp;lt;Event&amp;gt; {&lt;br /&gt;    private List&amp;lt;Event&amp;gt; events = new LinkedList&amp;lt;Event&amp;gt;();&lt;br /&gt;&lt;br /&gt;    public EventList(Event...events) {&lt;br /&gt;        this.events.addAll(Arrays.asList(events));&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void add(Event event) {&lt;br /&gt;        this.events.add(event);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Iterator&amp;lt;Event&amp;gt; iterator() {&lt;br /&gt;        return events.iterator();&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Список состоит из конкретных мероприятий&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;package dom;&lt;br /&gt;&lt;br /&gt;import java.util.Iterator;&lt;br /&gt;&lt;br /&gt;public class Event {&lt;br /&gt;    private String name;&lt;br /&gt;    private Place place;&lt;br /&gt;    private String date;&lt;br /&gt;    private ParticipantList participants = new ParticipantList();&lt;br /&gt;&lt;br /&gt;    public Event(String description, String date, Place place) {&lt;br /&gt;        this.name = description;&lt;br /&gt;        this.place = place;&lt;br /&gt;        this.date = date;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String getName() {&lt;br /&gt;        return name;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Place getPlace() {&lt;br /&gt;        return place;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String getDate() {&lt;br /&gt;        return date;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Iterator&amp;lt;Participant&amp;gt; participantsIterator() {&lt;br /&gt;        return participants.iterator();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void addParticipatns(Participant... participants) {&lt;br /&gt;        for (Participant participant:participants) {&lt;br /&gt;            this.participants.add(participant);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Мероприятие состоит так же их списка участников &lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;package dom;&lt;br /&gt;&lt;br /&gt;import java.util.Iterator;&lt;br /&gt;import java.util.LinkedList;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;public class ParticipantList implements Iterable&amp;lt;Participant&amp;gt; {&lt;br /&gt;&lt;br /&gt;    private List&amp;lt;Participant&amp;gt; participants = new LinkedList&amp;lt;Participant&amp;gt;();&lt;br /&gt;&lt;br /&gt;    public void add(Participant participant) {&lt;br /&gt;        this.participants.add(participant);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Iterator&amp;lt;Participant&amp;gt; iterator() {&lt;br /&gt;        return participants.iterator();&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;А вот и описание участника&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;package dom;&lt;br /&gt;&lt;br /&gt;public class Participant {&lt;br /&gt;&lt;br /&gt;    private String name;&lt;br /&gt;    private String email;&lt;br /&gt;&lt;br /&gt;    public Participant(String name, String email) {&lt;br /&gt;        this.name = name;&lt;br /&gt;        this.email = email;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String getName() {&lt;br /&gt;        return name;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String getEmail() {&lt;br /&gt;        return email;&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Так же мероприятие содержит ссылку на место проведения&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;package dom;&lt;br /&gt;&lt;br /&gt;public class Place {&lt;br /&gt;&lt;br /&gt;    private String address;&lt;br /&gt;    private String details;&lt;br /&gt;&lt;br /&gt;    public Place(String address, String details) {&lt;br /&gt;        this.address = address;&lt;br /&gt;        this.details = details;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String getAddress() {&lt;br /&gt;        return address;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String getDetails() {&lt;br /&gt;        return details;&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Вот пример классического теста&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;import static assertions.DomAssertions.assertThat;&lt;br /&gt;import static org.junit.Assert.assertTrue;&lt;br /&gt;&lt;br /&gt;import dom.Event;&lt;br /&gt;import dom.EventList;&lt;br /&gt;import dom.Participant;&lt;br /&gt;import dom.Place;&lt;br /&gt;import org.junit.Before;&lt;br /&gt;import org.junit.Test;&lt;br /&gt;&lt;br /&gt;import java.util.Iterator;&lt;br /&gt;&lt;br /&gt;public class TestTest {&lt;br /&gt;&lt;br /&gt;    private Participant vasia;&lt;br /&gt;    private Participant petia;&lt;br /&gt;    private Participant masha;&lt;br /&gt;    private Place vasiaHome;&lt;br /&gt;    private Event vasiaBitrthday;&lt;br /&gt;    private Event pairProgramming;&lt;br /&gt;    private Place office;&lt;br /&gt;    private EventList events;&lt;br /&gt;&lt;br /&gt;    @Before&lt;br /&gt;    public void setup(){&lt;br /&gt;        petia = new Participant("Петя Васечкин", "petia@gmail.com");&lt;br /&gt;        masha = new Participant("Маша Пупкина", "pupkina@mail.ru");&lt;br /&gt;        vasia = new Participant("Вася Пупкин", "super@mail.ru");&lt;br /&gt;&lt;br /&gt;        vasiaHome = new Place("Киев, ул. Лабораторная 12/34е", "На домофоне 123");&lt;br /&gt;        office = new Place("Киев, ул. Охотничья 43/123",&lt;br /&gt;                "На рисепшене охраннику скажешь, что пришел ко мне");&lt;br /&gt;&lt;br /&gt;        vasiaBitrthday = new Event("День рождения Васи", "2012-01-10", vasiaHome);&lt;br /&gt;        pairProgramming = new Event("Собрались попилить вместе проектик",&lt;br /&gt;                "2012-01-15", office);&lt;br /&gt;&lt;br /&gt;        vasiaBitrthday.addParticipatns(vasia, petia, masha);&lt;br /&gt;        pairProgramming.addParticipatns(petia, vasia);&lt;br /&gt;        events = new EventList(vasiaBitrthday, pairProgramming);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    @Test&lt;br /&gt;    public void classicTest(){&lt;br /&gt;        assertContainsParticipantWithEmail(events, "pupkina@mail.ru");&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void assertContainsParticipantWithEmail(EventList events, String email) {&lt;br /&gt;        boolean found = false;&lt;br /&gt;        for (Event event : events) {&lt;br /&gt;            Iterator&amp;lt;Participant&amp;gt; participants = event.participantsIterator();&lt;br /&gt;            while (participants.hasNext()) {&lt;br /&gt;                if (participants.next().getEmail().equals(email)) {&lt;br /&gt;                    found = true;&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        assertTrue(String.format("email '%s' не найден", email), found);&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Кто не писал такие пользовательские ассерты? Я писал... :) &lt;br /&gt;&lt;br /&gt;С развитием системы (если постоянно покрывать ее тестами) таких методов становиться все больше и больше. Часть из этих методов можно разместить в тестируемых объектах - потому, что методы эти завидуют (по Фаулеру) к тестируемым объктам. &lt;br /&gt;&lt;br /&gt;Чаще, все же, методы очень специфические, а потому не стоит раздувать модель такими методами - они используются только в тестировании. А еще бывает, что модель никак нельзя пофиксить - не мы писали ее. &lt;br /&gt;&lt;br /&gt;Какие альтернативы?&lt;br /&gt;&lt;br /&gt;Представь, что можно написать такой тест:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;@Test&lt;br /&gt;    public void assertThatTest(){&lt;br /&gt;        assertThat(events).hasEvent().withName("День рождения Васи");&lt;br /&gt;        assertThat(events).hasParticipant().withEmail("pupkina@mail.ru");&lt;br /&gt;        assertThat(events).hasPlace().withAddress("Киев, ул. Лабораторная 12/34е");&lt;br /&gt;        &lt;br /&gt;        assertThat(vasiaBitrthday).withName("День рождения Васи");&lt;br /&gt;        assertThat(pairProgramming).withDate("2012-01-15");&lt;br /&gt;        assertThat(pairProgramming).hasParticipant().withEmail("petia@gmail.com");&lt;br /&gt;        assertThat(vasiaBitrthday).hashPlace().withDetails("На домофоне 123");&lt;br /&gt;&lt;br /&gt;        assertThat(vasiaHome).withAddress("Киев, ул. Лабораторная 12/34е");&lt;br /&gt;&lt;br /&gt;        assertThat(vasia).withEmail("super@mail.ru");&lt;br /&gt;        assertThat(vasia).withName("Вася Пупкин");&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Удобно? Мне да... &lt;br /&gt;&lt;br /&gt;Как создать такой assert-фреймворк? Идея проста. Для начала стоит написать assertThat(someObject).somecheck(someExpected) и реализовать метод assertThat. Вот пример для моих объектов модели.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;package assertions;&lt;br /&gt;&lt;br /&gt;import dom.Event;&lt;br /&gt;import dom.EventList;&lt;br /&gt;import dom.Participant;&lt;br /&gt;import dom.Place;&lt;br /&gt;&lt;br /&gt;import java.util.Arrays;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;public class DomAssertions {&lt;br /&gt;&lt;br /&gt;    public static EventListAssertion assertThat(EventList events) {&lt;br /&gt;        return new EventListAssertion(events);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static EventAssertion assertThat(List&amp;lt;Event&amp;gt; events) {&lt;br /&gt;        return new EventAssertion(events);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static EventAssertion assertThat(Event event) {&lt;br /&gt;        return new EventAssertion(Arrays.asList(new Event[]{event}));&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static ParticipantAssertion assertThat(Participant participant) {&lt;br /&gt;        return new ParticipantAssertion(participant);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static PlaceAssertion assertThat(Place place) {&lt;br /&gt;        return new PlaceAssertion(place);&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Так получается, что на каждый класс проверяемых объектов надо написать свой ClassAssertion. &lt;br /&gt;&lt;br /&gt;А вот реализация всех проверяльщиков содржит уже методы проверки. &lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;package assertions;&lt;br /&gt;&lt;br /&gt;import collectors.Collector;&lt;br /&gt;import dom.Event;&lt;br /&gt;import dom.Place;&lt;br /&gt;import org.fest.assertions.Assertions;&lt;br /&gt;&lt;br /&gt;import java.util.Arrays;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;public class PlaceAssertion {&lt;br /&gt;&lt;br /&gt;    private List&amp;lt;Place&amp;gt; places;&lt;br /&gt;&lt;br /&gt;    public PlaceAssertion(List&amp;lt;Event&amp;gt; events) {&lt;br /&gt;         // это так же мой самописный колектор, который ходит по спискам &lt;br /&gt;         // и собирает подколлекции, онем чуть позже. &lt;br /&gt;         // Сейчас достаточно знать, что в результате селекнутся все места&lt;br /&gt;         // описанные в списке мероприятий&lt;br /&gt;         places = Collector.fromEvents(events).places().list();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public PlaceAssertion(Place place) {&lt;br /&gt;        places = Arrays.asList(place);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void withDetails(String details) {&lt;br /&gt;        // Я тут воспользовался родным FESTAssertion assertThat &lt;br /&gt;        // методом для работы с коллекцией объектов. &lt;br /&gt;        // Зачем изобретать велосипед?&lt;br /&gt;        Assertions.assertThat(places)&lt;br /&gt;                .onProperty("details")&lt;br /&gt;                .contains(details);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void withAddress(String address) {&lt;br /&gt;        Assertions.assertThat(places)&lt;br /&gt;                .onProperty("address")&lt;br /&gt;                .contains(address);&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Аналогично и для другого ассертора :)&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;package assertions;&lt;br /&gt;&lt;br /&gt;import collectors.Collector;&lt;br /&gt;import dom.Event;&lt;br /&gt;import dom.Participant;&lt;br /&gt;import org.fest.assertions.Assertions;&lt;br /&gt;&lt;br /&gt;import java.util.Arrays;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;import static org.junit.Assert.fail;&lt;br /&gt;&lt;br /&gt;public class ParticipantAssertion {&lt;br /&gt;    private List&amp;lt;Participant&amp;gt; participants;&lt;br /&gt;&lt;br /&gt;    public ParticipantAssertion(List&amp;lt;Event&amp;gt; events) {&lt;br /&gt;        participants = Collector.fromEvents(events).participants().list();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public ParticipantAssertion(Participant participant) {&lt;br /&gt;        this.participants = Arrays.asList(participant);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void withEmail(String email) {&lt;br /&gt;        Assertions.assertThat(participants)&lt;br /&gt;                .onProperty("email")&lt;br /&gt;                .contains(email);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void withName(String name) {&lt;br /&gt;        Assertions.assertThat(participants)&lt;br /&gt;                .onProperty("name")&lt;br /&gt;                .contains(name);&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;И третьего...&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;package assertions;&lt;br /&gt;&lt;br /&gt;import dom.Event;&lt;br /&gt;import org.fest.assertions.Assertions;&lt;br /&gt;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;public class EventAssertion {&lt;br /&gt;    private List&amp;lt;Event&amp;gt; events;&lt;br /&gt;&lt;br /&gt;    public EventAssertion(List&amp;lt;Event&amp;gt; events) {&lt;br /&gt;        this.events = events;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void withName(String name) {&lt;br /&gt;        Assertions.assertThat(events)&lt;br /&gt;                .onProperty("name")&lt;br /&gt;                .contains(name);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void withDate(String date) {&lt;br /&gt;        Assertions.assertThat(events)&lt;br /&gt;            .onProperty("date")&lt;br /&gt;            .contains(date);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    // тут можно увидеть странные методы&lt;br /&gt;    // но они нужны для того, чтобы можно было сделать так&lt;br /&gt;    // assertThat(events).hasEvent().hasParticipant().withEmail("pupkina@mail.ru");&lt;br /&gt;    public ParticipantAssertion hasParticipant() {&lt;br /&gt;        return new ParticipantAssertion(events);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public PlaceAssertion hashPlace() {&lt;br /&gt;        return new PlaceAssertion(events);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;И еще один&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;package assertions;&lt;br /&gt;&lt;br /&gt;import dom.Event;&lt;br /&gt;import dom.EventList;&lt;br /&gt;&lt;br /&gt;import java.util.LinkedList;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;public class EventListAssertion {&lt;br /&gt;    private List&amp;lt;Event&amp;gt; events;&lt;br /&gt;&lt;br /&gt;    public EventListAssertion(EventList events) {&lt;br /&gt;        this.events = asList(events);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public EventAssertion hasEvent() {&lt;br /&gt;        return new EventAssertion(events);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    // Это чудо для перегонки Iterable в List. Чую, велосипед :)&lt;br /&gt;    private &amp;lt;T&amp;gt; List&amp;lt;T&amp;gt; asList(Iterable&amp;lt;T&amp;gt; iterable) {&lt;br /&gt;        List&amp;lt;T&amp;gt; result = new LinkedList&amp;lt;T&amp;gt;();&lt;br /&gt;        for (T t : iterable) {&lt;br /&gt;            result.add(t);&lt;br /&gt;        }&lt;br /&gt;        return result;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public ParticipantAssertion hasParticipant() {&lt;br /&gt;        return new ParticipantAssertion(events);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public PlaceAssertion hasPlace() {&lt;br /&gt;        return new PlaceAssertion(events);&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;А теперь коллектор, в котором используется подобный шаблон, только с целью другой&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;package collectors;&lt;br /&gt;&lt;br /&gt;import dom.Event;&lt;br /&gt;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;public class Collector {&lt;br /&gt;&lt;br /&gt;    private List&amp;lt;Event&amp;gt; events;&lt;br /&gt;&lt;br /&gt;    public Collector(List&amp;lt;Event&amp;gt; events) {&lt;br /&gt;        this.events = events;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static Collector fromEvents(List&amp;lt;Event&amp;gt; events) {&lt;br /&gt;        return new Collector(events);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public ParticipantCollector participants() {&lt;br /&gt;        return new ParticipantCollector().fromEvents(events);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public PlaceCollector places() {&lt;br /&gt;        return new PlaceCollector().fromEvents(events);&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;И два сборщика&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;package collectors;&lt;br /&gt;&lt;br /&gt;import dom.Event;&lt;br /&gt;import dom.Place;&lt;br /&gt;&lt;br /&gt;import java.util.LinkedList;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;public class PlaceCollector {&lt;br /&gt;    private List&amp;lt;Place&amp;gt; places = new LinkedList&amp;lt;Place&amp;gt;();&lt;br /&gt;&lt;br /&gt;    PlaceCollector fromEvents(List&amp;lt;Event&amp;gt; events) {&lt;br /&gt;        for (Event event : events) {&lt;br /&gt;            fromEvent(event);&lt;br /&gt;        }&lt;br /&gt;        return this;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    PlaceCollector fromEvent(Event event) {&lt;br /&gt;        places.add(event.getPlace());&lt;br /&gt;        return this;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public List&amp;lt;Place&amp;gt; list() {&lt;br /&gt;        return new LinkedList&amp;lt;Place&amp;gt;(places);&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;И &lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;package collectors;&lt;br /&gt;&lt;br /&gt;import dom.Event;&lt;br /&gt;import dom.Participant;&lt;br /&gt;&lt;br /&gt;import java.util.Iterator;&lt;br /&gt;import java.util.LinkedList;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;public class ParticipantCollector {&lt;br /&gt;    private List&amp;lt;Participant&amp;gt; participants = new LinkedList&amp;lt;Participant&amp;gt;();&lt;br /&gt;&lt;br /&gt;    ParticipantCollector fromEvents(List&amp;lt;Event&amp;gt; events) {&lt;br /&gt;        for (Event event : events) {&lt;br /&gt;            Iterator&amp;lt;Participant&amp;gt; participants = event.participantsIterator();&lt;br /&gt;            while (participants.hasNext()) {&lt;br /&gt;                this.participants.add(participants.next());&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        return this;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public List&amp;lt;Participant&amp;gt; list() {&lt;br /&gt;        return new LinkedList&amp;lt;Participant&amp;gt;(participants);&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Вот как-то так, заковырчесто можно написать свои ассерты. Поначалу код читается плохо, но если поиграться, то мозг прокачивается...&lt;br /&gt;&lt;br /&gt;А вот и &lt;a href="http://bit.ly/zz76iv"&gt;исходники&lt;/a&gt; (Maven проект, но на всякий либа FEST Assertions внутри).&lt;br /&gt;&lt;br /&gt;Приятного аппетита!&lt;br /&gt;&lt;br /&gt;---------------------------------------&lt;br /&gt;&lt;br /&gt;Хорошая мысля приходит опосля :)&lt;br /&gt;&lt;br /&gt;Теперь если немного переделать void методы в ассерторах&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;...&lt;br /&gt;public class PlaceAssertion {&lt;br /&gt;&lt;br /&gt;    ... &lt;br /&gt;&lt;br /&gt;    public void withDetails(String details) {&lt;br /&gt;        Assertions.assertThat(places)&lt;br /&gt;                .onProperty("details")&lt;br /&gt;                .contains(details);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void withAddress(String address) {&lt;br /&gt;        Assertions.assertThat(places)&lt;br /&gt;                .onProperty("address")&lt;br /&gt;                .contains(address);&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;на &lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;...&lt;br /&gt;public class PlaceAssertion {&lt;br /&gt;&lt;br /&gt;    ... &lt;br /&gt;&lt;br /&gt;    public PlaceAssertion withDetails(String details) {&lt;br /&gt;        Assertions.assertThat(places)&lt;br /&gt;                .onProperty("details")&lt;br /&gt;                .contains(details);&lt;br /&gt;        return this;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public PlaceAssertion withAddress(String address) {&lt;br /&gt;        Assertions.assertThat(places)&lt;br /&gt;                .onProperty("address")&lt;br /&gt;                .contains(address);&lt;br /&gt;        return this;&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;то можно написать так :)&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;assertThat(events).hasEvent().hashPlace()&lt;br /&gt;            .withAddress("Киев, ул. Охотничья 43/123")&lt;br /&gt;            .withDetails("На рисепшене охраннику скажешь, что пришел ко мне");&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Но это не совсем гуд, потому как по тексту кажется что условия проверки места по адресу и описанию объединенные в AND, а на практике можно написать &lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;assertThat(events).hasEvent().hashPlace()&lt;br /&gt;            .withAddress("Киев, ул. Охотничья 43/123") // это с одного Place&lt;br /&gt;            .withDetails("На домофоне 123"); // a это с другого Place&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;и такой assert тоже пройдет, хотя строки - кишки разынх Place объектов. &lt;br /&gt;&lt;br /&gt;Выход? Есть. Еще немного усложняем :) &lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;package assertions;&lt;br /&gt;&lt;br /&gt;import collectors.Collector;&lt;br /&gt;import dom.Event;&lt;br /&gt;import dom.Place;&lt;br /&gt;import org.fest.assertions.Assertions;&lt;br /&gt;&lt;br /&gt;import java.nio.channels.Selector;&lt;br /&gt;import java.util.Arrays;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;public class PlaceAssertion {&lt;br /&gt;&lt;br /&gt;    protected List&amp;lt;Place&amp;gt; places;&lt;br /&gt;&lt;br /&gt;    public PlaceAssertion(List&amp;lt;Event&amp;gt; events) {&lt;br /&gt;        places = Collector.fromEvents(events).places().list();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public PlaceAssertion(Place place) {&lt;br /&gt;        places = Arrays.asList(place);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public PlaceSubAssertion withDetails(String details) {&lt;br /&gt;        // проверяем, что соблюдается первое условие&lt;br /&gt;        new PlaceSubAssertion(places).andDetails(details);&lt;br /&gt;&lt;br /&gt;        // выделяем всех найденных по этому условию&lt;br /&gt;        List&amp;lt;Place&amp;gt; subList = Collector.fromPlaces(places).withDetails(details).list();&lt;br /&gt;&lt;br /&gt;        // даем возможность првоерить второе условие клиенту&lt;br /&gt;        return new PlaceSubAssertion(subList);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public PlaceSubAssertion withAddress(String address) {&lt;br /&gt;        new PlaceSubAssertion(places).andAddress(address);&lt;br /&gt;&lt;br /&gt;        List&amp;lt;Place&amp;gt; subList = Collector.fromPlaces(places).withAddress(address).list();&lt;br /&gt;        return new PlaceSubAssertion(subList);&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;А остальное в другом классе :)&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;package assertions;&lt;br /&gt;&lt;br /&gt;import dom.Place;&lt;br /&gt;import org.fest.assertions.Assertions;&lt;br /&gt;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;public class PlaceSubAssertion {&lt;br /&gt;    private List&amp;lt;Place&amp;gt; places;&lt;br /&gt;&lt;br /&gt;    public PlaceSubAssertion(List&amp;lt;Place&amp;gt; places) {&lt;br /&gt;        this.places = places;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void andDetails(String details) {&lt;br /&gt;        Assertions.assertThat(places)&lt;br /&gt;                .onProperty("details")&lt;br /&gt;                .contains(details);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void andAddress(String address) {&lt;br /&gt;        Assertions.assertThat(places)&lt;br /&gt;                .onProperty("address")&lt;br /&gt;                .contains(address);&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Вот как то так :) Еще сложнее, зато можно написать теперь так:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;assertThat(events).hasEvent().hashPlace()&lt;br /&gt;            .withAddress("Киев, ул. Охотничья 43/123")&lt;br /&gt;            .andDetails("На рисепшене охраннику скажешь, что пришел ко мне");&lt;/pre&gt;&lt;br /&gt;И тут уже валидация будет так доктор прописал...&lt;br /&gt;&lt;br /&gt;Если интересно посмотреть на исходники второго варианта - &lt;a href="http://bit.ly/xA4uRt"&gt;они тут&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Цель этого поста не &lt;br /&gt;&lt;br /&gt;Надеюсь продолжение следует...&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-9082918617262738462?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/9082918617262738462/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2012/01/java-for-fun-assert-that-fest.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/9082918617262738462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/9082918617262738462'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2012/01/java-for-fun-assert-that-fest.html' title='Java for fun: Assert That по принципу FEST'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-565883525231626107</id><published>2012-01-09T06:33:00.004+02:00</published><updated>2012-01-09T06:42:27.896+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TortoiseSVN'/><category scheme='http://www.blogger.com/atom/ns#' term='EasyMock'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='jWebUnit'/><category scheme='http://www.blogger.com/atom/ns#' term='Hudson'/><category scheme='http://www.blogger.com/atom/ns#' term='subclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='ant'/><category scheme='http://www.blogger.com/atom/ns#' term='junit'/><category scheme='http://www.blogger.com/atom/ns#' term='Web проект'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomcat'/><category scheme='http://www.blogger.com/atom/ns#' term='SVN'/><title type='text'>Java for fun: #3 Пишем Web проект на Java в Eclipse для Tomcat. Билдим Ant. Проверяем Hudson. Тестим jUnit + EasyMock + jWebUnit. Коммитим в Svn.</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;a href="http://apofig.blogspot.com/2010/10/web-java-eclipse-tomcat-ant-hudson.html"&gt;В первой части я расказал&lt;/a&gt; как настроить самое основное окружение, а тут мы уже начнем реализовывать web приложение. &lt;br /&gt;&lt;br /&gt;Во &lt;a href="http://apofig.blogspot.com/2011/03/2-web-java-eclipse-tomcat-ant-hudson.html"&gt;второй части&lt;/a&gt; мы начали делать login page и почти закончили ее. &lt;br /&gt;&lt;br /&gt;Итак продолжим. Всякая работа начинается с запуска тестов-требований. так мы понимаем, что все работает как прежде и можем спокойно продолжать разработку... &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFn89a48LI/AAAAAAACX54/AKchB0hpSJc/s1600/1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFn89a48LI/AAAAAAACX54/AKchB0hpSJc/s1600/1.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Напомню, что я хочу сделать User сервис таким, чтобы он работать с простыми файлами. Для этого я напишу новую версию класса, а старую оставлю в покое.&lt;br /&gt;&lt;br /&gt;Переименуем UserServiceTest с тем, чтобы дать понять, что он тестирует старую реализацию знающую всего лишь про одного пользователя - назовем ее Mock. &lt;a href="http://apofig.blogspot.com/2012/01/3-web-java-eclipse-tomcat-ant-hudson.html#cat" name="cat"&gt;Если интересно, читаем дальше...&lt;/a&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Если стоя курсором на имени нажать комбинацию клавиш Alt-Shift-R то Eclipse предложит заменить имя. После нажатия Enter - все места, где встречается упоминание этого класса так же будут обновлены....&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFn9d4QiDI/AAAAAAACX58/67zvz1wbI_4/s1600/2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFn9d4QiDI/AAAAAAACX58/67zvz1wbI_4/s1600/2.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Теперь используем CopyPast подход для клонирования теста. Новый класс назовем UserServiceFileTest...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFn9yEuPTI/AAAAAAACX6A/63lkO7j_TvI/s1600/3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFn9yEuPTI/AAAAAAACX6A/63lkO7j_TvI/s1600/3.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;В сердце его будем использовать новую реализацию (которой еще пока нет) некоторого интерфейса (его тоже пока нет)....&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFn-Sz_xyI/AAAAAAACX6E/tBX2b4InUs0/s1600/4.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFn-Sz_xyI/AAAAAAACX6E/tBX2b4InUs0/s1600/4.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Создадим их!...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFn-9LM4EI/AAAAAAACX6I/KXztQ0Lrrio/s1600/5.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFn-9LM4EI/AAAAAAACX6I/KXztQ0Lrrio/s1600/5.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFn_REx69I/AAAAAAACX6M/ZtXQf0ibENU/s1600/6.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFn_REx69I/AAAAAAACX6M/ZtXQf0ibENU/s1600/6.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFn_5B4PSI/AAAAAAACX6Q/4THg6DEZ2Ws/s1600/7.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFn_5B4PSI/AAAAAAACX6Q/4THg6DEZ2Ws/s1600/7.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoAXvtr-I/AAAAAAACX6U/rKxk6BtWMUA/s1600/8.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoAXvtr-I/AAAAAAACX6U/rKxk6BtWMUA/s1600/8.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Если теперь запустить тесты, то можно увидеть, что проходят только двое их трех...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFoAyzDkqI/AAAAAAACX6Y/WXO9UkQZRYg/s1600/9.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFoAyzDkqI/AAAAAAACX6Y/WXO9UkQZRYg/s1600/9.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Все потому что новый класс, генерированный с помощью Eclipse всегда действует так, что любой проверяемый пользователь считается несуществующим...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoBdIWVNI/AAAAAAACX6c/le4ryenvV78/s1600/10.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoBdIWVNI/AAAAAAACX6c/le4ryenvV78/s1600/10.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Если мы заменим false на true - то увидим другую картину: тот тест, который работа поломается и наоборот. Это хорошо демонстрирует тот факт, что зеленый тест вовсе не значит что код работает...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoCRZhXgI/AAAAAAACX6g/zvrKp1ACiRc/s1600/11.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoCRZhXgI/AAAAAAACX6g/zvrKp1ACiRc/s1600/11.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Напишем реализацию основанную на Properties классе - у него есть набор методов, которые нам подходят...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoC8vJJ6I/AAAAAAACX6k/S4xHKnr2nNk/s1600/12_2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoC8vJJ6I/AAAAAAACX6k/S4xHKnr2nNk/s1600/12_2.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Пишем код игнорируя ошибки а потом причесываем его...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoDWmBiQI/AAAAAAACX6o/w1rirsbSTnA/s1600/13.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoDWmBiQI/AAAAAAACX6o/w1rirsbSTnA/s1600/13.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoDzWaP7I/AAAAAAACX6s/YRACuRK3lW8/s1600/14.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoDzWaP7I/AAAAAAACX6s/YRACuRK3lW8/s1600/14.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFoEeAIMnI/AAAAAAACX6w/Q7VJVy2HGBI/s1600/15.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFoEeAIMnI/AAAAAAACX6w/Q7VJVy2HGBI/s1600/15.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoEwFZj7I/AAAAAAACX60/QvO-gjcqzFo/s1600/16.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoEwFZj7I/AAAAAAACX60/QvO-gjcqzFo/s1600/16.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Еще одна правочка от меня...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFoFnGgXjI/AAAAAAACX64/DIGlc95c96U/s1600/17.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFoFnGgXjI/AAAAAAACX64/DIGlc95c96U/s1600/17.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Теперь нам надо создать файл с описанием пользователей...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFoGIhmTCI/AAAAAAACX68/YW115kP-X8k/s1600/19.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFoGIhmTCI/AAAAAAACX68/YW115kP-X8k/s1600/19.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Имя должно соответствовать тому, которое мы указали ранее...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoG1FfB4I/AAAAAAACX7A/P-uUFh3M3FQ/s1600/20.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoG1FfB4I/AAAAAAACX7A/P-uUFh3M3FQ/s1600/20.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Добавляем нового пользователя...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoHj86_UI/AAAAAAACX7E/RgJp2gW2iAw/s1600/21.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoHj86_UI/AAAAAAACX7E/RgJp2gW2iAw/s1600/21.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Чик! И все зазеленело...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoIAGQgKI/AAAAAAACX7I/Ol8UCJTxGI4/s1600/22.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoIAGQgKI/AAAAAAACX7I/Ol8UCJTxGI4/s1600/22.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Я набрался смелости и воспользовался параметризацией тестов (фича jUnit4) с тем, чтобы тестировать для разных пользователей...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoIrh4YRI/AAAAAAACX7M/u-zVEFoiqTY/s1600/24.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoIrh4YRI/AAAAAAACX7M/u-zVEFoiqTY/s1600/24.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;добавим теперь этих разных пользователей...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFoJVIAOoI/AAAAAAACX7Q/ioCT9jdsc1M/s1600/30.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFoJVIAOoI/AAAAAAACX7Q/ioCT9jdsc1M/s1600/30.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Чик! И тесты работают...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFoJ0RIvkI/AAAAAAACX7U/4eChSv40BRo/s1600/32.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFoJ0RIvkI/AAAAAAACX7U/4eChSv40BRo/s1600/32.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Научим тест создавать этот файл с необходимым набором пользоватльских данных... &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoKR0wRCI/AAAAAAACX7Y/jfJWBOfsIe8/s1600/33.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoKR0wRCI/AAAAAAACX7Y/jfJWBOfsIe8/s1600/33.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Сделаем реализацию UserService более гибким - так, чтобы она работала с любыми файлами. Ссылку на файл можно указать в конструкторе. Теперь можно смело удалять файл с данными...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoLMiiGJI/AAAAAAACX7c/bV9H0wjxCpg/s1600/34.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoLMiiGJI/AAAAAAACX7c/bV9H0wjxCpg/s1600/34.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Но вот неожиданная ошибка!...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFoMleFbGI/AAAAAAACX7k/uWwgIYxZsew/s1600/36.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFoMleFbGI/AAAAAAACX7k/uWwgIYxZsew/s1600/36.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Перепишем логику загрузки файла и все пройдет...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoNWubVuI/AAAAAAACX7o/C5ukOLcQBJw/s1600/37.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoNWubVuI/AAAAAAACX7o/C5ukOLcQBJw/s1600/37.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Еще раз все тесты...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoOIZI3eI/AAAAAAACX7s/gIefPOvH5Gg/s1600/38.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoOIZI3eI/AAAAAAACX7s/gIefPOvH5Gg/s1600/38.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Теперь можно браться за переключение системы на новую реализацию...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoOVbzefI/AAAAAAACX7w/Q5x8sMUzF5Y/s1600/39.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoOVbzefI/AAAAAAACX7w/Q5x8sMUzF5Y/s1600/39.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Часть тестов перестала работать...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoPANJxYI/AAAAAAACX70/StWNlqhDjWI/s1600/40.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoPANJxYI/AAAAAAACX70/StWNlqhDjWI/s1600/40.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Но мы добавим файл с пользователями...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFoPjtsHvI/AAAAAAACX74/OME79__Qusc/s1600/41.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFoPjtsHvI/AAAAAAACX74/OME79__Qusc/s1600/41.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;И все пройдет!...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoQIth7wI/AAAAAAACX78/c6HIytnKjtE/s1600/42.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoQIth7wI/AAAAAAACX78/c6HIytnKjtE/s1600/42.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;Напишем еще одно требование но для другого пользователя...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoQrzo15I/AAAAAAACX8A/GhEFrFAMCsU/s1600/43.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoQrzo15I/AAAAAAACX8A/GhEFrFAMCsU/s1600/43.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;После добавление этого пользователя - тест стал зеленый...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoRXgj8aI/AAAAAAACX8E/BJiXkpj0z1I/s1600/44.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoRXgj8aI/AAAAAAACX8E/BJiXkpj0z1I/s1600/44.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;и ничего более не поломалось...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoR5lgiuI/AAAAAAACX8I/9dDRH3tAcQc/s1600/45.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoR5lgiuI/AAAAAAACX8I/9dDRH3tAcQc/s1600/45.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Пока писал одно пришла идея как сделать другое - для удобства копирования...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoSr2sHpI/AAAAAAACX8M/QPGsi2YBUZ4/s1600/46.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoSr2sHpI/AAAAAAACX8M/QPGsi2YBUZ4/s1600/46.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Вот как это выглядит в браузере...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFoTD07LbI/AAAAAAACX8Q/NAO6blwx19c/s1600/47.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFoTD07LbI/AAAAAAACX8Q/NAO6blwx19c/s1600/47.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Сохраняемся!..&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoTyRQchI/AAAAAAACX8U/lY-EotZdtCk/s1600/48+commit.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoTyRQchI/AAAAAAACX8U/lY-EotZdtCk/s1600/48+commit.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFoUngcm-I/AAAAAAACX8Y/aD4KHXiGa00/s1600/49.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFoUngcm-I/AAAAAAACX8Y/aD4KHXiGa00/s1600/49.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Дальше я хочу сделать так, чтобы при залогинивании пользователь видел список экзаменов для прохождения. Для этого нам нужно написать требование, для нового типа тербваний - новый класс...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoVNAhmtI/AAAAAAACX8c/l1WwCndQABE/s1600/51.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoVNAhmtI/AAAAAAACX8c/l1WwCndQABE/s1600/51.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Мы можем сделать CopyPast инфраструктуры...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoVgAm52I/AAAAAAACX8g/dy1HwpEhZDM/s1600/52.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoVgAm52I/AAAAAAACX8g/dy1HwpEhZDM/s1600/52.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Но я все же предпочитаю другой вид повторного использования кода...Выделим (Extract) в новые методы все места, в которых используется поле server. Это метод startServer...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoWfYdaUI/AAAAAAACX8k/w_RJWwnN_Ns/s1600/53.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoWfYdaUI/AAAAAAACX8k/w_RJWwnN_Ns/s1600/53.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoXMhFmtI/AAAAAAACX8o/0pQ03j5TIOE/s1600/54.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoXMhFmtI/AAAAAAACX8o/0pQ03j5TIOE/s1600/54.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFoXbkuCFI/AAAAAAACX8s/hzTzRKe90mI/s1600/55.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFoXbkuCFI/AAAAAAACX8s/hzTzRKe90mI/s1600/55.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;и stopServer...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoYGeKvgI/AAAAAAACX8w/R7Ypifp2ppc/s1600/56.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoYGeKvgI/AAAAAAACX8w/R7Ypifp2ppc/s1600/56.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoYrcSwaI/AAAAAAACX80/C8SV-SuFAOw/s1600/57.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoYrcSwaI/AAAAAAACX80/C8SV-SuFAOw/s1600/57.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoZGjIAvI/AAAAAAACX84/onJfr9mKqoQ/s1600/58.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoZGjIAvI/AAAAAAACX84/onJfr9mKqoQ/s1600/58.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Я вначале думал сделать еще один метод, для получения порта...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoZiXHL0I/AAAAAAACX88/LrTcXXvvPAs/s1600/59.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoZiXHL0I/AAAAAAACX88/LrTcXXvvPAs/s1600/59.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFoaPvwK4I/AAAAAAACX9A/0csaOWNzVn4/s1600/60.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFoaPvwK4I/AAAAAAACX9A/0csaOWNzVn4/s1600/60.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoan5Wt-I/AAAAAAACX9E/lmq3CkTEM14/s1600/61.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoan5Wt-I/AAAAAAACX9E/lmq3CkTEM14/s1600/61.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Но позже передумал и объединил два метода startServe и getServerPort вместе. После я перенес их в новый класс ServerRunner, который настроил как Singleton. В этот же&amp;nbsp; ServerRunner я добавил еще один метод join и некоторую примитивную проверку. На результат можно глянуть тут:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFobTthrOI/AAAAAAACX9I/w5OH4ob1GD4/s1600/70.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFobTthrOI/AAAAAAACX9I/w5OH4ob1GD4/s1600/70.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;А вот как изменятся его клиенты...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFob0jVtkI/AAAAAAACX9M/IZoeM8bbtGQ/s1600/71.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFob0jVtkI/AAAAAAACX9M/IZoeM8bbtGQ/s1600/71.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFocSBtCBI/AAAAAAACX9Q/dqAJWmE3BPU/s1600/72.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFocSBtCBI/AAAAAAACX9Q/dqAJWmE3BPU/s1600/72.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;А от оставшейся части дублирование (инициализация tester на основе server) я избавлюсь с помощью наследования... Мне почти ничего не надо делать в ручную - все сделает Eclipse... &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFodJqAxeI/AAAAAAACX9U/HdIeu2AI5s0/s1600/73.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFodJqAxeI/AAAAAAACX9U/HdIeu2AI5s0/s1600/73.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Так будет называться родитель для всех тестов требований, которые работают со стороны клиента. Часто такие тесты требования называют функциональными, так как они тестируют все приложение целиком....&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFodqmK8VI/AAAAAAACX9Y/1-LuzOUNC0g/s1600/74.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFodqmK8VI/AAAAAAACX9Y/1-LuzOUNC0g/s1600/74.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Вот и все :)...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFoeCC0vkI/AAAAAAACX9c/H5qrmfO7EP8/s1600/75.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFoeCC0vkI/AAAAAAACX9c/H5qrmfO7EP8/s1600/75.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;А вот зачем мы все это делали...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoehSUUbI/AAAAAAACX9g/_IbvRCYQIP0/s1600/76.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoehSUUbI/AAAAAAACX9g/_IbvRCYQIP0/s1600/76.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Теперь можно написать новое требование...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFofA0JLfI/AAAAAAACX9k/M3JZteyXk7A/s1600/77.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFofA0JLfI/AAAAAAACX9k/M3JZteyXk7A/s1600/77.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Которое естественно не пройдет потому что нет еще того что требуется...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFof4D4edI/AAAAAAACX9o/BLQXS92zLaM/s1600/78.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFof4D4edI/AAAAAAACX9o/BLQXS92zLaM/s1600/78.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Старой страничке дадим новое имя в соответствии с новой ролью...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFogbngn5I/AAAAAAACX9s/-nfqkmUx1xc/s1600/79.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFogbngn5I/AAAAAAACX9s/-nfqkmUx1xc/s1600/79.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;И заменим все ссылки по имени на нее....&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFohZ48dfI/AAAAAAACX9w/o-oQ-iwNCC4/s1600/80.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFohZ48dfI/AAAAAAACX9w/o-oQ-iwNCC4/s1600/80.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Внимание!&lt;/b&gt; С заменой во всех местах стоит поосторожнее, а потому я сузил поиск выралв галочку CaseSencetive и просмотрел все изменения...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMF3L_i3qPI/AAAAAAACYC0/UruAMgNAFyY/s1600/81.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMF3L_i3qPI/AAAAAAACYC0/UruAMgNAFyY/s1600/81.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFoiSrDNPI/AAAAAAACX94/WB1ruj_RzVQ/s1600/82.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFoiSrDNPI/AAAAAAACX94/WB1ruj_RzVQ/s1600/82.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoi-BGArI/AAAAAAACX98/b3Iq7Wr9REE/s1600/83.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoi-BGArI/AAAAAAACX98/b3Iq7Wr9REE/s1600/83.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Вот, собственно, все места, в которых прошла замена ...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFojrO2zkI/AAAAAAACX-A/KtLOkvJQ9oc/s1600/84.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFojrO2zkI/AAAAAAACX-A/KtLOkvJQ9oc/s1600/84.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFokMDRAhI/AAAAAAACX-E/kDFGXhgkt88/s1600/85.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFokMDRAhI/AAAAAAACX-E/kDFGXhgkt88/s1600/85.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Картина не поменялась - значит ничего не поломал лишнего (последнее требование не в счет - мы сейчас над ним работаем)...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFok9J6azI/AAAAAAACX-I/swzOaz8LHuU/s1600/86.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFok9J6azI/AAAAAAACX-I/swzOaz8LHuU/s1600/86.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Легким движением руки...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFolKOttyI/AAAAAAACX-M/F6Uo902Y7K8/s1600/87.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFolKOttyI/AAAAAAACX-M/F6Uo902Y7K8/s1600/87.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;мы ломаем старые требования, но зато последнее требование стало рабочим - это значит, что либо мы внесли ошибку, либо требования конфликтуют между собой. Я ожидал это поведение, потому как помню что некоторые требования проверяют что после залогинивания пользователь видит то что он вводил - требования поменялись, а значит мы их поменяем и в коде...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFolowxrGI/AAAAAAACX-Q/nw_PhWmQNwY/s1600/88.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFolowxrGI/AAAAAAACX-Q/nw_PhWmQNwY/s1600/88.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Изменения простые..&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFomZNzt4I/AAAAAAACX-U/OLpnwkdJ8sw/s1600/89.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFomZNzt4I/AAAAAAACX-U/OLpnwkdJ8sw/s1600/89.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFooRz-tVI/AAAAAAACX-k/ChSul1XdUxQ/s1600/92.PNG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFooRz-tVI/AAAAAAACX-k/ChSul1XdUxQ/s1600/92.PNG" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;И все работает....&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFontwDekI/AAAAAAACX-c/mbYqxJrJbOQ/s1600/90.PNG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFontwDekI/AAAAAAACX-c/mbYqxJrJbOQ/s1600/90.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Сохранимся!...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFom2R1svI/AAAAAAACX-Y/P2UqwA7Y8Vw/s1600/90+commit.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFom2R1svI/AAAAAAACX-Y/P2UqwA7Y8Vw/s1600/90+commit.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFon9Hh15I/AAAAAAACX-g/vW4XiyhJYXY/s1600/91.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFon9Hh15I/AAAAAAACX-g/vW4XiyhJYXY/s1600/91.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Далее я хочу написать требование, которое бы при выборе экзамена проверяло, что на следующей страничке отобразился бы вопрос...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFooRz-tVI/AAAAAAACX-k/ChSul1XdUxQ/s1600/92.PNG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFooRz-tVI/AAAAAAACX-k/ChSul1XdUxQ/s1600/92.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Естественно требование провалится...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFopKxj1fI/AAAAAAACX-o/E5RSCA-yvF0/s1600/93.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFopKxj1fI/AAAAAAACX-o/E5RSCA-yvF0/s1600/93.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Но мы добавим новый контроллер...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoppyBVCI/AAAAAAACX-s/i-5I2q_MXiY/s1600/94.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoppyBVCI/AAAAAAACX-s/i-5I2q_MXiY/s1600/94.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFoqDg9NSI/AAAAAAACX-w/aX1rHDtxHPM/s1600/95.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFoqDg9NSI/AAAAAAACX-w/aX1rHDtxHPM/s1600/95.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFoqzI08ZI/AAAAAAACX-0/Jj9yLRJxw7w/s1600/96.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFoqzI08ZI/AAAAAAACX-0/Jj9yLRJxw7w/s1600/96.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;И теперь сообщение об ошибке немного другое...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMForAbOSfI/AAAAAAACX-4/6TzjwRZpBk0/s1600/97.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMForAbOSfI/AAAAAAACX-4/6TzjwRZpBk0/s1600/97.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Оказывается есть два способа общения между сервером (servlet) и клиентом (browser) - POST и GET. Мне стоило реализовать get обработчик...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFosfK6YDI/AAAAAAACX-8/WsH8kcvxruI/s1600/98.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFosfK6YDI/AAAAAAACX-8/WsH8kcvxruI/s1600/98.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;И сообщенеи поменялось с ошибки (красная иконка возле имени - сообщает о возникновении Exception в тесте) на warning (синяя иконка - в целом тоже ошибка, но когда слетает один из assert'ов теста)...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFos0MVp_I/AAAAAAACX_A/FZGBmLrTsV4/s1600/99.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFos0MVp_I/AAAAAAACX_A/FZGBmLrTsV4/s1600/99.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Сделаем переход на страничку с вопросом...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFotfiBRmI/AAAAAAACX_E/8909LVVWKyI/s1600/100.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFotfiBRmI/AAAAAAACX_E/8909LVVWKyI/s1600/100.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Создадим эту страничку...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFottX_kxI/AAAAAAACX_I/-xyxeu-i1TY/s1600/101.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFottX_kxI/AAAAAAACX_I/-xyxeu-i1TY/s1600/101.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Допишем туда свой контент...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFouWGygOI/AAAAAAACX_M/5X4SNPmIWtM/s1600/102.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFouWGygOI/AAAAAAACX_M/5X4SNPmIWtM/s1600/102.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Тест прошел!..&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFouz1346I/AAAAAAACX_Q/ljpLqeC8jd0/s1600/103.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFouz1346I/AAAAAAACX_Q/ljpLqeC8jd0/s1600/103.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Можно проверить в браузере...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFovcYnm6I/AAAAAAACX_U/xeccZQQzj1g/s1600/104.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFovcYnm6I/AAAAAAACX_U/xeccZQQzj1g/s1600/104.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Чтобы работала последняя форма - надо реализовать обработчик POST...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFowGxBAxI/AAAAAAACX_Y/AHpnyroSm-Q/s1600/105.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFowGxBAxI/AAAAAAACX_Y/AHpnyroSm-Q/s1600/105.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Создать соответствующую страничку...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFownbkMQI/AAAAAAACX_c/6i3bYcsFH1A/s1600/106.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFownbkMQI/AAAAAAACX_c/6i3bYcsFH1A/s1600/106.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Наполнить ее контентом...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoxHdCULI/AAAAAAACX_g/6IscDCj3l1g/s1600/107.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoxHdCULI/AAAAAAACX_g/6IscDCj3l1g/s1600/107.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Но я забыл написать функциональное требование и теперь, после того как я его допишу - оно будет сразу рабочим и я не уверен а тестирует ли требование вообще что-то?...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoxu8mybI/AAAAAAACX_k/oiuAW4-cCbg/s1600/108.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFoxu8mybI/AAAAAAACX_k/oiuAW4-cCbg/s1600/108.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Я проверю руками...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoyfo0XSI/AAAAAAACX_o/_WqDuesxXbQ/s1600/109.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFoyfo0XSI/AAAAAAACX_o/_WqDuesxXbQ/s1600/109.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;Вроде как работает.&lt;br /&gt;&lt;br /&gt;Еще одно требование - когда выбрали другой вопрос на результирующей страничке надпись о провале экзамена....&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFozYD_G0I/AAAAAAACX_s/1f4WuTtBOaI/s1600/110.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFozYD_G0I/AAAAAAACX_s/1f4WuTtBOaI/s1600/110.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Готово!...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFo0BJWqiI/AAAAAAACX_w/cC43fSQi0fg/s1600/111.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFo0BJWqiI/AAAAAAACX_w/cC43fSQi0fg/s1600/111.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Надо расширять контроллер, чтобы он принимал решение сдал или нет...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFo0tgJTgI/AAAAAAACX_0/z7Wjxb7mJBs/s1600/112.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFo0tgJTgI/AAAAAAACX_0/z7Wjxb7mJBs/s1600/112.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;И результирующую страничку....&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFo0xc5VLI/AAAAAAACX_4/-8O4sCT_4SU/s1600/113.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFo0xc5VLI/AAAAAAACX_4/-8O4sCT_4SU/s1600/113.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Тест работает!...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFo1sNxJWI/AAAAAAACX_8/uE_-wxem4vA/s1600/114.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFo1sNxJWI/AAAAAAACX_8/uE_-wxem4vA/s1600/114.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Сохранимся...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFo12q1qvI/AAAAAAACYAA/TSREq2ejLS4/s1600/115+commit.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFo12q1qvI/AAAAAAACYAA/TSREq2ejLS4/s1600/115+commit.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFo2avYySI/AAAAAAACYAE/_S4ZB8IS19s/s1600/116.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFo2avYySI/AAAAAAACYAE/_S4ZB8IS19s/s1600/116.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;Следующим шагом я хочу перенести все прошитые в коде (jsp) константы в контроллер. Это можно называть рефакторингом, т.к. ничего функционально не поменяется - просто код станет качественнее...&lt;br /&gt;&lt;br /&gt;Все же я поменяю требования, но только в мелочах. К примеру я хочу выделить Hello world! везде, так как это название экзамена и отдельная константа...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFo3g9AdeI/AAAAAAACYAM/BgHw1YLaaqQ/s1600/121.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFo3g9AdeI/AAAAAAACYAM/BgHw1YLaaqQ/s1600/121.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Немного поменяю заголовок...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFo4X7kLcI/AAAAAAACYAQ/k78qbuxfrPM/s1600/122.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFo4X7kLcI/AAAAAAACYAQ/k78qbuxfrPM/s1600/122.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Требования требуют новое, и система им не соответствует - это мы и наблюдаем с красной полосой...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFo498e3CI/AAAAAAACYAU/bt2JcpwQbQo/s1600/123.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFo498e3CI/AAAAAAACYAU/bt2JcpwQbQo/s1600/123.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Пошли исправляться...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFo5avIVxI/AAAAAAACYAY/UDgyx7QKGF0/s1600/124.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFo5avIVxI/AAAAAAACYAY/UDgyx7QKGF0/s1600/124.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Один работает...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFo6FrFisI/AAAAAAACYAc/e76tV4pDtYM/s1600/125.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFo6FrFisI/AAAAAAACYAc/e76tV4pDtYM/s1600/125.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Дальше фиксим...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFo6oE0dtI/AAAAAAACYAg/DyS9ZFOsnqM/s1600/126.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFo6oE0dtI/AAAAAAACYAg/DyS9ZFOsnqM/s1600/126.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Все чисто!...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFo7Lg1D_I/AAAAAAACYAk/xU2I59mR3Ak/s1600/127.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFo7Lg1D_I/AAAAAAACYAk/xU2I59mR3Ak/s1600/127.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Теперь я хочу страничку сделать более общей, чтобы она отображала то название, которое скажет ей контроллер...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFo7UENvPI/AAAAAAACYAo/8_5Zsd2drS8/s1600/128.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFo7UENvPI/AAAAAAACYAo/8_5Zsd2drS8/s1600/128.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFo8CREpMI/AAAAAAACYAs/z_51u1m5pa8/s1600/129.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFo8CREpMI/AAAAAAACYAs/z_51u1m5pa8/s1600/129.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFo8uUkL-I/AAAAAAACYAw/P58xplbxdtw/s1600/130.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFo8uUkL-I/AAAAAAACYAw/P58xplbxdtw/s1600/130.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Первый тест afterSuccessfulLoginUserCanSelectOneExam рабочий, а значит мой финт удался мне, но поломалось много других тестов и я уверен что именно по этой причине (две минуты назад ведь все работало)...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFo9BdsOdI/AAAAAAACYA0/vN-2H_EDuXI/s1600/131.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFo9BdsOdI/AAAAAAACYA0/vN-2H_EDuXI/s1600/131.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Потому я немного пошаманюи перенесу часть логики из Login в Exam контроллер туда, где ей и место...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFo9_x78cI/AAAAAAACYA4/D7v41c9tLXU/s1600/132.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFo9_x78cI/AAAAAAACYA4/D7v41c9tLXU/s1600/132.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFo-R4VbDI/AAAAAAACYA8/5ET0itJgvVE/s1600/133.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFo-R4VbDI/AAAAAAACYA8/5ET0itJgvVE/s1600/133.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Тест попрежнему остался рабочим, а значит этим шагом я ничего не поломал...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFo_KsfAcI/AAAAAAACYBA/jwES2GjC-04/s1600/134.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFo_KsfAcI/AAAAAAACYBA/jwES2GjC-04/s1600/134.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;Исправим мок в соответствии с новыми правилами...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFo_rajMeI/AAAAAAACYBE/O9AboGJ-y6o/s1600/136.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFo_rajMeI/AAAAAAACYBE/O9AboGJ-y6o/s1600/136.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;И его тест использующий его так же прошел (осталось всего 3 поломанных теста из 5)! Следующий шаг...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFpAC_hZzI/AAAAAAACYBI/fNEwk8G924Q/s1600/137.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFpAC_hZzI/AAAAAAACYBI/fNEwk8G924Q/s1600/137.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFpAn4M7fI/AAAAAAACYBM/mB3WFzxh_NU/s1600/138.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFpAn4M7fI/AAAAAAACYBM/mB3WFzxh_NU/s1600/138.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;И осталось 2 из 5...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFpBxaUByI/AAAAAAACYBU/UDo2CzLCJPg/s1600/140.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFpBxaUByI/AAAAAAACYBU/UDo2CzLCJPg/s1600/140.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Еще усилие...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFpCW_9UbI/AAAAAAACYBY/cMeo_NVxv10/s1600/141.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFpCW_9UbI/AAAAAAACYBY/cMeo_NVxv10/s1600/141.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Все работает!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFpC4owLqI/AAAAAAACYBc/7xaV16Htlq8/s1600/142.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFpC4owLqI/AAAAAAACYBc/7xaV16Htlq8/s1600/142.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Теперь я хочу то же самое проделать и с остальными константами, как то вопрос, его номер и овтеты...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFpDR1n5PI/AAAAAAACYBg/RDsT1R1gn94/s1600/143.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFpDR1n5PI/AAAAAAACYBg/RDsT1R1gn94/s1600/143.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Тут немного все наляписто выглядит, а потому я позже воспользуюсь библиотекой JSTL...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFpDxAKZXI/AAAAAAACYBk/0-bGsILw-OY/s1600/144.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFpDxAKZXI/AAAAAAACYBk/0-bGsILw-OY/s1600/144.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Если константы убрали со странички, то контроллер их должен устанавливать...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFpEtqtTYI/AAAAAAACYBo/2jPa0cMqaTE/s1600/145.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFpEtqtTYI/AAAAAAACYBo/2jPa0cMqaTE/s1600/145.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;С JSTL все намного проще...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFpFFHo5LI/AAAAAAACYBs/88HZd15ROb8/s1600/146.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFpFFHo5LI/AAAAAAACYBs/88HZd15ROb8/s1600/146.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Чик и все зеленое!...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFpFpPMyBI/AAAAAAACYBw/UmUJ32v-SNM/s1600/147.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFpFpPMyBI/AAAAAAACYBw/UmUJ32v-SNM/s1600/147.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Так же я заменю все конструкции &amp;lt;%= bla bla %&amp;gt; на другие &lt;c:out la="" tra=""&gt;, говорят что первые конструкции грех использовать. Не верьте им - все сами проверяйте... &lt;/c:out&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMGBqbBhxQI/AAAAAAACYC4/gahrs4zXMrU/s1600/148.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMGBqbBhxQI/AAAAAAACYC4/gahrs4zXMrU/s1600/148.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;то же на другой страничке...&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFpHDkHy1I/AAAAAAACYB8/sr1AdcwxS3I/s1600/150.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFpHDkHy1I/AAAAAAACYB8/sr1AdcwxS3I/s1600/150.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Проверка, может где еще есть "грешная" конструкция...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFpHr_7BOI/AAAAAAACYCA/3L7u3nVA4T4/s1600/151.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFpHr_7BOI/AAAAAAACYCA/3L7u3nVA4T4/s1600/151.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Еще хочу навести порядок в новом контроллере и выделить три метода. Do list...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFpIGqsyjI/AAAAAAACYCE/HmqHEqlWFcs/s1600/152.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFpIGqsyjI/AAAAAAACYCE/HmqHEqlWFcs/s1600/152.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFpJHaFqXI/AAAAAAACYCI/X7DSK-1U53I/s1600/153.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFpJHaFqXI/AAAAAAACYCI/X7DSK-1U53I/s1600/153.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;Do result...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFpJWgEdaI/AAAAAAACYCM/9ijY9ypXgbE/s1600/154.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFpJWgEdaI/AAAAAAACYCM/9ijY9ypXgbE/s1600/154.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFpKVUcDkI/AAAAAAACYCQ/w-rzQHVShmE/s1600/155.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_8HLbx5gQxLA/TMFpKVUcDkI/AAAAAAACYCQ/w-rzQHVShmE/s1600/155.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;и Do Question...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFpK0BVI8I/AAAAAAACYCU/9nVfaBIthfU/s1600/156.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFpK0BVI8I/AAAAAAACYCU/9nVfaBIthfU/s1600/156.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFpLRzMgnI/AAAAAAACYCY/nS4dIexVTqs/s1600/157.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFpLRzMgnI/AAAAAAACYCY/nS4dIexVTqs/s1600/157.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Тесты как и прежде работают, значит рефакторинг удался...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFpL2johjI/AAAAAAACYCc/YsSKK_rMn3A/s1600/158.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8HLbx5gQxLA/TMFpL2johjI/AAAAAAACYCc/YsSKK_rMn3A/s1600/158.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Но тут появился вопрос, как такое может быть, что я добавив строчку return в код (где ей логично быть) не поломал тестов? некоторый дебаг показал мне что это та ошибка, которую не так просто было отловить и я не стал тратить время на ее локализацию с помощью требования которое сказало бы, что этой ошибки быть не должно...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFpMTkFV-I/AAAAAAACYCg/t_OTv5iWzic/s1600/159.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFpMTkFV-I/AAAAAAACYCg/t_OTv5iWzic/s1600/159.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Переделал под общую идею и работу с страничкой результатов...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFpM4wN1RI/AAAAAAACYCk/A5svOe0rNkM/s1600/160.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFpM4wN1RI/AAAAAAACYCk/A5svOe0rNkM/s1600/160.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFpNlR4nrI/AAAAAAACYCo/GWmcqHg1ggo/s1600/161.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8HLbx5gQxLA/TMFpNlR4nrI/AAAAAAACYCo/GWmcqHg1ggo/s1600/161.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Это все мне позволить сделать следующий рефакторинг... Согласись, так лучше чем раньше.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMGEbv-bhmI/AAAAAAACYC8/kHPgmls5SeI/s1600/162.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8HLbx5gQxLA/TMGEbv-bhmI/AAAAAAACYC8/kHPgmls5SeI/s1600/162.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Теперь самое время написать unit-тесты для нашего свежевыпеченного контроллера, пока он больше меняться сильно не будет (или будет?)...&lt;/div&gt;&lt;br /&gt;Продолжение следует...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-565883525231626107?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/565883525231626107/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2012/01/3-web-java-eclipse-tomcat-ant-hudson.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/565883525231626107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/565883525231626107'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2012/01/3-web-java-eclipse-tomcat-ant-hudson.html' title='Java for fun: #3 Пишем Web проект на Java в Eclipse для Tomcat. Билдим Ant. Проверяем Hudson. Тестим jUnit + EasyMock + jWebUnit. Коммитим в Svn.'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_8HLbx5gQxLA/TMFn89a48LI/AAAAAAACX54/AKchB0hpSJc/s72-c/1.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-4130281299288802357</id><published>2012-01-01T23:17:00.003+02:00</published><updated>2012-01-02T23:19:45.193+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='remove test'/><category scheme='http://www.blogger.com/atom/ns#' term='tdd'/><category scheme='http://www.blogger.com/atom/ns#' term='pass test'/><title type='text'>Test Driven Development: Что делать, если тест изначально зеленый?</title><content type='html'>Могу поделиться своим алгоритмом работы с тестами. &lt;br /&gt;&lt;br /&gt;Значит так. Тесты в моей жизни, это способ понизить уровень стресса. Я балансирую на небольшом промежутке между добавлением теста, который избавит меня от беспокойства и удалением теста, который меня начал раздражать (хрупкий, нечитабельный - проблемный...)&lt;br /&gt;&lt;br /&gt;Алгоритм прост как двери. Если я о чем-то беспокоюсь - я вношу это в TODO-список и на время успокаиваюсь. Позже я извлекаю заметку из TODO и проверяю свою гипотезу с помощью нового теста. &lt;br /&gt;&lt;br /&gt;Если тест красный - я себя хвалю и берусь за фикс (классика TDD). Если тест зеленый - я беспокоюсь, потому как появилась неопределенность: &lt;br /&gt;- с одной стороны, я мог ошибиться в тесте (и тогда первопричина волнения не устранена); &lt;br /&gt;- так же я мог написать тест правильно, а это значит, что все работает.&lt;br /&gt;&lt;br /&gt;Неопределенность с изначально зеленым тестом устраняет удаление или изменение функциональности, от которой тест зависим. Алгоритм:&lt;br /&gt;- я ломаю код (зная при этом как тест должен слететь); &lt;br /&gt;- я запускаю все тесты (можно запускать только последний тест считая, что остальные скорее всего тоже полетят, но я запускаю все тесты потому, что так я одним выстрелом проверяю еще и другие тесты и фикс-поломку {она так же можно быть ошибочна}) &lt;br /&gt;- я убеждаюсь, что тест слетел так, как я того ожидал; &lt;br /&gt;- я возвращаю все как было&lt;br /&gt;- я снова запускаю тесты (мало ли не так откатился) &lt;br /&gt;- я вижу зеленую полосу&lt;br /&gt;- я успокаиваюсь, вычеркиваю из TODO волнушку и коммичусь.&lt;br /&gt;&lt;br /&gt;Основная цель - устранить беспокойство - реализована. &lt;br /&gt;&lt;br /&gt;Другой бы не парился по этому поводу - и ладно. Ну не было бы у него этого теста. Главное, чтобы я не парился на счет своего кода. Если мозг парится, то он делает ошибки и тупит. А я не хочу чтобы мой мозг тупил :)&lt;br /&gt;&lt;br /&gt;Кто-то может сказать об избыточности - мол много тестов, которые тестируют одно и то же; много кода, который надо поддерживать; дублирование наконец! И я понимаю эту позицию. Что я делаю для этого? Я удаляю тесты. Но не сразу. &lt;br /&gt;&lt;br /&gt;Удаляю тесты в двух случаях:&lt;br /&gt;1) Глядя на него с намерением удалить (и мыслью, что потом буду рефакторить код без этого теста) я не ощущаю никакого внутреннего дискомфорта - проще говоря мне не страшно, если этого теста не будет в сьюте. &lt;br /&gt;&lt;br /&gt;2) Этот тест меня достал и я регулярно об него спотыкаюсь. В таком случае я смотрю пункт (1) и если там все ок, то удаляю тест без угрызения совести. Если же там не все ок, я думаю что бы написать такого вместо текущего теста, чтобы и волки сыты и овцы целы. Естественно новый тест будет сразу зеленый, а потому я прибегну к алгоритму, описанному в этом посте немного выше и перепроверю тест. &lt;br /&gt;&lt;br /&gt;С комментарием: &lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;"если ты пишешь тест, который изначально зеленый, то на это есть только 2 причины: либо тест не нужен, либо ты не понимаешь свой код. Обе причины, скорее всего, при условии, что ты единственный творец кода, следствие того, что ты движешься слишком большими шагами (или сделал несколько больших шагов)"&lt;/i&gt;&lt;/blockquote&gt;согласен на 100%&lt;br /&gt;&lt;br /&gt;Но давай немного переиграем. Представим две версии пространства-времени:&lt;br /&gt;1) В одном я делаю большие шаги и имею на пути разработки ряд изначально зеленых тестов.&lt;br /&gt;&lt;br /&gt;2) Во втором я делаю бы шажки более мелкими и каждый мой тест из списка предложенных был бы изначально красный. &lt;br /&gt;&lt;br /&gt;Вероятно во втором измерении я напишу даже больше тестов чем в первом, потому что шажки маленькие. Но допустим, для простоты, что в обоих случаях количество тестов получится одинаковое. &lt;br /&gt;&lt;br /&gt;И что тогда получается? Делаешь мелкие шажки и все 20 тестов валидные. Но если делаешь шаги побольше, то часть из тех же 20 тестов уже лишние (потому что они изначально зеленые). &lt;br /&gt;&lt;br /&gt;Я бы так же рассмотрел такую штуку, как ожидание автора. Тут тоже можно поделить на две части:&lt;br /&gt;1) Бывает так, ожидаешь, что тест пройдет и все равно его пишешь - просто осознаешь, что где-то сделал большой шаг и в будущем без этого теста рефакторить будет беспокойно. Пофиг, что он зеленый - мне без него будет не комфортно потом. &lt;br /&gt;&lt;br /&gt;2) Бывает так же так, что вовсе не ждешь зеленой полосы, а тут она на тебя бумц! Имеем фидбек о том, что недостаточно знаем систему. Но что от этого? Тест не перестает быть тестом. Знал бы систему, сделал бы мельче шаг - был бы вынужден написать этот тест. И он бы остался... &lt;br /&gt;&lt;br /&gt;При все при этом ценность - что ты при разработке чувствуешь и какой код получится в результате. &lt;br /&gt;&lt;br /&gt;Как-то так.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-4130281299288802357?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/4130281299288802357/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/4130281299288802357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/4130281299288802357'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2012/01/blog-post.html' title='Test Driven Development: Что делать, если тест изначально зеленый?'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-5870698597073518167</id><published>2011-12-30T22:06:00.012+02:00</published><updated>2012-01-09T06:44:13.130+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tdd'/><category scheme='http://www.blogger.com/atom/ns#' term='duck typing'/><category scheme='http://www.blogger.com/atom/ns#' term='proxy class'/><title type='text'>Java for fun: Утиная типизация в Java</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-size: small;"&gt;На написание этого поста меня вдохновила статья &lt;a href="http://bitsofmind.wordpress.com/2008/07/07/duck_typing_in_java/"&gt;"Утиная типизация в Java"&lt;/a&gt; (автор Yaroslav Pogrebnyak).&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-A9xRooZdL_8/Tv4fXBi15JI/AAAAAAACeyQ/tGfA5nzcLXc/s1600/funny-rolling-eyeballs-pop-out-silicone-stress-reliever-toy-duck_nwxjtb1306387504755%255B1%255D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="“1”" height="320" src="http://1.bp.blogspot.com/-A9xRooZdL_8/Tv4fXBi15JI/AAAAAAACeyQ/tGfA5nzcLXc/s320/funny-rolling-eyeballs-pop-out-silicone-stress-reliever-toy-duck_nwxjtb1306387504755%255B1%255D.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;Но с первым абзацем мне стала ясна суть идеи и я решил не дочитывать до конца, а попробовать самому решить эту задачу. После последнего коммита, я прочитал всю статью и отметил те моменты, которые были для меня новыми.&lt;/span&gt; &lt;br /&gt;&lt;a href="http://apofig.blogspot.com/2011/12/blog-post_994.html#cat" name="cat"&gt;Внимание! Дальше будет много кода, если интересно - кликни меня...&lt;/a&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Исходный код можно скачать &lt;a href="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/DuckTyping.rar"&gt;тут&lt;/a&gt;, а все ревизии в SVN репозитории - &lt;a href="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/DuckTypingRepo.rar"&gt;тут&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Итак, лог разработки про то, как создавался ProxyFactory на TDD:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ну что, если бы я делал проксик, то наверное хотел бы видеть его API как-то так &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image001.gif" /&gt;&lt;/div&gt;&lt;br /&gt;А вот и интерфейсы &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="1" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image002.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Как помощники при тестировании, кроме jUnit на благо нового метода трудятся FestAssertions и Maven&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image003.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Если мы запустим этот тест, то увидим что он не работает &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image004.jpg" /&gt;&lt;/div&gt;"&lt;br /&gt;&lt;br /&gt;По всем правилам TDD простой фикс, который можно сделать чтобы код компилился и работал – это &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image005.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Тест пройдет &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image006.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Но давайте протестируем все же поведение – я хочу знать что мой прокси вызовет другой объект а не то, что он вернет что-то... &lt;br /&gt;&lt;br /&gt;Мне понадобится Mock-фреймворк Mockito&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image007.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;А вот и сам тест &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image008.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Естественно он перестанет работать (я исправил старый)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image009.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Но небольшой фикс поможет&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image010.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image011.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Идем дальше – меня интересует, что для других типов уток все будет работать!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image012.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Вот и тест&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image013.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Он идентичен прошлому, с той лишь разницей, что в метод object передается объект другого класса...&lt;br /&gt;&lt;br /&gt;Тест естественно не пройдет&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image014.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Для реализации этой штуки мы подготовимся и выделим метод, который будем менять&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image015.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;А потом сделаем фикс&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image016.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Тесты? Зеленые! Коммитимся&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image017.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;А теперь проверим, что наши чудо утки приводятся к другим интерфейсам тоже &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image018.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;А вот новый тест&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image020.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Его основное отличие в типе интерфейса к которому приводится объект&lt;br /&gt;&lt;br /&gt;И он не работает :)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image021.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Но фикс поможет! &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image022.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Не пугайся, тут я воспользовался одной библиотечкой (1) fest reflect – чтобы не играться с ужасным api java.reflect.* &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image023.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Так же тут используется прокси-класс (2), который обернет любой интерфейс и перенаправит все вызовы на метод invoke класса ObjectProxy (3)&lt;br /&gt;&lt;br /&gt;Тесты проходят, а пока не сильно испортил код – лучше закоммичусь. Сложновасто уже :)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image024.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Дальше я хочу проверить как на совместимом интерфейсе вылетит Exception. Вот он интерфейс &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image025.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;А вот и тест. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image026.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Странно, но он проходит сразу – не верю! &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image027.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Немного подумав, я решил, что стоит перенести валидацию не на момент запуска метода, а на момент создания враппера – это все равно runtime, но все же ближе к компиляции, чем изначальный вариант с валидацией при вызове конкретного метода. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image028.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Вот, это уже другой разговор! &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image029.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Пошли его фиксить&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image030.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Все, коммитимся&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image031.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Дальше я хочу проверить, кейс, когда два метода в интерфейсе, а потому задам некого монстра, который может и квакать и мукать... И сходный с ним интерфейс. Внимание тут нет связи между классом и интерфейсом – по правилам java их с первого взгляда идентичные методы – разные! &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image032.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;А вот и тест, ничего нового, квакнули на прокси, проверили что монстр квакнул, мукнули на прокси, проверили что монстр мукнул...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image033.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Странно, но и это работает. Не верю! &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image034.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;А потому поломаю, добавив временный код. Увижу, что слетело и успокоюсь... &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image035.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Ну ладно, проверю на всякий еще что-то...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image036.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Теперь можно сделать как было и проверить, что все работает&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image037.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Коммитимся!&lt;br /&gt;&lt;br /&gt;Но теперь давай сделаем другого монстра, который умеет еще и гавкать&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image038.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Проверим что к его типу нельзя привести простого монстра...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image039.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Блин, опять все работает!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image040.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Не верю! А потому заремарю код проверяющий это и успокоюсь, когда увижу, что код слетел как я ожидал&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image041.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Потом все верну как было, еще раз запущу и закоммичу, если зеленое&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image042.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;А теперь давай проверим кейсы с методами с параметрами&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image043.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Вот и тест &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image044.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Ну хоть тут тест слетел! :) &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image045.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;А фикс достаточно простой &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image046.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;И все! :) Зеленое – коммитимся! &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image047.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Монстр методы которого возвращают другой тип чем в исходном, оборачиваемом классе&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image048.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Вот и тест&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image049.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Ура! Это еще не реализовано!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image050.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;А потому реализуем &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image051.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;И все работает! А потому коммитимся!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image052.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Дальше поиграемся с примитивами &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image053.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Все должно быть в шоколаде &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image054.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Так и есть. Но надо перепроверить! &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image055.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Добавим немного тестового кода и проверим что тест поломался &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image056.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;А после Ctrl-Z все работает &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image057.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Коммит! &lt;br /&gt;&lt;br /&gt;Дальше потестим, что примитивы и их обертки не распознаются как одни и те же типы (как было со String и Object)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image058.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Вот тест&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image059.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Все прошло. Коммитимся (на самом деле я перепроверял, ломая код, просто тут не привел, ибо демонстрировал это уже) . &lt;br /&gt;&lt;br /&gt;И еще один кейс – то же, но задом наперед&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image060.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Вот и тест (так же работает - перепроверял)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image061.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Ну и все. Больше пока идей в голову не приходит.... В реальной жизни, когда заюзаю, быть может появятся кейсы...&lt;br /&gt;&lt;br /&gt;Хотя нет! Появилась идея. А что, если интерфейсы наследуются друг от друга. Смогу ли я представить объект в виде суперинтерфейса и интерфейса наследника? &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image062.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;А вот и тест. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image063.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;И он проходит! (я перепроверял, через поломку) &lt;br /&gt;&lt;br /&gt;В вот второй тест, который делает то же но для суперинтерфейса&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image064.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;У него суперинтерфейса нет метода bowWof а потому блок заремарен :) (я копипастил)&lt;br /&gt;&lt;br /&gt;Все проходит, а потому commit &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="“1”" src="http://dl.dropbox.com/u/11842832/Blog/DuckTyping/image065.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;Ура!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-5870698597073518167?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/5870698597073518167/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2011/12/blog-post_994.html#comment-form' title='Комментарии: 12'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/5870698597073518167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/5870698597073518167'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2011/12/blog-post_994.html' title='Java for fun: Утиная типизация в Java'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-A9xRooZdL_8/Tv4fXBi15JI/AAAAAAACeyQ/tGfA5nzcLXc/s72-c/funny-rolling-eyeballs-pop-out-silicone-stress-reliever-toy-duck_nwxjtb1306387504755%255B1%255D.jpg' height='72' width='72'/><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-3553467568973580508</id><published>2011-12-30T15:06:00.002+02:00</published><updated>2012-01-02T01:15:50.551+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='вдохновение'/><category scheme='http://www.blogger.com/atom/ns#' term='не работа'/><category scheme='http://www.blogger.com/atom/ns#' term='муза'/><category scheme='http://www.blogger.com/atom/ns#' term='хобби'/><title type='text'>Мотивация: Как обрести видение? или Следуй за своими музами</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;Если есть видение, то никогда не возникнет вопроса "такс, а что бы мне еще поделать такого-сякого?" Видение - это картинка в голове, которая манит к себе. Новые таски рождаются из разницы между видением и настоящей действительностью. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-rzXDI7OXa38/Tv21gUl1QaI/AAAAAAACed8/-DJEqO5daW0/s1600/future%255B1%255D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="265" src="http://2.bp.blogspot.com/-rzXDI7OXa38/Tv21gUl1QaI/AAAAAAACed8/-DJEqO5daW0/s320/future%255B1%255D.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Если видения нет, можно попробовать пронаблюдать за тем, что делать в кайф, выписывая эти таски на отдельный листик. Спустя неделю-две можно посмотреть на все эти задачи свысока и помедитировать на тему "а что бы это все значило?" &lt;br /&gt;&lt;br /&gt;Если в ходе обдумывания или через некоторое время после случилось озарение (любого рода волнение, связанное с предметом обдумывания сопровождающаяся мыслью "блин, я знаю!" и желанием все бросить и пойти записать идею), поздравляю. &lt;br /&gt;&lt;br /&gt;Дальше стоит только идти по новым рельсам сравнивая каждый таск с видением: Помогает ли текущий таск сократить дистанцию между видением и дествительностью? Нет? Драйвит ли меня выполнение текущего таска? Снова нет? Почему я его собрался делать? &lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-ZzUY-gnnEEY/Tv22Xd9KYGI/AAAAAAACeeI/XmWhC4mbtBg/s1600/00101hzb%255B1%255D" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-ZzUY-gnnEEY/Tv22Xd9KYGI/AAAAAAACeeI/XmWhC4mbtBg/s200/00101hzb%255B1%255D" width="156" /&gt;&lt;/a&gt;Ответ на первый вопрос "нет" а на второй "да" - намек на то, что видение не полное, а значит его стоит слегка пересмотреть, чтобы включало.&lt;br /&gt;&lt;br /&gt;Пример. Я думал что мне нравится программирование потому, что мне нравится изобретать что-то новое и оптимизировать старое. Оказалось оно мне нравится еще и потому, что оно у меня хорошо получается и я с радостью передаю свои знания окружающим. Вывод мне так же нравиться помогать учиться. На пути обучения есть много вещей, которые еще предстоит изобрести. А потому изменив картинку себя в голове с программиста на тренера я покрываю большую часть драйвовых тасков.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-D2xU7XYZN0I/Tv23L7Iqc7I/AAAAAAACeeg/OIZSgKgOl3Y/s1600/000qpp2g%255B1%255D" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-D2xU7XYZN0I/Tv23L7Iqc7I/AAAAAAACeeg/OIZSgKgOl3Y/s320/000qpp2g%255B1%255D" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;Если пойдешь за музами, то вскоре получишь все. И деньги и успех... &lt;br /&gt;&lt;br /&gt;Работа может приносить удовольствие, если работа - это твое хобби.  Работай на себя, совершенствуйся, а все остальное не заставит себя долго  ждать. &lt;br /&gt;&lt;br /&gt;Хороший вопрос на каждый день - "Что меня  вдохновляет?" Этим и занимайся каждый день. Вначале по 10 минут  ежедневно. Потом по пол часа. Потом по часу, потом по два... &lt;br /&gt;&lt;br /&gt;Не заметишь, как вскоре окажешься в другом месте, где будешь заниматься своим хобби, получая от этого массу удовольствия. &lt;br /&gt;&lt;br /&gt;А за деньги не волнуйся, и запомни простое правило $ = t☺²&lt;br /&gt;&lt;br /&gt;P.S. Чуть позже от Друга получил на руки новый термин - &lt;a href="http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%BA%D1%80%D0%B0%D1%81%D1%82%D0%B8%D0%BD%D0%B0%D1%86%D0%B8%D1%8F"&gt;"прокрастинация"&lt;/a&gt;. Если то, что написано в статье про тебя - значит пора задуматься о том, а там ли я сейчас работаю? С теми ли людьми? Тем ли занимаюсь? &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-3553467568973580508?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/3553467568973580508/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2011/12/blog-post_695.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/3553467568973580508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/3553467568973580508'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2011/12/blog-post_695.html' title='Мотивация: Как обрести видение? или Следуй за своими музами'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-rzXDI7OXa38/Tv21gUl1QaI/AAAAAAACed8/-DJEqO5daW0/s72-c/future%255B1%255D.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-783299405509061936</id><published>2011-12-30T12:46:00.004+02:00</published><updated>2012-01-02T01:16:09.190+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='сон'/><category scheme='http://www.blogger.com/atom/ns#' term='творчество'/><category scheme='http://www.blogger.com/atom/ns#' term='планирование'/><title type='text'>Time mamagement: Планируй свой сон</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Общались с другом на тему: "что надо сделать, чтобы появилось время на реализацию задумок, которые откладывал". Ответ был - выспаться. И тут сразу у меня возник вопрос, а когда у меня получается самый классный сон? Контент сразу полился из глубин сознания (спасибо фрирайтингу)...&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-sJF8my9zHBU/Tv2W5K4TNdI/AAAAAAACedw/TFPsMJfLGr8/s1600/o-detskix-snax%255B1%255D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="213" src="http://3.bp.blogspot.com/-sJF8my9zHBU/Tv2W5K4TNdI/AAAAAAACedw/TFPsMJfLGr8/s320/o-detskix-snax%255B1%255D.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;...лучший сон, когда я ложусь в 22:00 и просыпаюсь сам с чувством "все, выспался!" - супер. Я не должен кушать перед сном, лучше если я лягу спать слегка голодным. Можно выпить стакан сока или съесть яблочко. Еще лучше, если будет вечерняя прогулочка, еще лучше на велосипеде а потом душ - это сразу перед сном. Никаких раздражителей не должно мешать в комнате, а форточка должна быть открытая всю ночь (свежий воздух). Я должен знать,  что на сегодня я все таски сделал на работе, а завтра у меня расслабленный день, в который я могу работать, или не работать (скорее всего чуть-чуть работать). У меня нет никаких планов на завтра с семьей - типа куда-то пойти, что-то сделать - требующих физического перемещения моего тела в пространстве-времени (особенно, если это "надо" а не "хочется"). Я знаю, что могу до обеда валяться в кровати (но я высплюсь, скорее, к 6 часам утра и с этого времени буду на ногах). Никто не позвонит в первой половине дня. Никто не позвонит в двери (доставка воды, доставка книг или чего-то там еще). Я в этом уверен тогда, когда ложусь спать вечером. Утром дома скорее всего будет спокойно (не шумно), потому как все будут отсыпаться :) Еще хорошо, если днем ранее я сдам какой-то проект. Вот тогда я высыпаюсь лучше всего и день после такого сна наиболее творческий и насыщенный...&lt;br /&gt;&lt;br /&gt;Только вот такие дни бывают не часто - ибо условий много. Получается, их надо планировать. Но перед тем, как запланировать что-то нужно это что-то увидеть и описать ТЗ. С чего советую начать и тебе...&lt;br /&gt;&lt;br /&gt;Какой твой идеальный сон?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-783299405509061936?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/783299405509061936/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2011/12/blog-post_30.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/783299405509061936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/783299405509061936'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2011/12/blog-post_30.html' title='Time mamagement: Планируй свой сон'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-sJF8my9zHBU/Tv2W5K4TNdI/AAAAAAACedw/TFPsMJfLGr8/s72-c/o-detskix-snax%255B1%255D.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-4390042514695741439</id><published>2011-12-28T11:05:00.004+02:00</published><updated>2012-01-02T01:16:32.496+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='презентация'/><category scheme='http://www.blogger.com/atom/ns#' term='ключевые слова'/><category scheme='http://www.blogger.com/atom/ns#' term='пост в блоге'/><category scheme='http://www.blogger.com/atom/ns#' term='картинки'/><title type='text'>Публикуемся: Как разукрасить презентацию или пост в блоге</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-fSQ0fXx_yTc/TvrbUDhZYPI/AAAAAAACedg/VFW9H8eIiYI/s1600/1265890669_chrezmernaya-utomlyaemost-opasna-dlya-organizma%255B1%255D.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="163" src="http://1.bp.blogspot.com/-fSQ0fXx_yTc/TvrbUDhZYPI/AAAAAAACedg/VFW9H8eIiYI/s200/1265890669_chrezmernaya-utomlyaemost-opasna-dlya-organizma%255B1%255D.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/-P7cP9JKvWoc/TvrZsYuA5eI/AAAAAAACedI/eEshUmJd3Kc/s1600/hidden-text-example-3%255B1%255D.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="177" src="http://3.bp.blogspot.com/-P7cP9JKvWoc/TvrZsYuA5eI/AAAAAAACedI/eEshUmJd3Kc/s200/hidden-text-example-3%255B1%255D.gif" width="200" /&gt;&lt;/a&gt;Текст очень утомительно читать. Да и мозг запоминает больше не сам текст, как образы.&amp;nbsp; и чем они ярче, тем лучше! На разрисовку своих слайдов меня вдохновила вот презентация &lt;a href="http://www.slideshare.net/thecroaker/death-by-powerpoint-rus"&gt;"Смерть от совещаний"&lt;/a&gt;. Чуть позже я понял - а почему бы и не разрисовать посты в блоге, ибо пост в блоге - это, можно сказать, та же презентация, только с текстом доклада :) С тех пор леплю рисунки и в блоге.&lt;br /&gt;&lt;br /&gt;Есть две задачи, которые приходится решать на пути к ярким презентациям веселым картинкам. Начнем с первой - поиск картинок. На каждый абзац-два приходится одно-два-три-четыре самых важных слова, которые ты бы вынес в облако тегов, которые ты бы выделил жирным, чтобы отметить их важность - ключевые, в общем слова. Их предлагаю закрепить картинками.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Yu3akToDBHg/TvrVVoRpaeI/AAAAAAACecY/beoip80W8do/s1600/_c__Ekspansio__2008__iStockphoto._02%255B1%255D.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="131" src="http://1.bp.blogspot.com/-Yu3akToDBHg/TvrVVoRpaeI/AAAAAAACecY/beoip80W8do/s200/_c__Ekspansio__2008__iStockphoto._02%255B1%255D.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;И первое тут - найти ключевые слова в тексте, что не очень сложно, т.к. вокруг них как раз и строится абзац. Второе загуглить картинки по этим ключевым словам. Как я делаю?Допустим ключевые слова в последних двух абзацах - "ключевое слово" и "загуглить картинку". Согласен? Этих 2 словосочетания можно оставить в посте вместо всего того, что я написал - и по смыслу пост не сильно будет уступать. Ну разве не понятно, если пост был бы таким?&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Как разукрасить презентацию или пост в блоге:&lt;/i&gt;&lt;br /&gt;&lt;i&gt;- ключевое слово&lt;/i&gt;&lt;br /&gt;&lt;i&gt;- загуглить картинку&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Возможно не хватает еще одного ключевого слова:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-DXGsdrSrfQk/TvrV_uk6h9I/AAAAAAACeck/ULs-DO0PTh4/s1600/1267993009_pamyat_b%255B1%255D.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://1.bp.blogspot.com/-DXGsdrSrfQk/TvrV_uk6h9I/AAAAAAACeck/ULs-DO0PTh4/s200/1267993009_pamyat_b%255B1%255D.jpg" width="200" /&gt;&lt;/a&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Как разукрасить презентацию или пост в блоге:&lt;br /&gt;- ключевое слово&lt;br /&gt;-&lt;b&gt;ассоциация&lt;/b&gt;&lt;br /&gt;- загуглить картинку&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Все! Первая часть поста закончена. Все остальное - вода. &lt;br /&gt;&lt;br /&gt;Итак ключевые слова у нас "ключевое слово", "ассоциация", "загуглить картинку". Их и будем гуглить в разделе гугла - картинки. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-6BW-9hzFrXg/TvrFAKKCQ9I/AAAAAAACebc/rgq060VE2TE/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="243" src="http://3.bp.blogspot.com/-6BW-9hzFrXg/TvrFAKKCQ9I/AAAAAAACebc/rgq060VE2TE/s640/1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;После нажатия поиск, первое, что бросается в глаза и уже готово к употреблению&amp;nbsp; - это две картинки...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-bTvSVyoMcHU/TvrFVfSqhUI/AAAAAAACeb0/PFP9fEqI_ts/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="440" src="http://1.bp.blogspot.com/-bTvSVyoMcHU/TvrFVfSqhUI/AAAAAAACeb0/PFP9fEqI_ts/s640/2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Далее я выбираю более красноречивую. &lt;br /&gt;&lt;br /&gt;Идем дальше и гуглим слово "ассоциация"...&lt;br /&gt;&lt;br /&gt;Бывает такое, что картинки сразу нет. Так у меня случилось со словом "ассоциация". Тут можно сделать две вещи: 1) полистать по страничкам дальше (обычно я листаю до 5 не дальше). 2) загуглить синонимы или близкие по смыслу к ключевым слова. Например не "ассоциация", а "связь".&lt;br /&gt;&lt;br /&gt;Если сложно найти подходящее слово, тогда я читаю его определение в википедии, чтобы загуглить те слова, которыми описывается исходное.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-A7u5Hf0pAmE/TvrUGsoPL7I/AAAAAAACecM/NNc8Xuae4q8/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="114" src="http://1.bp.blogspot.com/-A7u5Hf0pAmE/TvrUGsoPL7I/AAAAAAACecM/NNc8Xuae4q8/s640/2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;Например "ассоциация" я заменил на "запоминание" и получит вот что&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-zL3WDr9biMw/TvrT-mBGIoI/AAAAAAACecA/3vYYxgaGVec/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="440" src="http://1.bp.blogspot.com/-zL3WDr9biMw/TvrT-mBGIoI/AAAAAAACecA/3vYYxgaGVec/s640/3.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Если картинки нашли это еще не значит что мы можем их использовать. Мало ли кто-то старался фоткал, а мы оп, и на все готовое. Потому изначально картинки лучше искать на стоках бесплатных фотографий. Это немного напряжно, потому как стоков много не все из них бесплатные и часто узнаешь это уже после регистрации... Вот лучшее, что мне пока удалось найти - статья &lt;a href="http://bizsoftlab.com/blog/archives/419"&gt;"12 лучших мест, где можно раздобыть бесплатные картинки"&lt;/a&gt;. Накладочка еще в том, что часто рядом с фоткой так же необходимо размещать линк на сток с именем автора, а это отнимает дополнительное время, которого и так не много... &lt;br /&gt;&lt;br /&gt;Есть и другой способ, которым грешил. Суть в том, чтобы посмотреть как часто используется фотка в сети. И если много где, то вероятно что она фришная и ее так же можно попробовать у себя. Вот пример, как это делается с помощью гугла..&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-vact8wRBXDs/TvrYnSXKqRI/AAAAAAACecw/toLMoV_KkRk/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="289" src="http://1.bp.blogspot.com/-vact8wRBXDs/TvrYnSXKqRI/AAAAAAACecw/toLMoV_KkRk/s640/4.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;С помощью линка "Другие размеры" можно увидеть насколько часто используют картинку в сети. И если не часто, можно воспользовавшись линком "Похожие" найти что-то более популярное.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Y3gWEo9Phmo/TvrY5FRD69I/AAAAAAACec8/Y_OS-pyVSnI/s1600/5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="241" src="http://4.bp.blogspot.com/-Y3gWEo9Phmo/TvrY5FRD69I/AAAAAAACec8/Y_OS-pyVSnI/s640/5.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Я могу ошибаться, но кажется эту фотку скопировали все кому не лень. Естественно, если я ошибаюсь, то рискую, а потому лучший и верный способ - бесплатные стоки с соблюдением требований, указанных на страничке с фоткой (часто там же есть поле до копирования HTML кода для вставки на сайт).&lt;br /&gt;&lt;br /&gt;Реальность такова, что фотка, которая тебе очень понравилась и красиво выглядит скорее всего не бесплатная, потому что автор старался тебе угодить. По этой причине суперклассные фотки я сразу отметаю в гугле, потому что мал шанс, что она шаровая. Раз помню искал фотку с купой зеленых яблок среди которых одно красное - нашел, платная :) Во всей сети только один автор додумался сделать такой натюрморт. &lt;br /&gt;&lt;br /&gt;&lt;span id="goog_1209451132"&gt;&lt;/span&gt;&lt;span id="goog_1209451133"&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-QJPhJ0uwctY/TvraFznrxyI/AAAAAAACedU/H4OvUt7EHZw/s1600/feature-top-frontpage%255B1%255D.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="136" src="http://4.bp.blogspot.com/-QJPhJ0uwctY/TvraFznrxyI/AAAAAAACedU/H4OvUt7EHZw/s640/feature-top-frontpage%255B1%255D.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;Еще один ресурс,позволяющий найти места, где используется фотка - &lt;a href="http://www.tineye.com/"&gt;http://www.tineye.com/&lt;/a&gt;. Кстати так можно посмотреть не только, как часто используется фотка, а еще и кто стянул твою фотку.&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-4390042514695741439?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/4390042514695741439/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2011/12/blog-post_28.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/4390042514695741439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/4390042514695741439'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2011/12/blog-post_28.html' title='Публикуемся: Как разукрасить презентацию или пост в блоге'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-fSQ0fXx_yTc/TvrbUDhZYPI/AAAAAAACedg/VFW9H8eIiYI/s72-c/1265890669_chrezmernaya-utomlyaemost-opasna-dlya-organizma%255B1%255D.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-9142583462200664688</id><published>2011-12-20T21:09:00.004+02:00</published><updated>2012-01-02T01:16:50.129+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='timemanagement'/><category scheme='http://www.blogger.com/atom/ns#' term='interruption'/><title type='text'>Time management: Как сделать так, чтобы тебя не отвлекали?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Interruption наверное самый большой убийца людей в мире. Если тебя в среднем прерывают два раза в день и при этом ты теряешь по 10 минут времени, то в году это 10 рабочих суток. Простая математика.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-YQXYq0o9Pkg/TvDdLV4x3RI/AAAAAAACebQ/wWSyF0Z6geI/s1600/1316502701_253867804_1----%255B1%255D.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-YQXYq0o9Pkg/TvDdLV4x3RI/AAAAAAACebQ/wWSyF0Z6geI/s200/1316502701_253867804_1----%255B1%255D.jpg" width="156" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;2 раза * 10 минут * 22 дня * 11 месяцев / 60 минут в часу = 80 часов / 8 рабочих часов в дне&amp;nbsp; = 10 рабочих дней.&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Если а если ты прерываешься 10 раз (что, думаю, намного реальнее в наше время). Это уже больше 2х рабочих месяцев году.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;При зарплате в 500$ в месяц. Значит в год из ежедневных прерываний (по 10 раз) ты теряешь 1000$. Можно в следующий раз своему коллеге сразу сказать "эй чувак, твой этот вопрос мне стоит 1000$ в год!".&lt;br /&gt;&lt;br /&gt;Но если копнуть глубже, то работы мы стремимся все же сделать столько сколько запланировали. А значит овертаймим. А значит не ты теряешь 1000$ а твой ребенок не видит папку этих самых 50 часов в году. Если посчитать что на общение с семьей у тебя 8 часов, то твоя семья недополучает внимания на тех же два месяца. Два месяца в году семья не видит своего кормильца из за банальных десяти: "...эй, а ты не знаешь случайно че там..." Тут уже в морду бить хочется. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-QsYCb3bE8KM/TvDbhBm4cPI/AAAAAAACeao/gIlshQWWPJ8/s1600/krasivyy_rebenok_skuchaet%255B1%255D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-QsYCb3bE8KM/TvDbhBm4cPI/AAAAAAACeao/gIlshQWWPJ8/s320/krasivyy_rebenok_skuchaet%255B1%255D.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Но погодь. Рано. Посчитай теперь сколько ты раз в день становишься интераптером для другого?&amp;nbsp; А если всех вместе собрать? Мысль только одна: Саня, себя бить надо! Сам виноват!&lt;br /&gt;&lt;br /&gt;И что делать? Меняться.&lt;br /&gt;&lt;br /&gt;Во-первых, себя дисциплинировать не интераптать окружающих людей ни под каким предлогом. Главный предлог, по которому можно кого-то интераптнуть - это пожар. Я конечно утрирую, но так надо! Если ты вдруг откажешься от этого инструмента то начнешь думать "а что жеж делать?".&lt;br /&gt;&lt;br /&gt;Выход есть:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-9oQUzJxPvu0/TvDct72k7zI/AAAAAAACebI/4hHVxcaVA1A/s1600/1317077711_i2mco6ea3w9hz05%255B1%255D.jpeg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-9oQUzJxPvu0/TvDct72k7zI/AAAAAAACebI/4hHVxcaVA1A/s200/1317077711_i2mco6ea3w9hz05%255B1%255D.jpeg" width="140" /&gt;&lt;/a&gt;1) Ты мажешь потратить больше времени и прокачавшись самостоятельно научиться добывать информацию.&lt;br /&gt;&lt;br /&gt;2) Ты можешь завести 10 TODO списков на 10 человек (которых ты чаще всего интераптаешь) и отложить эти вопросы до тех пор, пока у вас не наметится 1-to-1 митинг. Либо, до тех пор, пока не подвернется удобный (для коллеги) момент - он к тебе сам может обратиться. &lt;br /&gt;&lt;br /&gt;3) Ты можешь подумать и понять, что на самом деле тебе вовсе не хотелось решить что-то важное, а хотелось всего лишь поболтать с кем-то или чтобы тебя похвалили, или чтобы подбодрили. Тут другой инструмент нужен. Если тебе не хватает внимания и общения - перестань интераптать и уходи домой раньше :) - там тебя послушают и похвалят.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-OE-KHxnA3hA/TvDcgrGvrII/AAAAAAACebA/_RyMfCUFEQo/s1600/superman_christopher_reeve%255B1%255D.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-OE-KHxnA3hA/TvDcgrGvrII/AAAAAAACebA/_RyMfCUFEQo/s320/superman_christopher_reeve%255B1%255D.jpg" width="228" /&gt;&lt;/a&gt;&lt;/div&gt;Идем дальше. Если ты приучил окружающих, что к тебе можно в любое время обратиться за помощью, то не удивляйся если к тебе будут обращаться в любое время за тем чтобы ты сделал за него его работу. Мозг штука очень непростая - она идет по пути наименьшего сопротивления. Если есть возможность что-то делегировать - мозг это сделает! Ему надо сохранять энергию а не тратить.&lt;br /&gt;&lt;br /&gt;Выход есть. Отучивай. Так же как и приучил. Постепенно. Для начала очень хорошо работает правило "не отвечать на вопрос 15 минут" - этого времени вполне достаточно для того, чтобы мозг интераптора самостоятельно нашел ответ на только что написанный вопрос в скайпе. Все просто. Если напишешь вопрос в письменном виде или проговоришь его, то надо просто подождать до 15 минут, как появится ответ. Это время надо дать интераптору. Много больше пользы будет, если он поймет, что сам в состоянии решить 99% своих проблем. &lt;br /&gt;&lt;br /&gt;Еще одно правило. Перевести все мессенджеры (скайп, почта) в тихий режим так, чтобы они не отвлекали. Просматривать их по расписанию. Отвечать тут же или выписывать в TODO и отвечать чуть позже (но в течении дня).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-YXh6k2deyAs/TvDcJGlP3RI/AAAAAAACea4/-8trVTKoApU/s1600/19350_1%255B1%255D.20" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-YXh6k2deyAs/TvDcJGlP3RI/AAAAAAACea4/-8trVTKoApU/s320/19350_1%255B1%255D.20" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp; &lt;br /&gt;Очень сложно это реализовать. У нас прочно внутри сидит привычка. Помагает но не сильно перевод скайпа в режим "не беспокоить". Это вовсе не значит что я "ой как занят" целый день. Занят так же как и все. Просто я пытаюсь сделать работу эффективнее, чем это делал раньше.&lt;br /&gt;&lt;br /&gt;Но красный скайп (или закрытие почтового ящика, странички фейсбука, твиттера, перевод телефона в тихий (не вибро!) режим) - это игнорирование проблемы. Проблема в том, что ты ХОЧЕШЬ ответить, потому что там может быть что-то более интересное, чем то, сейчас ты делаешь. Или ты просто устал и хочешь переключиться, отдохнуть. Это поять же надо решать другими способами.&lt;br /&gt;&lt;br /&gt;Лечение - поменяй статус на зеленый. Пусть виднеется в трее, а еще лучше на taskbar'е. Но не отрывай мессенджер так долго как сможешь. Продолжай работать и видя вот это мучительное желтое пятнышко на синем фоне.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-3vuhQhuszyc/TvDZcyPTRqI/AAAAAAACeaY/IkElDI5RIxs/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="94" src="http://3.bp.blogspot.com/-3vuhQhuszyc/TvDZcyPTRqI/AAAAAAACeaY/IkElDI5RIxs/s640/1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-svjCoVSrY4M/TvDb6OKshFI/AAAAAAACeaw/7zIDsoldlxA/s1600/time-bound-stop-watch%255B1%255D.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-svjCoVSrY4M/TvDb6OKshFI/AAAAAAACeaw/7zIDsoldlxA/s200/time-bound-stop-watch%255B1%255D.jpg" width="191" /&gt;&lt;/a&gt;Пусть мозолит тебе глаза. Запусти таймер и ставь рекорды. За новый рекорд - плюшка - прочти все что собралось :) Потом снова рекорд. Очень скоро ты перестанешь реагировать на "вам пришло новое сообщение".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Что дальше? Дальше жестче. Говорим нет всем, кто к нам приходит. Как правило первый вопрос, который тебе задают - "Саня, ты не сильно занят?" Ответ должен быть "Сильно". С последующим, "К тебе через 15 минут подойду, как закончу, прости".&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-jYY8CHwTrVY/TvDathAO-vI/AAAAAAACeag/F7veZplQFoY/s1600/Controlinterruptionsimage%255B1%255D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-jYY8CHwTrVY/TvDathAO-vI/AAAAAAACeag/F7veZplQFoY/s320/Controlinterruptionsimage%255B1%255D.jpg" width="217" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Что есть "я сильно занят?" - это когда находишься в состоянии потока и у тебя идет сверхпродуктивность. И тут надо "Ппппррррррр, Ракель" и переключаться на другое, потом снова разгоняться. Это более чем повод сказать, прости я занят сейчас.&lt;br /&gt;&lt;br /&gt;Но! Очень важно прийти через 15 минут и дать ответ на вопрос, как обещал. Иначе это уже неприлично. &lt;br /&gt;&lt;br /&gt;Все! Закончил. В ходе написания статьи одному коллеге пришлось сказать "Нет", потратить 53 минуты времени (знаю потому, что &lt;a href="http://apofig.blogspot.com/2011/12/blog-post.html"&gt;веду хронометраж&lt;/a&gt;). Сейчас пойду со спокойной душей помогу коллеге с его вопросом. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-9142583462200664688?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/9142583462200664688/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2011/12/blog-post_20.html#comment-form' title='Комментарии: 7'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/9142583462200664688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/9142583462200664688'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2011/12/blog-post_20.html' title='Time management: Как сделать так, чтобы тебя не отвлекали?'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-YQXYq0o9Pkg/TvDdLV4x3RI/AAAAAAACebQ/wWSyF0Z6geI/s72-c/1316502701_253867804_1----%255B1%255D.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-6189461076420785514</id><published>2011-12-13T19:08:00.001+02:00</published><updated>2012-01-02T01:17:31.020+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><title type='text'>How to: Как выкачать SVN репозиторий с history через http?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Если нет доступа к серверу, а есть только url на Svn репозиторий и очень надо получить у себя на локали репозиторий со всей историей коммитов, то поможет git :) &lt;br /&gt;&lt;br /&gt;Как его установить - &lt;a href="http://git-scm.com/download"&gt;вопрос сюда&lt;/a&gt;. Под windows довольно тривиальная установка. Я себе поставил&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-VAioc1tmrGI/TudBTvZRwgI/AAAAAAACeZM/z7zTyBcKOEw/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-VAioc1tmrGI/TudBTvZRwgI/AAAAAAACeZM/z7zTyBcKOEw/s1600/1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Давай разберемся, как сделать бекап с уже установленным гитом.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Открываем Git Bash (в меню Пуск можно найти :))&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-oenqrbxSfCY/TudBudaHFOI/AAAAAAACeZU/ud9MEcTMYRc/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-oenqrbxSfCY/TudBudaHFOI/AAAAAAACeZU/ud9MEcTMYRc/s1600/2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;И в консоли набираем&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;git svn clone http://host/blablabla/blabla --no-metadata&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;где&amp;nbsp; &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;http://host/blablabla/blabla &lt;/span&gt;путь к репозиторию.&lt;br /&gt;&lt;br /&gt;Далее мы увидим, как ревизия за ревизией все подтянется на наш локальный репозиторий в GIT&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-NSl_-6rMFXI/TudDnfwO8fI/AAAAAAACeZk/S8dK6P6LTcI/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-NSl_-6rMFXI/TudDnfwO8fI/AAAAAAACeZk/S8dK6P6LTcI/s1600/3.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-UFIoqufsjUI/TudDcMVDsUI/AAAAAAACeZc/UP089vLs8n0/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt; &lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Быть может тебя спросят пароль - это самое худшее, что со мной случилось...&lt;br /&gt;&lt;br /&gt;Далее у тебя на виртуальном диске, который создал GIT появится новая папка, а в ней проект и папочка .git, содержащая сам репозиторий. Контекстное меню откроет возможность работать с новоиспеченным локальным git-репозиторием &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-wV19tTy-sig/TudEv1hNNsI/AAAAAAACeZs/mdFJZzMMFOc/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="396" src="http://2.bp.blogspot.com/-wV19tTy-sig/TudEv1hNNsI/AAAAAAACeZs/mdFJZzMMFOc/s400/4.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;В принципе уже сейчас можно остановиться :) Но если хочется получить SVN репозиторий, тогда стоит потрудиться еще немного... Об этом позже, как сам разберусь :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-6189461076420785514?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/6189461076420785514/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2011/12/svn-history-http.html#comment-form' title='Комментарии: 10'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/6189461076420785514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/6189461076420785514'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2011/12/svn-history-http.html' title='How to: Как выкачать SVN репозиторий с history через http?'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-VAioc1tmrGI/TudBTvZRwgI/AAAAAAACeZM/z7zTyBcKOEw/s72-c/1.png' height='72' width='72'/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-3261275184922824660</id><published>2011-12-12T19:35:00.003+02:00</published><updated>2012-01-23T20:20:37.751+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='хронометраж времени'/><title type='text'>Time management: Как проводить хронометраж? Что мне дает хронометраж?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Хронометраж - инструмент, который я впервые опробовал после прочтения книги &lt;a href="http://www.improvement.ru/tmbook/time-drive/"&gt;Глеба Архангельского "Таймдрайв"&lt;/a&gt;. Торкнуло так, что теперь постоянно веду его. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-DN_HlO4x64M/TuY6Uw8NP0I/AAAAAAACeZE/vwCXIGGTtxs/s1600/%2525D0%2525A7%2525D0%2525B0%2525D1%252581%2525D1%25258B%255B1%255D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-DN_HlO4x64M/TuY6Uw8NP0I/AAAAAAACeZE/vwCXIGGTtxs/s1600/%2525D0%2525A7%2525D0%2525B0%2525D1%252581%2525D1%25258B%255B1%255D.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Хронометраж (в моей версии) состоит из двух частей:&lt;br /&gt;- Ведение засечек времени при переключении с задачи на задачу. Причем "пошел в туалет", "вышел в офис пешком", "переустановил java" - это все таски. Все задачи, от минуты и больше - все должно быть записано. Записывается время старта, время завершения, категория задачи. &lt;br /&gt;- Анализ утечек времени. Раз в неделю (или раз в день), в тихой спокойной обстановке, просматриваются все записи с одним единственным вопросом "а как это можно было сократить?"&lt;br /&gt;&lt;br /&gt;Те, кто ведет домашнюю бухгалтерию - поймут, что дает этот инструмент. Только если деньги - ресурс восполняемый, то время вам никто никогда не вернет. Он позволяет понять, куда утекает ваше время. Важно это по одной простой причине - часов в жизни человека, дуй Бог, наберется 700 000. И каждый час это число становится меньше. Я, в своих 26 лет, уже ~230 000 часов израсходовал. Ребята, которым уже за 300 000 завалило, вплотную задумываются о том, а какого фига я достиг в этой жизни. &lt;a href="http://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D0%B7%D0%B8%D1%81_%D1%81%D1%80%D0%B5%D0%B4%D0%BD%D0%B5%D0%B3%D0%BE_%D0%B2%D0%BE%D0%B7%D1%80%D0%B0%D1%81%D1%82%D0%B0"&gt;Кризис среднего возраста&lt;/a&gt; называется. Это когда понимаешь, что то, о чем мечтал в юношестве и детстве - там, в мечтах и останется. Те мои знакомые, которым еще больше - частенько говорят об упущенных возможностях. &lt;br /&gt;&lt;br /&gt;Ладно, это как-то больше к ценностям и целям относится. Я же хотел сказать, что ценность времени нелинейно. То что можно сделать сейчас легко, уже завтра будет сложнее. Вероятно, даже удовольствия это приносить будет меньше - а кто не слышал "а вот в моей молодости, конфеты были слаще..." &lt;br /&gt;&lt;br /&gt;Как-то фрирайтинг мой занес меня в дебри :) Что из этого всего можно понять? Да то, что у меня есть 70 000 часов до, того самого, кризиса среднего возраста. Это может показаться много - 8 лет! Но с момента, когда я был студентом прошло даже больше. Не прошло а пролетело. Так что это очень немного.&lt;br /&gt;&lt;br /&gt;Хронометраж, один из инструментов, который позволяет мне вести учет этого, моего самого ценного, богатства. &lt;br /&gt;&lt;br /&gt;Как я это делаю? &lt;br /&gt;&lt;br /&gt;Раньше я вел это все дело на бумаге и подсчитывал вручную. Неудобно. По этой причине я сделал формочку в excel, и переделегировал ей часть левой работы. Признаюсь, из за отсутствия автоматизации я часто не делал (из за нехватки времени) делать еженедельный анализ результатов. &lt;br /&gt;&lt;br /&gt;Вот так выглядит формочка: &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-vO-DPzwAfJc/TuYrR7s3sGI/AAAAAAACeY0/35a4TKZX8Sc/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="246" src="http://3.bp.blogspot.com/-vO-DPzwAfJc/TuYrR7s3sGI/AAAAAAACeY0/35a4TKZX8Sc/s640/3.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Вот тут можно скачать &lt;a href="http://dl.dropbox.com/u/11842832/Blog/%D0%A5%D1%80%D0%BE%D0%BD%D0%BE%D0%BC%D0%B5%D1%82%D1%80%D0%B0%D0%B6/%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%20%D0%A5%D1%80%D0%BE%D0%BD%D0%BE%D0%BC%D0%B5%D1%82%D0%B0%D0%B6.xlsx"&gt;эту xls доку&lt;/a&gt; (по мере улучшения и фикса багов я ее буду обновлять). Доке всего дня, но за это время я успел ее переделать три раза. &lt;br /&gt;&lt;br /&gt;Как она работает? &lt;br /&gt;&lt;br /&gt;В зеленые колонки - &lt;b style="color: #6aa84f;"&gt;"Дата", "Что делал?", "Конец", "Категория"&lt;/b&gt; - ты вводишь соответствующие значения всякий раз, когда переключился с одной задачи на другую (даже, если это "быстро ответил соседу какую версию библиотеки использовать" продолжительностью 2 минуты).&lt;br /&gt;&lt;br /&gt;Оранжевые колонки &lt;b&gt;&lt;span style="color: orange;"&gt;"Начало", "Разница", "Категория", "Сумма", "%", "Часов всего"&lt;/span&gt;&lt;/b&gt; ты не трогай, потому что они подсчитываются автоматически. Разве что самая первая ячейка колонки &lt;b&gt;&lt;span style="color: orange;"&gt;"Начало" &lt;/span&gt;&lt;/b&gt;- ее надо будет ввести вручную. &lt;br /&gt;&lt;br /&gt;Что значит каждая колонка:&lt;br /&gt;&lt;b&gt;"Дата"&lt;/b&gt; - число, день недели, фаза луны - не важно. Введено для удобства отделения дневных (или лунных, ладно шучу) циклов.&lt;br /&gt;&lt;b&gt;"Что делал"&lt;/b&gt; - описание задачи (или того, на что отвлекся). Не скупись на слова - тут должно быть понятно чем ты занимался спустя год :) Никогда не знаешь, когда вернешься к этой доке с анализом (но желательно раз в неделю минимум).&lt;br /&gt;&lt;b&gt;"Начало"&lt;/b&gt; - значение времени берется из предыдущей записи в ячейке "Конец". Все же время непрерывно. А учитываем мы все - и сон тоже.&amp;nbsp; Заполняется автоматически.&lt;br /&gt;&lt;b&gt;"Конец"&lt;/b&gt; - сюда ты вводишь время, которое видишь на часах, в момент, когда переключился на другую задачу.&amp;nbsp; &lt;br /&gt;&lt;b&gt;"Разница"&lt;/b&gt; - дробное число часов в интервале между (начало и конец). Заполняется автоматически.&lt;br /&gt;&lt;b&gt;"Категория"&lt;/b&gt; - некоторые задачи группируются, и тут ты вводишь имя группы. быть может это имя проекта, быть может имя человека, быть может что-то еще... Можно вводить сразу, а можно и потом, когда будешь проводить анализ. Я делаю сразу.&lt;br /&gt;&lt;br /&gt;Далее идет другая таблица, подводящая итог:&lt;br /&gt;&lt;b&gt;"Категории"&lt;/b&gt; -  Заполняется автоматически из колонки "Категория". Выбираются все уникальные категории. &lt;br /&gt;&lt;b&gt;"Сумма"&lt;/b&gt; - Заполняется автоматически из колонки "Разница", для всех рядков заданной категории.&lt;br /&gt;&lt;b&gt;"%"&lt;/b&gt; -Дает ответ на вопрос, как много всего своего времени в % соотношении ты уделяешь этой категории. Заполняется автоматически&lt;br /&gt;&lt;b&gt;"Часов всего"&lt;/b&gt; - общее количество учтенных часов. &lt;br /&gt;&lt;br /&gt;Траблшуттинг (или рекомендации по использованию таблиц в excel):&lt;br /&gt;- не вставляй (не удаляй) никаких строк и столбцов в таблицу.&lt;br /&gt;- не используй copy-past значений из одной ячейки в другую&lt;br /&gt;- пиши текст только вручную&lt;br /&gt;- не заполняй никаких значений в колонку F (она скрыта).&lt;br /&gt;- не пиши ничего в колонках С, E, I, J, K, L - в них одни сплошные формулы.&lt;br /&gt;- для тебя только зеленые колонки &lt;b style="color: #6aa84f;"&gt;"Дата", "Что делал?", "Конец", "Категория"&lt;/b&gt;&lt;br /&gt;- после каждого анализа начинай работу с нового листа (так проще)&lt;b style="color: #6aa84f;"&gt; &lt;/b&gt;&lt;br /&gt;- расширяй доку, только если понимаешь что делаешь. Хорошо бы при этом сравнить какие-то контрольные значения со значениями взятыми до правки.&lt;br /&gt;&lt;br /&gt;А теперь не много рекомендаций при работе с хронометражом&lt;br /&gt;&lt;br /&gt;Носи всегда с собой листик бумаг, карандаш и часы, чтобы в дали от компьютера иметь возможность вести хронометраж. После перенеси все в общую доку. &lt;br /&gt;&lt;br /&gt;Если забыл вести хронометраж - продолжай с того места на котором вспомнил. Не стремись все воспроизвести за последних 5 дней - это нереально и будет тебя сильно демотивировать. Просто начинай с того момента как вспомнил. Первые недели две данные все равно не будут идеальными - наша цель на эту итерацию - привить привычку.&lt;br /&gt;&lt;br /&gt;Проводи анализ раз в день, неделю, месяц (это по началу не советую - очень отложенная обратная связь получается).&lt;br /&gt;&lt;br /&gt;Представь, что числа эти - это не часы, а тысячи долларов, которые утекают с твоего счета. Ты есть целый завод по производству чего-то полезного. В тебе работают разные отделы. Каждый день работы стоит 240 000$. Тебе надо придумать, как эти деньги эффективнее расходовать. Ты директор!&lt;br /&gt;&lt;br /&gt;Для версии, где час стоит 1000$ предлагаю &lt;a href="http://dl.dropbox.com/u/11842832/Blog/%D0%A5%D1%80%D0%BE%D0%BD%D0%BE%D0%BC%D0%B5%D1%82%D1%80%D0%B0%D0%B6/%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%20%D0%A5%D1%80%D0%BE%D0%BD%D0%BE%D0%BC%D0%B5%D1%82%D0%B0%D0%B6%20%D0%B2%20%D0%B4%D0%B5%D0%BD%D1%8C%D0%B3%D0%B0%D1%85.xls"&gt;другой шаблон&lt;/a&gt;, более мотивирующий :) &lt;br /&gt;&lt;br /&gt;Вот пример.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Tv_SmZYTBKU/TuY1HOV0unI/AAAAAAACeY8/-vXbVvIbOGI/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="213" src="http://4.bp.blogspot.com/-Tv_SmZYTBKU/TuY1HOV0unI/AAAAAAACeY8/-vXbVvIbOGI/s640/4.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Всего лишь надо выбрать в колонке &lt;b&gt;"ЗП, $ в месяц"&lt;/b&gt; сколько денег ты "получаешь" в месяц (я выбрал 100 000$ :) чтобы цифры в колонке &lt;b&gt;"Разница" &lt;/b&gt;были ощутимее). &lt;br /&gt;&lt;br /&gt;Теперь про то, что я получил от хронометража и что можешь получить ты:&lt;br /&gt;- ты понимаешь, что то, что ты думал займет 5 минут, вовсе 5 минут не занимает. Позже ты поймешь, что задач на 5 минут практически никогда не бывает - все они растягиваются на&amp;nbsp; в разы и являются главным пожирателем твоего времени. &lt;br /&gt;- ты понимаешь что сделал совсем не то, что хотел сделать сутра&lt;br /&gt;- ты понимаешь, что на самом деле кроется за "нет времени" - эту фразу более приятнее говорить как "не те приоритеты".&lt;br /&gt;- ты отказываешься от чего-то, потому что понимаешь - времени заберет огого, а пользы не так.&lt;br /&gt;- ты стремишься делегировать &lt;br /&gt;- ты оптимизируешь, автоматизируешь- придумываешь что угодно, чтобы сделать то же но дешевле&lt;br /&gt;- ты работаешь сутра, а после обеда спишь или гуляешь&lt;br /&gt;- ты делаешь частые перерывы, потому что это эффективный способ борьбы от суеты&lt;br /&gt;- ты стараешься не отвлекаться на скайпы, почты, потому как все ты воспринимаешь как задачи&lt;br /&gt;- каждый вечер (или раз в неделю) ты делаешь новые открытия в ходе анализа &lt;br /&gt;- тебе легко заполнять всякого рода рипорты&lt;br /&gt;- тебе легко сказать сколько точно времени займетта или иная задача, потому что ты знаешь насколько в среднем ты обманываешь себя, на планировании, когда говоришь "я сделаю это за X часов"&lt;br /&gt;- ты управляешь своим временем, а не плывешь по течению. &lt;br /&gt;- ты доволен тем, что у тебя в дне больше на пару (а может и пять-семь-30-1000!) часов времени чем у остальных.&lt;br /&gt;- еще (из последних нововведений) ты легко можешь подсчитать в процентном соотношении, как и на что утекает твое время. Так же можно придумать любые другие метрики - покуда есть статистическая информация. К примеру на вкладке "Балланс" можно сгруппировать категории и увидеть в процентном соотношении на что тратится время. Очень полезно, если хочешь начать уделять семье столько же времени сколько работе. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-_7NjbhKyb2o/TusIrcHfliI/AAAAAAACeZ8/i-KOklpEJck/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="255" src="http://3.bp.blogspot.com/-_7NjbhKyb2o/TusIrcHfliI/AAAAAAACeZ8/i-KOklpEJck/s400/1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;Тут в 1й колонке вводишь те категории, которые вводил в табличке "Хронометраж". Во второй обобщаешь их в т.н. "области". В третьей видишь сумму по категориям (подсчитывается автоматически). В четвертой приведен список тех же "областей" (вводишь вручную). В пятой - сумма часов но уже по "областям". В шестой - процентное соотношение. &lt;br /&gt;&lt;br /&gt;Формируя "области" из "категорий" будь осторожен со вставкой новых колонок и рядков -&amp;nbsp; там повсюду в ячейках формулы. Копировать/перемещать в пределах одной таблицы значения можно безболезненно. В любом случае в этой таблице предусмотрено два поля, которые сообщать об ошибке, если количество часов в сумме не совпадет с тем, что указано в таблице "Хронометраж". &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-kXcS-AAk-Hg/TusK_DIt-oI/AAAAAAACeaE/BJ1upLALPWY/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="325" src="http://2.bp.blogspot.com/-kXcS-AAk-Hg/TusK_DIt-oI/AAAAAAACeaE/BJ1upLALPWY/s400/2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Еще одно замечание. В дне у тебя может быть больше 24 часов. Как? Ты можешь делегировать часть своей работы. Человеку либо компьютеру. В первом случае правильнее будет говорить о том, что у тебя в сутках есть некоторое число человекочасов большее, чем 24.&lt;br /&gt;&lt;br /&gt;Во втором случае - автоматизация какого-то процесса приведет к тому, что ты не будешь тратить времени (или будешь, но на суппорт {который опять же можно делегировать либо автоматизировать}) на задачу, отнимавшую у тебя по несколько ценных минут в день.&lt;br /&gt;&lt;br /&gt;Простой пример - этот пост в блоге находясь в общедоступном месте могут читать тысячи (ну ладно, сотни) людей. Если бы я поставил перед собой цель рассказать то, что тут написано сотне людей, то:&lt;br /&gt;- я бы взял год, чтобы объяснить этом каждому отдельно&lt;br /&gt;- я бы взял две недели, чтобы организовать вебинар и провести его разово для 100 людей&lt;br /&gt;- я бы потратил 2 часа, чтобы описать это в блоге. Все! Больше я к этой теме не вернусь - если кому-то и надо будет объяснить про хронометраж - я скину ему линк на пост в своем блоге (а это займет 10 минут не больше). Вот так то, на что я тратил раньше час (передавая из уст в уста), теперь я трачу 10 минут (передавая линк). &lt;br /&gt;&lt;br /&gt;А сколько еще методов оптимизации ты откроешь, когда начнешь во время анализа задавать к каждой записи в табличке один единственный вопрос "а как это можно было сделать дешевле?"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Вот как-то так в моем дне немного больше часов, чем было еще пару лет назад. И все начинается с учета расходов. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;В общем Enjoy! &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-3261275184922824660?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/3261275184922824660/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2011/12/blog-post.html#comment-form' title='Комментарии: 7'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/3261275184922824660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/3261275184922824660'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2011/12/blog-post.html' title='Time management: Как проводить хронометраж? Что мне дает хронометраж?'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-DN_HlO4x64M/TuY6Uw8NP0I/AAAAAAACeZE/vwCXIGGTtxs/s72-c/%2525D0%2525A7%2525D0%2525B0%2525D1%252581%2525D1%25258B%255B1%255D.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-4022668949966497365</id><published>2011-12-12T12:07:00.001+02:00</published><updated>2012-01-02T01:18:11.383+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Code Review'/><category scheme='http://www.blogger.com/atom/ns#' term='refactoring'/><title type='text'>Java for fun: Кодревьюшки #1</title><content type='html'>Каждый день приходится ревьювать код. Я уже давно их собираю, ревьюшки, и их стало так много, что пора уже выкладывать их :)&lt;br /&gt;&lt;br /&gt;Сегодня рабочее утро у меня началось с этих ревьюшек. &lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;iframe frameborder="0" src="http://docs.google.com/gview?url=http://bit.ly/tWx2A6&amp;embedded=true&amp;pli=1" style="height: 480px; width: 640px;"&gt;&lt;/iframe&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Это первая серия, дальше будет...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-4022668949966497365?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/4022668949966497365/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2011/12/1.html#comment-form' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/4022668949966497365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/4022668949966497365'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2011/12/1.html' title='Java for fun: Кодревьюшки #1'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-324567312933191057</id><published>2011-12-08T01:27:00.000+02:00</published><updated>2011-12-08T01:27:44.657+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='тренинг'/><category scheme='http://www.blogger.com/atom/ns#' term='tdd'/><category scheme='http://www.blogger.com/atom/ns#' term='отзывы'/><title type='text'>26-27 декабря: Киев, Тренинг "Test Driven development in Java"</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Привет! &lt;br /&gt;&lt;br /&gt;В этом году мы еще разок дадим жару на нашем &lt;a href="http://www.scrumguides.com/2011/12/test-driven-development-in-java.html"&gt;двухдневном тренинге "Test Driven development in Java"&lt;/a&gt;, который пройдет при поддержке &lt;a href="http://www.scrumguides.com/"&gt;Scrumguides.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Сережа и я сейчас интенсивно apply'им все фидбеки, которые получили из &lt;a href="http://apofig.blogspot.com/2011/11/tdd.html"&gt;прошлых наших тренингов&lt;/a&gt; на эту тему. Работы много. Новый тренинг будет не таким, каким его видели участники прошлых наших тренингов. Спасибо, Ребята, за ваши полезные замечания. &lt;br /&gt;&lt;br /&gt;Вот что пишут про TDD некоторые из участников:&lt;br /&gt;&lt;br /&gt;&lt;div dir="ltr" id="internal-source-marker_0.23714922296199514" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&amp;nbsp;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;I  am planning introduce this knowledge at my work. I will have to think  about how I can apply this for the mobile java development. But I think  &amp;nbsp;TDD can give me a lot of benefits for the next project.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;I  have remembered pieces of JUnit. Coaches gave an answers for my  principal questions and they gave a main direction for movements.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;It  was very useful event. I hope similar events will be appear more  frequently then now. I would be say that 2-3 day events is effective  than one-day event. Many thanks to coaches and organizators.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt; &lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: right; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Bogdan Strelets&lt;/span&gt;&lt;/div&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;After  the training I have started using TDD methodology in my personal  software project (Bible reader application for Android) in oder to gain  some initial TDD experience. Planning to use TDD while working with the C  trainee in my current work project, so that the expected future  developement activities on my project will benefit from the TDD appoach.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Plan  to learn and practice on how to think of the software in terms of tests  and how to design well testable modules. Also plan to read more about  the TDD and how it applies to C-based projects.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;The  trainers had a strong positive impact on me. They had me convinced that  the TDD approach is beneficial, and not only for the final quality of  the software product but also for the developer's everyday and overall  confidence in the software he/she is developing. &amp;nbsp;The latter is highly  valuable to me as a developer.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;During  the sessions the trainers have well used their obvious knowledge,  experience, confidence, and sense of humor. The good presentations and  practice sessions with the audience were very effective. I recommend  this TDD training for teams and individual developers which need  encouragement and guidance regarding improvement of the software  quality. Also recommend for developers who simply need to learn that  with TDD even complex software systems can be built in such a way that  their future extension will be a feasible, predictable, and not risky  task.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: right; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Denys Dolganenko&lt;/span&gt;&lt;/div&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Тренінг  по TDD підійде всім, як новачкам так і досвідченим TDD розробникам. Ті  хто ніколи не працювали з TDD можуть здобути цінні знання і розуміння  TDD, зразу відпадуть питання: «Для чого мені писати юніт тести?»,  «Звідки впевненість що мої тести працюють правильно?», «Хто напише тести  для моїх тестів?» . &amp;nbsp;Ті хто вже працював з TDD зможуть систематизувати  свої знання.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Пройшовши  тренінг по TDD ви отримаєте все необхідне для програмування по TDD, в  результаті ви зекономите багато часу &amp;nbsp;час , оскільки не прийдеться  читати товсті книжки. Про &amp;nbsp;«Гру в пінг-понг», яка скорочує час і  екфективність розробки, навряд чи можна ще десь дізнатися окрім  тренінгу.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Мені  тренінг допоміг систематизувати свої знання, і я отримав відповіді на  запитання відповіді на які &amp;nbsp;я би міг знайти, рившись в товстих книжках,  витрачаючи багато часу. Також треніг допоміг мені при захисті презентаці  по TDD в університеті, я зміг відповісти на достатньо не прості питання  викладача який провів в ІТ багато років.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;І  на кінець TDD - це всього лише інструмент, а те, як цей інструмент  використовується, залежить від людини, яка цей інструмент тримає в  руках. У чиїхось руках він може приносити багато користі, а в інших -  багато шкоди. Якщо ви вирішили програмувати по TDD, то будьте готові до  жертв: це і втрата швидкості розробки на початку, і жорстка дисципліна і  самоконтроль, &amp;nbsp;інтенсивне навчання і т.д. Всі ці жертви потім  окупляться. Багато хто не витримує і повертається до колишнього стилю  роботи. &amp;nbsp;Але, на мою думку, а також на думку деяких знайомих мені  TDD-практиків, як тільки розробник відчув залежність від «зеленої  смуги», дізнався, що таке повний контроль за кодом, тобто став  інфікованим тестами (test-infected), він уже ніколи не відмовиться від  тестування. Поки що ніхто з моїх знайомих не шкодує часу, витраченого на  вивчення і експерименти з TDD.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: right; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Yaroslav Balytskyy&lt;/span&gt;&lt;/div&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Впринципі  даний тренінг призначений для програмістів які ніколи не  використовували TDD, проте ішовши на тренінг я вже мав рік досвіду  роботи по TDD&amp;amp;XP і незважаючи на це я все одно знайшов для себе  цікаві теми.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Якщо  ви маєте досвід роботи по TDD то ви просто мусите послухати про TDD  Anti-patterns, Unit vs Integration testing. Під час моєї роботи, в мене  постійно виникало питання "Коли писати тести? Який код варто  тестувати?", &amp;nbsp;тепер в мене не виникає таких питаннь. Найбільший фан я  отримав коли розпочалась практична частина тренінгу і ми почали грати в  TDD Ping Pong. В цілому TDD тренінг був дуже цікавим і насиченим. І я з  повною впевненістю можу сказати, що не дарма витратив свій вихідний  день. &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: right; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Igor Gordiichuk&lt;/span&gt;&lt;/div&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Всем кто еще думает идит или нет. Отвечу: Идти! &amp;nbsp;Замечательная тема, замечательные ребята, потрясающий результат.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Ребята  не просто показывают "Привет мир" из TDD, ребята показывают почему это  стоит использовать, как правильно использовать, &amp;nbsp;какой профит вы с этого  получите в результате. Честно сказать мне не удалось еще применить это  на практике, но многие вещи не касающиеся &amp;nbsp;TDD которые были услышаны на  встрече мне уже помогают в работе.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Финансовавя  сторона вопроса: Едиственная причина которая может заставит вас  отказаться от &amp;nbsp;такой возможности это отсутствие финансов или их крайнее  наличие. Хотя меня последнее не сдержало, и я не жалею. Даже если  &amp;nbsp;просто прикинуть то стоимость хорошей книги сейчас не меньше 200 грв +  время на ее прочтение +односторонняя связь с книгой.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Итого  выходит немало трудозатрат. А если верить идее что каждая книга рано  или поздно добавить +50 к уверненности, &amp;nbsp;+50 к знаниям и +100 к твоей  стоимости как специалиста, то уверен, что на этой встрече я прокачался  на все +200 по всем параметрам, &amp;nbsp;кроме ЗП - пока )).&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Синяя пилюля это не пойти и остаться в мире без TDD, красная же откроет тебе ту правду которую ты скрывал от себя все это время.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Так что руки в ноги и вперед на встречу солнечному будущему без дебага))&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: right; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Oleksandr Sientsov&lt;/span&gt;&lt;/div&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;First  I have to say that when I heard about TDD I was a little bit sceptical  about this methodology. Write test before real implementation? Are you  kidding me? Well, it was before training.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;On  the beginning of the training, coaches helped me to tune the  environment. After that training started. &amp;nbsp;First off all we listened  some theory, which by the way was supported with some funny picture(  they really helped me to wake up after rought friday night:)). Trainers  was nice and gladly answered our questions.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;After  this we had some practice. Practice was in pairs. Only one pc for two  developers. &amp;nbsp;At the first it was unusual, but after a little while I got  used to it. &amp;nbsp;And I have to say this methodology could be very  effective. &amp;nbsp;Like they said &amp;nbsp;- "One head is good, but two better".&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;One  thing that I did not like in the practice it is a emulation of  elevator. IMHO it is too abstract task, I would rather write some  "Snake" or "Tetris", maybe something simplier, but definitely &amp;nbsp;something  more specific. One more thing I would like to propose it is to organise  some sort of little competion between students. E.g some little task  and who will do it better and faster.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;So,  my conclusion is - training was nice. It helped me understood that TDD  can be very usefull &amp;nbsp;in some cases. Once again &amp;nbsp;a little more practice  and independent work and everything will be perfect. &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: right; text-indent: 23.25pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Teodor Moroz&lt;/span&gt;&lt;/div&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23.25pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Це  насправді був мій перший тренінг такого рівня. Дивлячись на те що я  Automation QA, думав що буду почувати себе повним чайником на даному  дійстві, адже маю більше досвіду у написанні тестових скриптів ніж у  безпосередній розробці, проте як виявилось, хлопці підготували матеріал у  дуже доступній формі.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23.25pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Насамперед  хочеться сказати, що відкрив для себе новий підхід у написанні коду,  так сказати задом наперед до поставленого завдання). Тренінг цікавий,  слухався на одному диханні, викладений дуже професійно та доступно,  незважачи на рівень знань слухачів, що і засвідчує моє повне розуміння  матеіралу після тренінгу, аже сам ше джунік).&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23.25pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Думаю  важливу роль відіграло те, що хлопці зробили великий акцент на  практичній реалізації, адже легко вчитись не коли просто слухаєш і  читаєш, а коли реалізовуєш руками). Практично кожен присутній вніс якусь  свою деталь у розробці контроллера ліфта(який ми практично  реалізовували на тренінгу за принцибом TDD).&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23.25pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Побільше б таких тренінгів).&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: right; text-indent: 23.25pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Taras Lytvyn&lt;/span&gt;&lt;/div&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23.25pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Раньше  я слышал о TDD, но никогда не вникал в его суть. Тренинг дал понять  насколько интересную и полезную технологию я упускал, а главное, быстро  вникнуть в ее принцип.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23.25pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Понравилось  то, что Алексанр и Сергей на простых вещах из комнаты объясняли принцип  работы чего-то абстрактного. А для закрепления материала мы  разрабатывали проект прямо на тренинге.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 23.25pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Честно говоря, ребята очень хорошо разбираются в теме. С удовольствием схожу на другой их тренинг.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: right; text-indent: 23.25pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Dmitry Shilov&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-324567312933191057?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/324567312933191057/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2011/12/26-27-test-driven-development-in-java.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/324567312933191057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/324567312933191057'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2011/12/26-27-test-driven-development-in-java.html' title='26-27 декабря: Киев, Тренинг &quot;Test Driven development in Java&quot;'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-5146364550860207810</id><published>2011-11-28T21:24:00.001+02:00</published><updated>2012-01-02T01:18:33.543+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ppt'/><category scheme='http://www.blogger.com/atom/ns#' term='рефакторинг'/><title type='text'>Refactoring: Еще немного про рефакторинг</title><content type='html'>Вот случайно нашел презенташку со своего техтолка "Чистый код". Планировалась серия таких презентаций. Это первая. Рассмотрел пару Фаулеровских запахов:&lt;br /&gt;- дублирование&lt;br /&gt;- код с комментариями&lt;br /&gt;- большой метод&lt;br /&gt;- завистливая функция&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;iframe frameborder="0" src="http://bit.ly/ug8kyc" style="height: 480px; width: 640px;"&gt;&lt;/iframe&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Продолжение следует...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-5146364550860207810?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/5146364550860207810/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2011/11/blog-post_1735.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/5146364550860207810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/5146364550860207810'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2011/11/blog-post_1735.html' title='Refactoring: Еще немного про рефакторинг'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-1065245103454226819</id><published>2011-11-28T10:15:00.002+02:00</published><updated>2012-01-02T01:20:53.348+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='видео'/><category scheme='http://www.blogger.com/atom/ns#' term='люди'/><category scheme='http://www.blogger.com/atom/ns#' term='земля'/><category scheme='http://www.blogger.com/atom/ns#' term='вирусы'/><category scheme='http://www.blogger.com/atom/ns#' term='глобальный капец'/><category scheme='http://www.blogger.com/atom/ns#' term='бездействие'/><category scheme='http://www.blogger.com/atom/ns#' term='исчерпаемые ресурсы'/><title type='text'>Think about: Задуматься о том, что делаем с нашим домом - Землей</title><content type='html'>Если Земля - организм, каждой клеткой которого есть некий вид живого, то человек, он же венец природы, мне очень напоминает раковую клетку.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;iframe width="420" height="315" src="http://www.youtube.com/embed/tvsbJWpv2uM" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;А вот еще немного &lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;embed height="390" width="640" bgcolor="#000000" allowfullscreen="true" allowscriptaccess="always" flashvars="fexp=905261&amp;amp;ptk=homeproject&amp;amp;enablecsi=1&amp;amp;allow_embed=0&amp;amp;rvs=url%3Dhttp%253A%252F%252Fwww.youtube.com%252Fmovie%253Fv%253DjqxENMKaeCU%26author%3Dhomeproject%26length_seconds%3D5598%26id%3DjqxENMKaeCU%26title%3DHOME%2Cview_count%3D551608%26author%3Dhomeproject%26length_seconds%3D83%26id%3DuYGcDOJCf7Q%26title%3DHOME%2BMaking-Of%2B%253A%2BNew-York%2Cview_count%3D168391%26author%3Dhomeproject%26length_seconds%3D123%26id%3DsLbHicGdXvw%26title%3DHOME%2BMaking-Of%2B%253A%2BThe%2BArctic%2Cview_count%3D1059876%26author%3Dhomeproject%26length_seconds%3D5374%26id%3DE9-k7wtS3bg%26title%3DHome%2B%2528Arabic%2529%2B-%2B%25D8%25A8%25D9%258A%25D8%25AA%25D9%2586%25D8%25A7%2Cview_count%3D4641646%26author%3Din5d%26length_seconds%3D10380%26id%3DJc-55p1Al9k%26title%3DFULL%2BMOVIE%2B-%2B2012%2BThe%2BOnline%2BMovie%2BFINAL%2BUPDATE%2B--%2B%25282010%2529%2Cview_count%3D302274%26author%3Dlovekuwaiti%26length_seconds%3D5970%26id%3D6Pp8LUOnXaw%26title%3D%25D9%2581%25D9%258A%25D9%2584%25D9%2585%2BVIRUS%2B%25D9%2585%25D8%25AA%25D8%25B1%25D8%25AC%25D9%2585%2Cview_count%3D95044%26author%3DBultuush1%26length_seconds%3D5848%26id%3D4lcuvPBLy2k%26title%3D%25D0%25A1%25D0%25B0%25D0%25BC%25D1%258B%25D0%25B9%2B%25D0%25BB%25D1%2583%25D1%2587%25D1%2588%25D0%25B8%25D0%25B9%2B%25D1%2584%25D0%25B8%25D0%25BB%25D1%258C%25D0%25BC%2B%25D0%25A0%25D0%25BE%25D1%2581%25D1%2581%25D0%25B8%25D0%25B9%2Cview_count%3D22376%26author%3DNorkazy%26length_seconds%3D5433%26id%3DL-96i95iKT4%26title%3D%25D0%259F%25D1%2583%25D1%2582%25D0%25B5%25D1%2588%25D0%25B5%25D1%2581%25D1%2582%25D0%25B2%25D0%25B8%25D0%25B5%2B%25D0%25BD%25D0%25B0%2B%25D0%25BA%25D1%2580%25D0%25B0%25D0%25B9%2B%25D0%2592%25D1%2581%25D0%25B5%25D0%25BB%25D0%25B5%25D0%25BD%25D0%25BD%25D0%25BE%25D0%25B9%2Cview_count%3D56572%26author%3D9280950707%26length_seconds%3D6235%26id%3DV763JFwYgg8%26title%3D%25D0%2593%25D1%2580%25D0%25B5%25D1%2588%25D0%25BD%25D0%25B8%25D0%25BA%25D0%25B8%2B%25D0%25B8%2B%25D0%25A1%25D0%25B2%25D1%258F%25D1%2582%25D1%258B%25D0%25B5%2B%25C2%25BB%2B%25D0%25A4%25D0%25B8%25D0%25BB%25D1%258C%25D0%25BC%25D1%258B%2B%25D0%25BE%25D0%25BD%25D0%25BB%25D0%25B0%25D0%25B9%25D0%25BD%2B%25D0%25B2%2B%25D1%2585%25D0%25BE%25D1%2580%25D0%25BE%25D1%2588%25D0%25B5%25D0%25BC%2B%25D0%25BA%25D0%25B0%25D1%2587%25D0%25B5%25D1%2581%25D1%2582%25D0%25B2%25D0%25B5%252C%2B%25D1%2581%25D0%25BC%25D0%25BE%25D1%2582%25D1%2580%25D0%25B5%25D1%2582%25D1%258C%2B%25D1%2584%25D0%25B8%25D0%25BB%25D1%258C%25D0%25BC%25D1%258B%2B%25D0%25BE%25D0%25BD%25D0%25BB%25D0%25B0%25D0%25B9%25D0%25BD%2B%25D0%25BD%25D0%25B0%2Bkino%2Blive%2Borg%2521%2Cview_count%3D64186%26author%3Donlinevidachok%26length_seconds%3D83%26id%3DHUxOErRwhKw%26title%3D%25D0%259A%25D0%25B0%25D0%25BA%2B%25D0%25BB%25D1%2583%25D1%2587%25D1%2588%25D0%25B5%2B%25D0%25B8%25D1%2581%25D0%25BA%25D0%25B0%25D1%2582%25D1%258C%2B%25D0%25BE%25D0%25BD%25D0%25BB%25D0%25B0%25D0%25B9%25D0%25BD%2B%25D1%2584%25D0%25B8%25D0%25BB%25D1%258C%25D0%25BC%25D1%258B%2521%2521%2Cview_count%3D258915%26author%3Dsapedmitry%26length_seconds%3D113%26id%3DCjMXEcWImzE%26title%3D%25D0%259A%25D0%25BD%25D0%25B8%25D0%25B3%25D0%25B0%2B%25D0%2598%25D0%25BB%25D0%25B0%25D1%258F%2B%25D1%2581%25D0%25BC%25D0%25BE%25D1%2582%25D1%2580%25D0%25B5%25D1%2582%25D1%258C%2B%25D0%25BF%25D0%25BE%25D0%25BB%25D0%25BD%25D1%258B%25D0%25B9%2B%25D1%2584%25D0%25B8%25D0%25BB%25D1%258C%25D0%25BC%2B%25D0%25BE%25D0%25BD%25D0%25BB%25D0%25B0%25D0%25B9%25D0%25BD%2B%25D1%2581%25D0%25BA%25D0%25B0%25D1%2587%25D0%25B0%25D1%2582%25D1%258C%2B%25D1%2584%25D0%25B8%25D0%25BB%25D1%258C%25D0%25BC%2Cview_count%3D37685%26author%3Dmaribaks%26length_seconds%3D40%26id%3D7ksPlu8JM-Q%26title%3D%25D0%259B%25D1%2583%25D1%2587%25D1%2588%25D0%25B8%25D0%25B5%2B%25D1%2580%25D0%25BE%25D0%25BC%25D0%25B0%25D0%25BD%25D1%2582%25D0%25B8%25D1%2587%25D0%25B5%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B5%2B%25D0%25BA%25D0%25BE%25D0%25BC%25D0%25B5%25D0%25B4%25D0%25B8%25D0%25B8&amp;amp;vq=auto&amp;amp;autohide=2&amp;amp;csi_page_type=watch5&amp;amp;user_gender=m&amp;amp;cr=US&amp;amp;sk=AP4xwFyMhq6LlPFAN22p0LfDnr9ikeSVR&amp;amp;ptchn=homeproject&amp;amp;length_seconds=5373&amp;amp;enablejsapi=1&amp;amp;theme=tlb&amp;amp;user_age=26&amp;amp;plid=AASyxwfKztzBYEgT&amp;amp;watch_xlb=http%3A%2F%2Fs.ytimg.com%2Fyt%2Fxlb%2Fwatch%2Fstrings-ru_RU-vflLKlJBT.xlb&amp;amp;tk=5DOfip94tCTIslVrnmJ_mlqm9zwrw8ttl338N1dQDXf_KCBW6UZoiQ%3D%3D&amp;amp;url_encoded_fmt_stream_map=url%3Dhttp%253A%252F%252Fo-o.preferred.ams03g05.v8.lscache6.c.youtube.com%252Fvideoplayback%253Fsparams%253Did%25252Cexpire%25252Cip%25252Cipbits%25252Citag%25252Csource%25252Cratebypass%25252Ccp%2526fexp%253D905261%2526itag%253D45%2526ip%253D195.0.0.0%2526signature%253DB81C5ACE5F49CEB23A15CA099728FBDC05944145.B9B7B546DAFF41CDC334FB452ABA03A7EF648606%2526sver%253D3%2526ratebypass%253Dyes%2526source%253Dyoutube%2526expire%253D1322492400%2526key%253Dyt1%2526ipbits%253D8%2526cp%253DU0hRR1RUUF9FSkNOMV9MTlRFOnQzcGJkS1N5SVhr%2526id%253Dee1162bdb80812a9%26quality%3Dhd720%26fallback_host%3Dtc.v8.cache6.c.youtube.com%26type%3Dvideo%252Fwebm%253B%2Bcodecs%253D%2522vp8.0%252C%2Bvorbis%2522%26itag%3D45%2Curl%3Dhttp%253A%252F%252Fo-o.preferred.ams03g05.v22.lscache6.c.youtube.com%252Fvideoplayback%253Fsparams%253Did%25252Cexpire%25252Cip%25252Cipbits%25252Citag%25252Csource%25252Cratebypass%25252Ccp%2526fexp%253D905261%2526itag%253D22%2526ip%253D195.0.0.0%2526signature%253D4977D6B22451706889A9D56A888E1D8384A26513.8948B49C16898D545486E0206DE0BB35A737553C%2526sver%253D3%2526ratebypass%253Dyes%2526source%253Dyoutube%2526expire%253D1322492400%2526key%253Dyt1%2526ipbits%253D8%2526cp%253DU0hRR1RUUF9FSkNOMV9MTlRFOnQzcGJkS1N5SVhr%2526id%253Dee1162bdb80812a9%26quality%3Dhd720%26fallback_host%3Dtc.v22.cache6.c.youtube.com%26type%3Dvideo%252Fmp4%253B%2Bcodecs%253D%2522avc1.64001F%252C%2Bmp4a.40.2%2522%26itag%3D22%2Curl%3Dhttp%253A%252F%252Fo-o.preferred.ams03g05.v16.lscache5.c.youtube.com%252Fvideoplayback%253Fsparams%253Did%25252Cexpire%25252Cip%25252Cipbits%25252Citag%25252Csource%25252Cratebypass%25252Ccp%2526fexp%253D905261%2526itag%253D44%2526ip%253D195.0.0.0%2526signature%253D971CCEA1706D20B9F96D2785D0D5DDF803D3FDB1.0CD9CEC0BA257534B85F7FEA1F2A0BC92584F4A5%2526sver%253D3%2526ratebypass%253Dyes%2526source%253Dyoutube%2526expire%253D1322492400%2526key%253Dyt1%2526ipbits%253D8%2526cp%253DU0hRR1RUUF9FSkNOMV9MTlRFOnQzcGJkS1N5SVhr%2526id%253Dee1162bdb80812a9%26quality%3Dlarge%26fallback_host%3Dtc.v16.cache5.c.youtube.com%26type%3Dvideo%252Fwebm%253B%2Bcodecs%253D%2522vp8.0%252C%2Bvorbis%2522%26itag%3D44%2Curl%3Dhttp%253A%252F%252Fo-o.preferred.ams03g05.v24.lscache5.c.youtube.com%252Fvideoplayback%253Fsparams%253Did%25252Cexpire%25252Cip%25252Cipbits%25252Citag%25252Csource%25252Calgorithm%25252Cburst%25252Cfactor%25252Ccp%2526fexp%253D905261%2526algorithm%253Dthrottle-factor%2526itag%253D35%2526ip%253D195.0.0.0%2526burst%253D40%2526sver%253D3%2526signature%253D2220DCD7E1653EE23CFBE0B45ED395659CFCF4B2.BE30EEB80A11ABF2DF4F4BA2587FDB8D9E82E8ED%2526source%253Dyoutube%2526expire%253D1322492400%2526key%253Dyt1%2526ipbits%253D8%2526factor%253D1.25%2526cp%253DU0hRR1RUUF9FSkNOMV9MTlRFOnQzcGJkS1N5SVhr%2526id%253Dee1162bdb80812a9%26quality%3Dlarge%26fallback_host%3Dtc.v24.cache5.c.youtube.com%26type%3Dvideo%252Fx-flv%26itag%3D35%2Curl%3Dhttp%253A%252F%252Fo-o.preferred.ams03g05.v16.lscache1.c.youtube.com%252Fvideoplayback%253Fsparams%253Did%25252Cexpire%25252Cip%25252Cipbits%25252Citag%25252Csource%25252Cratebypass%25252Ccp%2526fexp%253D905261%2526itag%253D43%2526ip%253D195.0.0.0%2526signature%253DB671A1434B5C7176FF18C9FCA914899E49655F61.14C047D6352E5EC5D1D8D1CB24CA067341E2EAD6%2526sver%253D3%2526ratebypass%253Dyes%2526source%253Dyoutube%2526expire%253D1322492400%2526key%253Dyt1%2526ipbits%253D8%2526cp%253DU0hRR1RUUF9FSkNOMV9MTlRFOnQzcGJkS1N5SVhr%2526id%253Dee1162bdb80812a9%26quality%3Dmedium%26fallback_host%3Dtc.v16.cache1.c.youtube.com%26type%3Dvideo%252Fwebm%253B%2Bcodecs%253D%2522vp8.0%252C%2Bvorbis%2522%26itag%3D43%2Curl%3Dhttp%253A%252F%252Fo-o.preferred.ams03g05.v14.lscache7.c.youtube.com%252Fvideoplayback%253Fsparams%253Did%25252Cexpire%25252Cip%25252Cipbits%25252Citag%25252Csource%25252Calgorithm%25252Cburst%25252Cfactor%25252Ccp%2526fexp%253D905261%2526algorithm%253Dthrottle-factor%2526itag%253D34%2526ip%253D195.0.0.0%2526burst%253D40%2526sver%253D3%2526signature%253D4748B170D6C2A635F688C50F0D550CECD506D686.29A0AF0E8AC19CAB468E5F1647B63880A6A4948B%2526source%253Dyoutube%2526expire%253D1322492400%2526key%253Dyt1%2526ipbits%253D8%2526factor%253D1.25%2526cp%253DU0hRR1RUUF9FSkNOMV9MTlRFOnQzcGJkS1N5SVhr%2526id%253Dee1162bdb80812a9%26quality%3Dmedium%26fallback_host%3Dtc.v14.cache7.c.youtube.com%26type%3Dvideo%252Fx-flv%26itag%3D34%2Curl%3Dhttp%253A%252F%252Fo-o.preferred.ams03g05.v9.lscache1.c.youtube.com%252Fvideoplayback%253Fsparams%253Did%25252Cexpire%25252Cip%25252Cipbits%25252Citag%25252Csource%25252Cratebypass%25252Ccp%2526fexp%253D905261%2526itag%253D18%2526ip%253D195.0.0.0%2526signature%253D7A1B3DAACEAC057A11DC1677A86454946FF44FAE.554FC85DCD4C9FE8BA042A6AD1D9E214439AA5E1%2526sver%253D3%2526ratebypass%253Dyes%2526source%253Dyoutube%2526expire%253D1322492400%2526key%253Dyt1%2526ipbits%253D8%2526cp%253DU0hRR1RUUF9FSkNOMV9MTlRFOnQzcGJkS1N5SVhr%2526id%253Dee1162bdb80812a9%26quality%3Dmedium%26fallback_host%3Dtc.v9.cache1.c.youtube.com%26type%3Dvideo%252Fmp4%253B%2Bcodecs%253D%2522avc1.42001E%252C%2Bmp4a.40.2%2522%26itag%3D18%2Curl%3Dhttp%253A%252F%252Fo-o.preferred.ams03g05.v13.lscache1.c.youtube.com%252Fvideoplayback%253Fsparams%253Did%25252Cexpire%25252Cip%25252Cipbits%25252Citag%25252Csource%25252Calgorithm%25252Cburst%25252Cfactor%25252Ccp%2526fexp%253D905261%2526algorithm%253Dthrottle-factor%2526itag%253D5%2526ip%253D195.0.0.0%2526burst%253D40%2526sver%253D3%2526signature%253D2F570EF8D5627209AD6CB56F4922543B53A7E2AD.45496329A68426009AD01DAF9EDCCD9252177F34%2526source%253Dyoutube%2526expire%253D1322492400%2526key%253Dyt1%2526ipbits%253D8%2526factor%253D1.25%2526cp%253DU0hRR1RUUF9FSkNOMV9MTlRFOnQzcGJkS1N5SVhr%2526id%253Dee1162bdb80812a9%26quality%3Dsmall%26fallback_host%3Dtc.v13.cache1.c.youtube.com%26type%3Dvideo%252Fx-flv%26itag%3D5&amp;amp;watermark=%2Chttp%3A%2F%2Fs.ytimg.com%2Fyt%2Fimg%2Fwatermark%2Fyoutube_watermark-vflHX6b6E.png%2Chttp%3A%2F%2Fs.ytimg.com%2Fyt%2Fimg%2Fwatermark%2Fyoutube_hd_watermark-vflAzLcD6.png&amp;amp;sourceid=ys&amp;amp;timestamp=1322467805&amp;amp;oid=EnTCoLb2Eqs&amp;amp;watch_ajax_token=eNKMV7PDb6qoP3gMN1ohSm4ASkR8MTMyMjU1NDIwNUAxMzIyNDY3ODA1&amp;amp;showpopout=1&amp;amp;hl=ru_RU&amp;amp;fmt_list=45%2F1280x720%2F99%2F0%2F0%2C22%2F1280x720%2F9%2F0%2F115%2C44%2F854x480%2F99%2F0%2F0%2C35%2F854x480%2F9%2F0%2F115%2C43%2F640x360%2F99%2F0%2F0%2C34%2F640x360%2F9%2F0%2F115%2C18%2F640x360%2F9%2F0%2F115%2C5%2F320x240%2F7%2F0%2F0&amp;amp;endscreen_module=http%3A%2F%2Fs.ytimg.com%2Fyt%2Fswfbin%2Fendscreen-vfllSpQVQ.swf&amp;amp;supersizefeatured=1&amp;amp;referrer=http%3A%2F%2Fwww.youtube.com%2Fresults%3Fsearch_query%3D%25D1%2584%25D0%25B8%25D0%25BB%25D1%258C%25D0%25BC%2B%25D0%25BF%25D1%2580%25D0%25BE%2B%25D0%25B7%25D0%25B5%25D0%25BC%25D0%25BB%25D1%258E%26oq%3D%25D1%2584%25D0%25B8%25D0%25BB%25D1%258C%25D0%25BC%2B%25D0%25BF%25D1%2580%25D0%25BE%2B%25D0%25B7%25D0%25B5%25D0%25BC%25D0%25BB%25D1%258E%26aq%3Df%26aqi%3Dg-L1%26aql%3D%26gs_sm%3De%26gs_upl%3D20996l22951l0l23143l15l13l0l3l3l0l250l1763l0.8.2l10l0&amp;amp;logwatch=1&amp;amp;sendtmp=1&amp;amp;q=%D1%84%D0%B8%D0%BB%D1%8C%D0%BC+%D0%BF%D1%80%D0%BE+%D0%B7%D0%B5%D0%BC%D0%BB%D1%8E&amp;amp;t=vjVQa1PpcFPeZv4LC2014jPD0XGkXErSN-AnkT7tfWw%3D&amp;amp;keywords=%D0%B4%D0%BE%D0%BC%2C%D1%8F%D0%BD+%D0%B0%D1%80%D1%82%D1%83%D1%81-%D0%B1%D0%B5%D1%80%D1%82%D1%80%D0%B0%D0%BD%2C%D0%BB%D1%8E%D0%BA+%D0%B1%D0%B5%D1%81%D1%81%D0%BE%D0%BD%2Ceuropacorp%2C%D1%84%D1%80%D0%B0%D0%BD%D1%81%D0%BE%D0%B0-%D0%B0%D0%BD%D1%80%D0%B8+%D0%BF%D0%B8%D0%BD%D0%BE%D1%82%2Cppr%2C%D0%BF%D0%BB%D0%B0%D0%BD%D0%B5%D1%82%D0%B0+%D0%B7%D0%B5%D0%BC%D0%BB%D1%8F%2C%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5+%D0%BA%D0%BB%D0%B8%D0%BC%D0%B0%D1%82%D0%B0%2C%D0%B7%D0%B0%D0%B3%D1%80%D1%8F%D0%B7%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%2C%D0%B3%D0%BB%D0%BE%D0%B1%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5+%D0%BF%D0%BE%D1%82%D0%B5%D0%BF%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5&amp;amp;video_id=7hFivbgIEqk&amp;amp;p_w=tvsbJWpv2uM" id="movie_player" src="http://s.ytimg.com/yt/swfbin/watch_as3-vflg0Q-LP.swf" type="application/x-shockwave-flash"&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Но надежда есть &lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;iframe width="420" height="315" src="http://www.youtube.com/embed/U0nlrJ5VZ_o" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;После этого фильма мне захотелось посадить дерево. Пойду поищу волонтерские организации...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-1065245103454226819?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/1065245103454226819/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2011/11/blog-post_28.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/1065245103454226819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/1065245103454226819'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2011/11/blog-post_28.html' title='Think about: Задуматься о том, что делаем с нашим домом - Землей'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/tvsbJWpv2uM/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-8132394236894474947</id><published>2011-11-27T22:59:00.003+02:00</published><updated>2012-01-02T01:21:10.560+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ppt'/><category scheme='http://www.blogger.com/atom/ns#' term='Mock'/><category scheme='http://www.blogger.com/atom/ns#' term='EasyMock'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='Mockito'/><title type='text'>Java for fun: Как работать с Mockito?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Не так давно, на &lt;a href="http://www.scrumguides.com/2011/06/tdd-net-in-action-2-net-3-4.html"&gt;двухдневном тренинге по TDD&lt;/a&gt; я решил поизучать новый mock-framework. Путем гугления выбрал самую популярную. 4 часа я вкуривал &lt;a href="http://mockito.googlecode.com/svn/branches/1.8.5/javadoc/org/mockito/Mockito.html"&gt;доку по Mockito v1.8.5&lt;/a&gt;. Читал и писал тесты, чтобы опробовать либу на деле.&lt;br /&gt;&lt;br /&gt;В доке все супер понятно написано, но знание, которое не опробовано на практике скоро теряется. Так родился &lt;a href="http://dl.dropbox.com/u/11842832/Blog/Mockito/MockitoTest.rar"&gt;этот проектик&lt;/a&gt; с несколькими десятками тестов, проверяющих почти все возможности библиотеки.&lt;br /&gt;&lt;br /&gt;Еще пол дня и я могу представить презенташку основанную на этих простых тестах&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;iframe frameborder="0" src="http://bit.ly/v3h34n" style="height: 480px; width: 640px;"&gt;&lt;/iframe&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Пользуйся на здоровье. Надеюсь мой день не прошел даром и ты получишь ответы на вопросы:&lt;br /&gt;- Как работать с Mockito?&lt;br /&gt;- В чем фишка Mockito?&lt;br /&gt;- Что лучше: Mockito или другой mock-framework? &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-8132394236894474947?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/8132394236894474947/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2011/11/mockito.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/8132394236894474947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/8132394236894474947'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2011/11/mockito.html' title='Java for fun: Как работать с Mockito?'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-7863616995909086384</id><published>2011-11-24T11:19:00.002+02:00</published><updated>2011-11-24T11:47:36.009+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='atdd'/><category scheme='http://www.blogger.com/atom/ns#' term='воркшоп'/><category scheme='http://www.blogger.com/atom/ns#' term='junit'/><title type='text'>29 Ноября. Воркшоп: разработка через приемочные тесты с помощью JUnit</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-size: small;"&gt;&lt;b style="color: purple;"&gt;29 ноября с 18:00-20:00&lt;/b&gt; в офисе &lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b style="color: purple;"&gt;GlobalLogic &lt;/b&gt;пройдет интересный &lt;b style="color: purple;"&gt;воркшоп по легковесным &lt;/b&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b style="color: purple;"&gt;ATDD-практикам&lt;/b&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-LvY6cIeKiR4/Ts4MWw82lGI/AAAAAAACeYY/TLKPOf_Rvwk/s1600/workshop1%255B1%255D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-LvY6cIeKiR4/Ts4MWw82lGI/AAAAAAACeYY/TLKPOf_Rvwk/s320/workshop1%255B1%255D.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Воркшоп &lt;b style="color: purple;"&gt;бесплатный&lt;/b&gt;&lt;span style="color: purple;"&gt;, &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b style="color: purple;"&gt;регистрация&lt;/b&gt; обязательна - &lt;a href="http://bit.ly/vTPFg3"&gt;http://bit.ly/vTPFg3&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Здесь вы научитесь эффективным приемам, которые сможете успешно использовать в своей работе.&lt;/span&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Все &lt;b style="color: purple;"&gt;два часа&lt;/b&gt; воркшопа - только &lt;b style="color: purple;"&gt;практическая работа&lt;/b&gt;! Мы научимся определять ключевые тесты с помощью техники "Специфицирования примером" и быстро реализовывать их в виде тестов до написания кода или же параллельно. В режиме Coding Dojo мы сможем все активно поучаствовать в этом действе.&lt;/span&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Воркшоп предназначен &lt;b style="color: purple;"&gt;только для java-разработчиков&lt;/b&gt;, которые смогут во время практического занятия активно подключиться к написанию кода.&lt;/span&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Воркшоп проведем вместе с &lt;b style="color: purple;"&gt;Александром Якимой&lt;/b&gt; (&lt;a href="http://www.enter-agile.com/"&gt;www.enter-agile.com&lt;/a&gt;, &lt;a href="http://www.yakyma.com/"&gt;www.yakyma.com&lt;/a&gt;) - независимый консультант по гибким методам разработки, работающий с командами в США и Индии по широкому кругу вопросов от масштабирования Agile-методов до внедрения гибких инженерных практик.&lt;b style="color: purple;"&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b style="color: purple;"&gt;Как добраться&lt;/b&gt; до офиса GlobalLogic?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;г. Киев, ул. Н. Гринченка, 2/1. Офис компании «GlobalLogic», GL-Club.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-zoW7SjPteuw/Ts4SqXoX9eI/AAAAAAACeYg/vw__iTxvzRk/s1600/%25D0%25BA%25D0%25B0%25D1%2580%25D1%2582%25D0%25B0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="329" src="http://2.bp.blogspot.com/-zoW7SjPteuw/Ts4SqXoX9eI/AAAAAAACeYg/vw__iTxvzRk/s640/%25D0%25BA%25D0%25B0%25D1%2580%25D1%2582%25D0%25B0.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;До встречи!&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-7863616995909086384?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/7863616995909086384/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2011/11/29-junit.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/7863616995909086384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/7863616995909086384'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2011/11/29-junit.html' title='29 Ноября. Воркшоп: разработка через приемочные тесты с помощью JUnit'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-LvY6cIeKiR4/Ts4MWw82lGI/AAAAAAACeYY/TLKPOf_Rvwk/s72-c/workshop1%255B1%255D.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-9120438770079591893</id><published>2011-11-20T21:28:00.002+02:00</published><updated>2012-01-02T01:21:29.065+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='видео'/><category scheme='http://www.blogger.com/atom/ns#' term='одиночество'/><category scheme='http://www.blogger.com/atom/ns#' term='цитата'/><category scheme='http://www.blogger.com/atom/ns#' term='любовь'/><title type='text'>Мотивация: Кто-то, о чьем существовании Вы даже не подозреваете, любит Вас</title><content type='html'>&lt;blockquote&gt;&lt;i&gt;…А знаете ли Вы, что каждую ночь кто-то думает о Вас перед тем, как заснуть. &lt;br /&gt;&lt;br /&gt;Для кого-то Вы означаете весь мир. &lt;br /&gt;&lt;br /&gt;Вы особенны и уникальны. &lt;br /&gt;&lt;br /&gt;Кто-то, о чьем существовании Вы даже не подозреваете, любит Вас. &lt;br /&gt;&lt;br /&gt;После того, как Вы совершаете самую большую ошибку, следует что-то хорошее. &lt;br /&gt;&lt;br /&gt;Когда Вам кажется, что весь мир отвернулся от Вас, посмотрите, на самом деле Вы отвернулись от него. &lt;br /&gt;&lt;br /&gt;Когда Вам кажется, что у Вас нет шансов получить то, чего Вам хочется, возможно, Вы этого не достигнете, но, если Вы верите в свои силы, рано или поздно, Вы достигнете этого. &lt;br /&gt;&lt;br /&gt;Всегда запоминайте комплименты, которые были сказаны о Вас. Но всегда забывайте грубости. &lt;br /&gt;&lt;br /&gt;Всегда говорите людям, как Вы относитесь к ним. Вам будет лучше, если они будут знать о Вашем отношении. &lt;br /&gt;&lt;br /&gt;Если у Вас есть замечательный друг, найдите время сообщить ему о том, какой он хороший. &lt;/i&gt; &lt;b&gt;Пауло Коэльо&lt;/b&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;center&gt;&lt;iframe width="420" height="315" src="http://www.youtube.com/embed/GHgOCiBR9Ec" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-9120438770079591893?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/9120438770079591893/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2011/11/blog-post_6279.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/9120438770079591893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/9120438770079591893'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2011/11/blog-post_6279.html' title='Мотивация: Кто-то, о чьем существовании Вы даже не подозреваете, любит Вас'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/GHgOCiBR9Ec/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-8895606911221012954</id><published>2011-11-20T20:52:00.002+02:00</published><updated>2012-01-02T01:13:41.836+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ppt'/><category scheme='http://www.blogger.com/atom/ns#' term='refactoring'/><category scheme='http://www.blogger.com/atom/ns#' term='mind map'/><title type='text'>Рефакторинг: Что такое рефакторинг?</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-gv9OjL3kkVc/TslMoFDoxtI/AAAAAAACeXY/F2D1nsPqSDk/s1600/refactoring%255B1%255D.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="320" width="275" src="http://4.bp.blogspot.com/-gv9OjL3kkVc/TslMoFDoxtI/AAAAAAACeXY/F2D1nsPqSDk/s320/refactoring%255B1%255D.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Хочу сделать презенташку  по Рефакторингу. Вот сел и набросал в mindmap'чик все что было в голове по этому поводу. Надеюсь кому-то пригодится. &lt;/div&gt;&lt;br /&gt;&lt;iframe width="800" height="600" src="http://www.mindomo.com/view.htm?m=8ab351c1ac7d4efbb3df630b5b7267f7" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317504408463627049-8895606911221012954?l=apofig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apofig.blogspot.com/feeds/8895606911221012954/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://apofig.blogspot.com/2011/11/blog-post_20.html#comment-form' title='Комментарии: 9'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/8895606911221012954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317504408463627049/posts/default/8895606911221012954'/><link rel='alternate' type='text/html' href='http://apofig.blogspot.com/2011/11/blog-post_20.html' title='Рефакторинг: Что такое рефакторинг?'/><author><name>СанЁк Баглай</name><uri>http://www.blogger.com/profile/17396129752484594405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_8HLbx5gQxLA/S4Cvupt6enI/AAAAAAACTCk/9OScHTv3xWA/S220/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%BA%D0%B0.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-gv9OjL3kkVc/TslMoFDoxtI/AAAAAAACeXY/F2D1nsPqSDk/s72-c/refactoring%255B1%255D.png' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317504408463627049.post-9025370339520955769</id><published>2011-11-20T13:39:00.004+02:00</published><updated>2011-11-21T16:48:01.284+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='советы'/><category scheme='http://www.blogger.com/atom/ns#' term='доклад'/><category scheme='http://www.blogger.com/atom/ns#' term='парное программирование'/><category scheme='http://www.blogger.com/atom/ns#' term='проф-fest'/><title type='text'>Проф fest 2011 - или объяснить школьнику кто такой программист</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-o4RBhfz8P7U/TsjrCeWnZTI/AAAAAAACeXM/uZxjpkKXY-A/s1600/f20101028131344-x_025bbbda%255B1%255D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="226" src="http://3.bp.blogspot.com/-o4RBhfz8P7U/TsjrCeWnZTI/AAAAAAACeXM/uZxjpkKXY-A/s320/f20101028131344-x_025bbbda%255B1%255D.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;В пошлом месяце в компании меня попросили выступить с докладом на &lt;a href="http://www.krok.edu.ua/index.php?option=com_content&amp;amp;view=article&amp;amp;id=1487&amp;amp;Itemid=874&amp;amp;lang=ua"&gt;ПРОФ fest 2011&lt;/a&gt;. Согласился, ибо ново. Сразу попросили заполнить &lt;a href="http://www.krok.edu.ua/index.php?option=com_content&amp;amp;view=article&amp;amp;id=1529&amp;amp;Itemid=882&amp;amp;lang=ua"&gt;анкетку о профессии&lt;/a&gt;. Легко (спасибо блогу - опыт текстгенерирования есть).&lt;br /&gt;&lt;br /&gt;&lt;a href="data:image/png;base64,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" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img alt="" border="0" src="data:image/png;base64,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
