Набу ещё раз :)
От: adontz Грузия http://adontz.wordpress.com/
Дата: 05.11.06 13:54
Оценка: 63 (5)
Итак, появились кое-какие существенные изменения.

Проект переехал. Теперь исходники доступны по адресу http://nabu-library.googlecode.com/svn/
URL и в TortoiseSVN можно вбивать и в браузер. Там не только библиотека, но и несколько примеров её использования, утилиты и проч. Там же теперь живёт и RegExTracer
Автор: adontz
Дата: 05.05.06


Небольшое описание некоторых классов

Nabu.NumeralFormatter

Возвращает словесное представление числительного. Поддерживаются русский и английский (enUS, enGB) языки. Поддерживаются количественные и порядковые числительные. Для русского языка можно указать падеж и род.
Кроме очевидного метода NumeralNameFromValue, имеется так же вспомогательный NounFormFromNumeral возвращающий форму существительного употребляемого рядом с числительным. Основная задача — обеспечить корректность употребления единиц измерения. Стимулом для написания этого класса стало увиденное мной сообщение "вам осталось ждать 22 секунд."
Имеется демонстрационный проект Applications\Examples\NumeralFormatterExample

Nabu.CommandLine

Класс для разбора параметров коммандной строки. Идея немного навеяная boost:program_options. Особо описывать не буду, класс используется во утилитах библиотеки.

Nabu.Fusion*

Интероп для работы с GAC. В качестве примера использования — утилита Utilities\Nabu.GacCleanUp. Лично я её использую чтобы удалить из GAC все версии некоторой сборки, но её возможности гораздо шире.

Nabu.Collections.ListEx<T>

Простой контейнер, который в отличие от List<T> предоставляет доступ ко внутреннему массиву — хранилищу элементов (метод DangerousGetArray), а так же позволяет при конструировании устанавливать в качестве внутреннего массива уже существующий. Это позволяет значительно повысить эффективность многих операций ввода-вывода, не отказываясь от удобных контейнеров.

Nabu.Collections.BindingListEx<T>

Реализация IBindingList, наследующая все плюсы ListEx. Рассылает оповещения не только после, но и до операций. Изначально была написан ради всего одного события — OnBeforeRemove, но сейчас пользуюсь постоянно. В отличие от BindingList<T> умеет обменивать элементы местами. Это бывает удобно когда контейнер подключён к списочному элементу управления и присутствуют операции упорядочивания "Move Up"/"Move Down".
Присутсвует специализация BindingListExNoCreate<T> для типов без конструктора по умолчанию. В ней операция CreateNew возвращает default(T)
Присутсвует специализация BindingListExString для строк. В ней операция CreateNew возвращает string.Empty

Nabu.Collections.SieveCache<TKey, TValue>

Вытесняющий кеш. Хранит часто используемые элементы, выкидывая редко используемые. Может хранить как слабые, так и сильные ссылки.

Nabu.Data.Singleton<T>

Просто синглтон

Nabu.Data.Diff*, Nabu.Data.Patch*

Реализации алгоритмов Хиршберга и Мейерса для поиска различий в массивах однотипных объектов. Есть специализации для byte[] и string[]. PatchOperationListBinary может записывать и считывать файлы формата GNU Generic Diff. Есть демонстрационное приложение Applications\Examples\DiffMyersExample. Сомневающимся заранее отвечаю на больших текстах тормозщит не алгоритм, а подсветка в RichEditView.

Nabu.Threading.ReverseSemaphore

Объект переходящий в сингальное состояние когда счётчик равен нулю. Может использоватся, например, для ожидания завершения работы всех рабочих потоков.

Nabu.Drawing.ColorSpaceConverter

Класс для арифметического (без ICM!) преобразования между HSL, HSV, RGB, YUV.

Nabu.Forms.ColorPickerBox

ComboBox'образный элемент управления для выбора цвета из предопределённых палитр (VGA, Crayole, Apple IIe, MOS, X11/Web) или произвольного.

Nabu.Forms.MarkCollection

