Анализ логов Windows на Python

Анализ логов Windows на Python

Вчера возникла задача проанализировать лог Windows с расширением evtx для поиска определенной ошибки. Сразу подумал просто просмотреть глазами последовательно и найти нужные события. Однако файл оказался огромным (50 Мб) и задача перестала казаться такой уж простой. Так как я имел представление, что мне необходимо искать, то было решено написать небольшой скрипт на Python который сможет проанализировать все записи в файле и найти совпадение.

Read More

Проверка существования представления в .NET Core MVC

Проверка существования представления (view) порой бывает необходима при динамической загрузке, когда есть возможность, что представление не окажется на месте. По какой-то причине разработчики .NET Core не включили соотвествующий метод в расширения используемые с IHtmlHelper. Однако написать соотвествующий метод довольно просто. Его код представлен ниже.

Read More

Проверка правильности конфигурации в .NET

Команда разработчиков .NET Framework полностью избавила разработчиков приложений от создания своих велосипедов для проверки конфигурации. При создании своих ConfigurationSection достаточно просто воспользоваться одним из доступных валидаторов (IntegerValidator, LongValidator, RegexStringValidator, StringValidator, TimeSpanValidator). Уже из названий понятно, что каждый из валидаторов проверяет.

Read More

Держим пространства имен System первыми в списке usings в VS 2013

Переезжая с Visual Studio 2010 на новую Visual Studio 2013 я столкнулся с небольшой неприятностью. Дело в том, что команда "Sort Usings", которая сортирует все подключенные в файле namespace по алфавиту, в Visual Studio 2013 работает несколько иначе. 2010 студия по умолчанию считала, что пространства имен System должны идти первыми, а уже потом в алфавитном порядке все остальное. На такой же порядок у нас настроен StyleCop.

Read More

MsTest. Использование абстрактных классов и наследования в тестах

Мало кому нравится повторять один и тот же код даже если он используется при написании Unit-тестов. Не говоря уже о том, что это прямое нарушение принципа DRY (Don’t repeat yourself). Потому использование даже обычного наследования помогает значительно упростить работу.

Read More

Конвертер из Json в Microsoft ResX

Microsoft ResX Schema версии 2.0 используется для локализации универсальных приложений Windows. Формат достаточно простой и описан подробно в заголовке любого файла.

Read More

Управление VisualState в Prism

По работе с Prism при разработке универсальных приложений Windows написано не так много статей, как того хотелось бы. Бывает, что на совершенно обыденные, простые вещи, приходится писать свой "велосипед". Сейчас работая над "Моя посылка" я столкнулся с одной небольшой проблемой решить которую мне помогло только изучение исходных кодов библиотеки Prism.

Read More

Отключение оптимизации скриптов в SquishIt

В текущем проекте для оптимизации JavaScript и CSS была выбрана небольшая библиотечка SquishIt, которая вполне неплохо справлялась со своей обязанностью. Однако после очередных изменений JavaScript, приложение перестало находить локальную переменную. Оказывается SquishIt при сжатии библиотек также проверяет код на валидность, а именно вызываются ли методы и переменные. Не найдя код, который использовал локальные переменные, он их не включил в скрипт. С одной стороны, это хорошо, т.е. все лишнее что разработчик забыл убрать за него уберет библиотека оптимизации.

Read More