Два интересных обсуждения о Finalize/Dispose в C# на StackOverflow (http://stackoverflow.com/questions/898828/c-finalize-dispose-pattern/898867#898867) и Хабре (http://habrahabr.ru/blogs/net/122639/)
Злободневно с баша
XXX: Если бы компьютер был стройкой, то на просьбу посоветовать инструмент для забивания гвоздя большинство окружающих посоветовали бы использовать различные модели пизженых со склада микроскопов, поливая говном микроскопы других производителей, и только пара человек молча протянули бы молоток.
YYY: Причем из этих двух молотков, один был бы самодельной киянкой!
XXX: Точно. А еще кто-нибудь заявил бы, что все ламеры, а вместо гвоздя нужно использовать шуруп.
YYY: И предложил бы свой вариант самореза с правой резьбой под шестигранную отвертку с логотипом Sun…
XXX: А потом кто-нибудь прийдет и скажет, что посадил все на суперклей и вроде стоит.
YYY: А кто то будет причитать про то, что раньше вообще без гвоздей строили и стояло века…
Сравнительное тестирование производительности платформ .Net, Java и Mono
http://habrahabr.ru/blogs/development/120090/
RegexOptions
Есть файл с содержимым вида
<Book>
<Page number='1'><![CDATA[line1
line2
line3]]>
</Page>
<Page number='2'><![CDATA[line1]]>
</Page>
</Book>
Нужно распарсить содержимое через RegExpr. Вроде ничего сложного. Тест для класса PageParser должен срабатывать:
//PageParser
class PagePaerser
{
public static IList<Page> Parse(string xml)
{
IList<Page> pages = new List<Page>();
string pattern = "<Page number='(?<number>\\d*?)'><\\!\\[CDATA\\[(?<content>.*?)\\]\\]><\\/Page>";
var matches = Regex.Matches(xml, pattern, RegexOptions.IgnoreCase | RegexOptions.Multiline);
if (matches.Count>0)
{
foreach(Match match in matches)
{
pages.Add(new Page()
{
content = match.Groups["content"].Captures[0].Value,
number = int.Parse(match.Groups["number"].Captures[0].Value)
});
}
}
return pages;
}
}
[TestMethod]
public void ParseMethod_ListOfPages_Test()
{
var parsed_pages = PageParser.Parse(@"<Book>
<Page number='1'><![CDATA[line1
line2
line3]]>
</Page>
<Page number='2'><![CDATA[line1]]>
</Page>
</Book>
");
Assert.AreEqual(2, parsed_pages.Count);
}
Но тест не срабатывает. Дело в том, что в RegExpr для обработки multiline-строк, нужно вместо флага RegexOptions.Multiline устанавливать RegexOptions.Singleline, который меняет режим символа "." на улавливание совпадений со всеми символами, а не всех символов, кроме новой строки (\n)
Ярлыки
Копирайты
Блог о жизни вне кода
Постоянные читатели
Популярно
-
Продолжаю серию постов о своём первом андроид-приложении. Сегодня мысли о публикации приложения в разных маркетах.
-
Продолжаю серию заметок о разработке первого android-приложения. На этот раз речь о выборе стратегии монетизации приложения.
-
Два месяца прошло с момента публикации моего первого Android приложения на Play market, я перебралась на Самуи , а гугл по-тихоньку начал...
-
Продолжаю тему полевых заметок, начатую в предыдущем посте . В этот раз немного об инструментах и чуть-чуть о социальщине.
-
Разделяй и влавствуй - подход на все времена. Концепция модульного программирования не нова, и хорошо себя зарекомендовала. В мире разрабо...
-
Небольшая сравнительная характеристика двух embedded-бд. + SQLite мальнкий размер БД (пустая база весит несколько килобайт против нескольких...
-
Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. Приемы объектно-ориентированного проектирования. ( скачать ) В предлагаемой книге описываютс...
-
Понравился анекдот о колбасе и яйцах :) Жена посылает мужа-программиста в магазин: - Дорогой, купи, пожалуйста, палку колбасы, и если б...
-
Подключить jQuery UI Autocomplete к сайту на Bootstrap довольно просто, единственное - нужно немного допилить стили. Всем страждущим в пом...
-
Microsoft Enterprise Library – это набор блоков приложений многоразового использования, созданных как решения проблем, с...