Простой компонент хранящий именованные строковые значения. Сценарий использования простой — он кидается на форму и заполняется невидимыми строками (например заголовок кнопки, который надо показать только в определённом состоянии). Основная цель — упрощение локализации.

Nabu.Forms.PictureMapBox

Элемент управления для выбора точки или линии на рисунке. В элементе управления Nabu.Forms.ColorPickerBox на вкладке Custom таких два.

Nabu.Forms.ProgressDisk

Элемент управления круглой формы отображающий прогресс операции. Форма и цвет лепестков гибко настраиваются.

Nabu.Forms.RichTextView

RichEdit расширенный возмостью печати и доступом к Text Object Model. TOM позволяет управлять форматированием текста на порядки быстрее, чем через оконные сообщения.

Nabu.Forms.CrossThreadControlAccessor

Класс для удобного межпотокового доступа к элементам управления.

Nabu.Forms.ControlValidationProvider/ControlValidationVisualizerDefault

Компоненты для проверки корректности значений введённых в элементы управления и пометки ошибочности ввода.

Nabu.Forms.HtmlLayout.*

Экспериментальный интерфейс к HTMLayout.

Nabu.Logging.*

Развитая система журналирования. Поддерживается журналирование в базы данных Access и MS SQL, текстовые и XML файлы, консоль, EventLog и Debug Output. Конфигурация как программно, так и через конфигурационные файлы. Имеется демонстрационное приложение Applications\Examples\LoggingExample и пример конфигурационного файла AppConfigExample.xml с комментариями.

Утилиты

Nabu.DirectoryCleanUp — удаляет подпапки с заданным именем.
Nabu.GacCleanUp — очищает GAC от сборок. Для выбора сборок их полное имя сравнивается с регулярным выражением.
Nabu.SvnAssemblyVersion — Обновляет файлы AssemblyInfo.cs позволяя в некоторой степени сохранять сихронность ревизий SVN и версий сборок.

Лицензия

LGPL. По вопросам коммерческого использования — обращайтесь, я сговорчивый.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re: Набу ещё раз :)
От: Нахлобуч Великобритания https://hglabhq.com
Дата: 07.11.06 08:36
Оценка:
Здравствуйте, adontz, Вы писали:

A>Проект переехал. Теперь исходники доступны по адресу http://nabu-library.googlecode.com/svn/


С ключами (SNK которые) ты, ИМХО, опрометчиво как-то поступил. Думаешь, стоит и их выкладывать?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
HgLab: Mercurial Server and Repository Management for Windows
Re[2]: Набу ещё раз :)
От: adontz Грузия http://adontz.wordpress.com/
Дата: 07.11.06 12:04
Оценка:
Здравствуйте, Нахлобуч, Вы писали:

Н>С ключами (SNK которые) ты, ИМХО, опрометчиво как-то поступил. Думаешь, стоит и их выкладывать?


Те, кого такие вещи волнуют, могут сделать Custom Build (блгаго только файлы подменить).
А меня например в своё время очень раздражало, что я не могу BLTookit подключить к существующему проекту.

О проблеме знаю http://www.rsdn.ru/Forum/Message.aspx?mid=2044220&amp;only=1
Автор: IT
Дата: 05.08.06
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[3]: Набу ещё раз :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 07.11.06 13:10
Оценка:
Здравствуйте, adontz, Вы писали:

A>А меня например в своё время очень раздражало, что я не могу BLTookit подключить к существующему проекту.


Если тебе так хочется подписывать сборки, ты всегда можешь включить delay sign. Хотя лично у меня еще ни разу не было проблем из-за того, что какая то библиотека была не подписана, особенно если она распространяется в исходниках.
... << RSDN@Home 1.2.0 alpha rev. 642>>
AVK Blog
Re[4]: Набу ещё раз :)
От: adontz Грузия http://adontz.wordpress.com/
Дата: 07.11.06 13:16
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Если тебе так хочется подписывать сборки, ты всегда можешь включить delay sign. Хотя лично у меня еще ни разу не было проблем из-за того, что какая то библиотека была не подписана, особенно если она распространяется в исходниках.


