Сообщения

Заметка о PowerMock (+Mockito)

Статья SuppressUnwantedBehavior покрывает большинство основных вопросов (также советую статью про замену методов класса). Несколько моментов, которые я хотел бы подчеркнуть: PrepareForTest В эту аннотацию нужно вписать все классы, в которых используется PowerMock. @PrepareForTest(MyClass.class) SuppressStaticInitializationFor Эта аннотация поможет, когда нужно создать класс без статической инициализации. @SuppressStaticInitializationFor("path.to.class.ClassWithStaticParameter") class ClassWithStaticParameter() { private static final Log log = LogFactory.getLog(ClassWithStaticParameter.class); } Замена статичных методов replace(method(OldClass.class, "callOldMethod")).with(method(NewClass.class, "callNewMethod")); Указание сигнатуры метода Если есть несколько методов с одинаковым названием, то, например для подавления метода, нужно указывать сигнатуру. suppress(method(MyClass.class, "callMethod", String.class /*сигнатура*/)); Moc...

Еще одна статья о Latex

Изображение
В этой статья рассказывается о тех командах и фокусах, которые пригодились мне для написания диплома. Поскольку иногда удобнее изучать что-либо на примере, сразу привожу пример моего Ссылка на диплом (но только несущественную по смыслу часть). А так он выглядит после конвертации в pdf. Начнем с самого начала, хотя порядок может быть и другим. Доктор Who, Meglos Установка Скачиваем LaTeX . При установки разрешаем скачивать дополнительные файлы из интернета, т.к. в последующем при подключении разных модулей для форматирования текста, потребуется докачка файлов. Полезные ссылки Ссылка не небольшой справочник . При наборе формул может помочь редактор формул . Создание документа Набирать диплом в стандартной оболочке Miktex не очень удобно, т.к. у него есть маленькие проблемы с русским языком. Вместо этого я набирал диплом в Notepad++, в котором также есть поддержка синтаксиса LaTeX. Теперь определимся с иерархией файлов для документа. Я использовал следующую структуру: main...

Упрощение 3D модели

Изображение
Если необходимо провести упрощение 3D модели, в частности уменьшить количество узлов и поверхностей тела, то возможно пригодиться программа MeshLab . В данной программе присутствует множество различных фильтров, однако в них можно и запутаться (как это произошло со мной). Для моей цели необходимо было упростить модель примерно в 15000 узлов до 3000. Затем набор точек преобразовывался с помощью небольшой программы на Python из формата *.wrl в команды понятные ANSYS. К сожалению не все фильтры из MeshLab упрощают модель, и еще меньше фильтров позволяют не поломать топологию (из-за чего ANSYS не может построить объемную модель из поверхностей). Quadric Edge Collapse Decimation - один из фильтров, который позволяет упростить модель без нарушения топологии. Он находиться в Filters \ Remeshing, simplification and reconstruction \ Quadric Edge Collapse Decimation. Настройки фильтра показаны на рисунке ниже Для последовательного применения фильтра необходимо закрыть и снова открыть фил...

Шкала оценки

Существует множество шкал оценки чего-либо. Мне кажется, что самая лучшая - это шкала в 7 элементов. Попробую объяснить свою точку зрения. Самая большая из наиболее известных шкал - 100-бальная шкала. Согласитесь, если вас попросят сказать как вы оцениваете свое отношение, например к шоколаду, трудно будет сказать с точность до одного балла свое отношение. Скорее всего, оценка будет производиться по 10-бальной шкале, но с учетом, что 1 балл = 10 баллам. Поскольку мне сложно представить с чем ассоциировать каждый элемент для шкалы-10, то и другим людям это может быть проблематично, поэтому шкалу-10 можно отбросить. С другой стороны самая маленькая шкала "да|нет" часто не позволяет оценить свое отношение, особенно когда вы затрудняетесь ответить. В этом случае будет использоваться шкала "да|нет|не знаю". Еще одним важным моментом для шкал является наличие нейтрального элемента, таким образом шкала должна быть нечетной. Итак сократили количество шкал до 3, 5, 7, ...

Широкий Blogger

Изображение
Когда пишешь новый пост, по появляется довольно узкое окно ввода. Почему оно не расширяется мне не понятно, а так как я недавно начал писать большой пост - узкое окно просто не приемлемо для меня. В связи с этим я решил написать плагин для FF , что бы окно было шире. Прощу прощения за ошибки в коде/архитектуре плагина, т.к. это мой первый плагин, на данный момент в большей степени пробный экземпляр нежели готовый продукт. Результат же выглядит следующим образом Альбом: 29 июля 2011 г. Изменения размера формы происходит благодаря коду (overlay.js, подробности можно посмотреть в предыдущем посте о том как создавать плагины для FF): var gbepfw = { onLoad: function() { var appcontent = document.getElementById("appcontent"); if (appcontent) appcontent.addEventListener("DOMContentLoaded", gbepfw.onPageLoad, true); }, getFirstDivByClass: function(theClass,doc) { var allHTMLTags=doc.getElementsByTagName("div"); for (i=0; i Опис...

Минимализация плагина для FF

Прежде чем начать статью, хочу сослаться на "Как создать свой плагин для Firefox" - очень лаконичный пост для начинающих писателей плагинов для FF. Однако, хоть та статья и написана очень просто, я умудрился наступить на несколько граблей. Вот о них я и напишу, чтобы самому их помнить, да и другим помочь, если получиться. Итак, для того чтобы разобраться в чем-то новом лучше начинать с простого, но в большинстве случаев, на мой взгляд, даже мануалы типа Getting started имеют множество лишних элементов. Так и с Add-on Developer Hub из указанной выше статьи. Даже в самом простом плагине мы получаем аж 9 файлов (>100 cтрок кода) - согласитесь это никак не подходит для программы типа Hello world. Уменьшим количество кода как можно больше, но так, что бы мы могли вывести заветную мантру "Hello World!!!". Для этого оставим такую структуру файлов: ./chrome /content ff-overlay.xul overlay.js chrome.manifest install.rdf Уберем лишний код и оставим то...

Концепт набора времени для смартфонов

Изображение
Многие, наверно, знают как выглядит контрол для набора времени в htc sense На мой субъективный взляд htc sense позволяет быстрее выбирать время, чем стандартный контрол для android Но мне кажется можно сделать контрол, который позволит еще быстрее выбирать время (по крайней мере 'эффективнее, чем стандартный контрол). Поэтому представляю свой концепт набора времени. Концепт написан на html+js+css. исходный код можно взять здесь .