среда, 17 июля 2013 г.

FastColoredTextBox — божественный RichTextBox для .NET

Блог переехал. Актуальная версия поста находится по адресу: http://aakinshin.net/ru/blog/dotnet/fastcoloredtextbox/.


Появилась у меня недавно задачка сделать в WPF-приложении красивый редактор форматированного текста с определённой логикой обработки. И решил я использовать для этой задачи стандартный RichTextBox. Увы, практика показала, что этот контрол ужасно медленный. Можно было, конечно, написать свою реализацию, но это занятие долгое, а функционал нужно было прикрутить побыстрее. Первая мысль была захостить стандартный RichTextBox из WinForms. Он работает достаточно быстро, но его функционала мне не хватило. И тогда я пустился в поиск сторонних контролов. Каким же счастливым я стал, когда наткнулся на FastColoredTextBox! Изучение контрола лучше всего начать со статьи на CodeProject. Увы, NuGet-пакет автор по каким-то причинам делать не хочет, но зато есть исходники на GitHub. Итак, небольшой обзор.

воскресенье, 14 июля 2013 г.

OverAPI.com — Collecting All Cheat Sheets

OverAPI.com — это замечательный ресурс, на котором собраны шпаргалки по самым разным языкам и технологиям. Я очень люблю разные Cheat Sheets: когда пишешь на большом количестве разных языков, то начинаешь забывать где и как называются нужные тебе функции. Конечно, есть google и документация, но с их помощью далеко не всегда можно найти нужную информацию. Намного приятнее, когда все наиболее распространённые шутки собраны в одном месте (особенно, если есть описание и ссылки на мануалы). В этом отношении OverAPI.com — отличный сайт, свёрстан на хорошем уровне, пользоваться удобно. Единственное, для многих технологий шпаргалки пока весьма скудные, но я надеюсь на развитие ресурса. К тому же, можно помочь проекту своими материалами через GitHub.

вторник, 9 июля 2013 г.

Баг поля ввода пароля Skype

Тестирование ПО — очень сложное занятие. А тестирование пользовательского интерфейса — одно из самых сложных в царстве тестирований. Всё дело в том, что количество пользовательских сценариев невообразимо большое, очень сложно предугадать всё то, что пользователь будет делать с вашей программкой. Иной раз в приложение закрадываются хитрые ошибки, которые долгое время никто не правит, т.к. никому не приходит в голову сделать именно эту последовательность действий.

Рассмотрим стартовую форму Skype, тот её участок, в котором предлагается ввести логин и пароль:

Сможете ли вы тут найти хоть сколько-нибудь неверное поведение?