Так delay-signed вроде как отлаживать нельзя, разве нет?
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[5]: Набу ещё раз :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 07.11.06 13:47
Оценка: +2
Здравствуйте, adontz, Вы писали:

A>Так delay-signed вроде как отлаживать нельзя, разве нет?


А зачем ее отлаживать? Лучший вариант — выпускать вобще без подписи. Кому надо, те в свойствах проекта свой snk пропишут.
... << RSDN@Home 1.2.0 alpha rev. 642>>
AVK Blog
Re[6]: Набу ещё раз :)
От: _FRED_ Черногория
Дата: 08.11.06 10:21
Оценка:
Здравствуйте, AndrewVK, Вы писали:

A>>Так delay-signed вроде как отлаживать нельзя, разве нет?


AVK>А зачем ее отлаживать? Лучший вариант — выпускать вобще без подписи. Кому надо, те в свойствах проекта свой snk пропишут.


Одна неприятность — файл проекта при развитии проекта может меняться и изменения надо будет переподписывать. Но проблема это совсем не очень большая. Вот когда проект включает в себя десяток сборок… Но и это прекрасно автоматизируется PreBuild-Step-ом.
... << RSDN@Home 1.2.0 alpha rev. 664>>
Now playing: «Тихо в лесу…»
Help will always be given at Hogwarts to those who ask for it.
Re[7]: Набу ещё раз :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 08.11.06 11:00
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>Одна неприятность — файл проекта при развитии проекта может меняться и изменения надо будет переподписывать.


Поэтому нормальные пацаны подписывают только результат ночных сборок, а не текущий проект на машине разработчика.
... << RSDN@Home 1.2.0 alpha rev. 642>>
AVK Blog
Re[8]: Набу ещё раз :)
От: _FRED_ Черногория
Дата: 08.11.06 11:11
Оценка:
Здравствуйте, AndrewVK, Вы писали:

_FR>>Одна неприятность — файл проекта при развитии проекта может меняться и изменения надо будет переподписывать.


AVK>Поэтому нормальные пацаны подписывают только результат ночных сборок, а не текущий проект на машине разработчика.


Верно, но как тогда отладить сборку, которую загрузчик (который внешнее приложение, исходнитков которого не имеется) не грузит без подписи?
... << RSDN@Home 1.2.0 alpha rev. 664>>
Now playing: «Тихо в лесу…»
Help will always be given at Hogwarts to those who ask for it.
Re[9]: Набу ещё раз :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 08.11.06 12:15
Оценка: :))
Здравствуйте, _FRED_, Вы писали:

_FR>Верно, но как тогда отладить сборку, которую загрузчик (который внешнее приложение, исходнитков которого не имеется) не грузит без подписи?


Пользоваться загрузчиком, который грузит без подписи .
... << RSDN@Home 1.2.0 alpha rev. 642>>
AVK Blog
Набу ещё раз :)
От: Аноним  
Дата: 28.03.08 05:00
Оценка:
Добрый день!
Интересует вопрос коммерческого использования. Каковы условия?
С уважением, Михаил.


Данное сообщение получено с сайта www.gotdotnet.ru
Re: Набу ещё раз :)
От: adontz Грузия http://adontz.wordpress.com/
Дата: 10.04.08 15:28
Оценка:
Здравствуйте, dimay13, Вы писали:

D>Добрый день!

D>Интересует вопрос коммерческого использования. Каковы условия?
D>С уважением, Михаил.

Решение каждый раз принимается индивидуально. Опишите проект, договоримся на максимально выгодных для вас условиях.

P.S. Подозреваю, что вы тот самый Михаил, который мне написал 28 марта 2008 года в 11:55 с ящика (спасите-адрес-собака-список-ру). Я вам ответил в тот же день, разбирайтесь почему письмо не дошло.
A journey of a thousand miles must begin with a single step © Lau Tsu
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.