Но UTF-8 покрывает значительно большее количество случаев и намного более удобен, чем подобные костыли с code pages.
А почему именно UTF-8?
Был опыт в попытке подружить вывод консоли TalendStudio с со сборочным агентом bamboo работающем под linux, вот только первый отправлял в stdout данные в кодировке UTF-16 а агент считывал их используя кодировку UTF-8. Так что использование unicode и не windows стека технологий в общем случае не спасет от возникновения проблем.
Ну и не надо забывать, что первоначально была задача решить проблему производства. :)
Как хорошо, что есть люди, которые верят в существование серебряной пули.
Если немного глубже погрузиться в изучение стандарта unicode то можно узнать, что он состоит из двух основных разделов: универсальный набор символов (universal character set) и семейство кодировок (unicode transformation format). Так как в статье озвучена проблема кодировок, то посмотрим, какой зоопарк нам предоставляет unicode, а это UTF-8, UTF-16, UTF-32 + модификации LE / BE, ну и экзотика типа UTF-7, UTF-9, UTF-18. Так что проблемы кодировок символов с приходом unicode никуда не делись.
Имхо, основная проблема не в температуре, а в возможном конденсате.
Покупал зимой духовку — через два дня отказалась включаться с сообщением об ошибке, которой даже нет в сервисной книжке. Вскрытие показало, что капля конденсата (доставка зимой в -30) с верхней крышки упала на плату управления, после чего получился такой красивый белесый след. Из-за него духовка self-test при включении и не проходила. Протер спиртом и все заработало.
Для запуска тестов взаимодействующих с БД, но без изменения структуры, можно использовать другой механизм — транзакции в DCOM. Он корректно работает с ADO, LINQ2SQL, Entity.
В NUnit наследовать все тесты с БД от класса:
namespace TestNamespace
{
using System.EnterpriseServices;
using NUnit.Framework;
[Transaction(TransactionOption.Required)]
public class RepositoryTestsBase : ServicedComponent
{
[TearDown]
public virtual void Teardown()
{
System.Data.SqlClient.SqlConnection.ClearAllPools();
if (ContextUtil.IsInTransaction)
{
ContextUtil.SetAbort();
}
}
}
}
Есть некоторые особенности использования, но они очень легко обходятся.
Я имел в виду, что при использовании низкого напряжения можно использовать малогабаритные выключатели либо, что на мой взгляд предпочтительнее, герконы.
>Управление местным освещением шкафа-купе
А не задумывались о небольшом изменении схемы включения?
Возможно что безопаснее будет на концевые выключатели подавать «безопасное» напряжение, а уже потом, через реле включать ленту.
Я конечно понимаю, что проекты бывают разные, и некоторые тесты могут работать довольно продолжительное время, но я придерживаюсь правила, что сборка из репозитария должна всегда работать и в команде сломанные билды не поощряем.
С другой стороны, по моему личному мнению, у тестов может быть два состояния: красный или зеленый. Или пришли все проверки внутри теста либо нет. Я считаю, что анализировать по текстовым сообщениям какая конкретно часть теста упала будет не удобно.
Если посмотреть на первый пример теста, в котором предположили, что будет удобно использовать предложенный вами алгоритм, то на мой взгляд его намного проще написать в виде параметизированного теста.
[TestCase(0, 0, 0)]
[TestCase(2, 0, 2)]
[TestCase(15, 1, 3)]
[TestCase(36, 3, 0)]
public void ConstructorSuccess(int ctorParam, int expectedFeet, int expectedRemainderInches)
{
var testBox = new Size(ctorParam);
Assert.That(testBox.Feet, Is.EqualTo(expectedFeet));
Assert.That(testBox.RemainderInches, Is.EqualTo(expectedRemainderInches));
}
>Традиционно считается, что система, в составе которой есть движущиеся части, является менее надежной, чем система без таких частей.
Что то мне подсказывает, что в принтере остается огромная механическая часть, которая намного чаще выходит из строя чем механизм позиционирования лазера. В конторе порядка 600 лазерных принтеров. За почти 15 лет не было обнаружено ни разу.
Небольшое дополнение по крепежу Молли(MOLLY, «зонтик»).
За последний месяц в Челябинске покупал около сотни этого крепежа размером 4/38 для крепления в гипсокартон 12 мм.
У каждого третьего при завинчивании болта срывалась резьба в гайке. Т.е. он не мог начать складывать зонтик.
>Я бы сначала проложил проводку + дырки под подрозетники
А как вы представляете себе штукатурить стены по маякам с уже продолбленными местами установок подрозетников? А если в итоге окажется, что в месте подрозетника толщина слоя штукатурки превышает 5 см? :)
Когда требуется провести уличный монтаж и при этом боле-менее аккуратно вместо ПВХ гофры лучше использовать ПВХ тонкостенные трубы, которые предназначены специально для прокладки кабеля. Для них выпускают всевозможные соединители, в том числе и кабельные сальники для герметичного ввода кабеля в распредкоробку.
А почему именно UTF-8?
Был опыт в попытке подружить вывод консоли TalendStudio с со сборочным агентом bamboo работающем под linux, вот только первый отправлял в stdout данные в кодировке UTF-16 а агент считывал их используя кодировку UTF-8. Так что использование unicode и не windows стека технологий в общем случае не спасет от возникновения проблем.
Ну и не надо забывать, что первоначально была задача решить проблему производства. :)
Если немного глубже погрузиться в изучение стандарта unicode то можно узнать, что он состоит из двух основных разделов: универсальный набор символов (universal character set) и семейство кодировок (unicode transformation format). Так как в статье озвучена проблема кодировок, то посмотрим, какой зоопарк нам предоставляет unicode, а это UTF-8, UTF-16, UTF-32 + модификации LE / BE, ну и экзотика типа UTF-7, UTF-9, UTF-18. Так что проблемы кодировок символов с приходом unicode никуда не делись.
chcp 1251
chcp 65001
А почему не учтена сложность на операцию увеличения размера списка (grow)? этом случае сложность становится O(N).
Предварительно необходимо разрешить передавать и получать CredSSP
И настроить к каким серверам возможен доступ либо через реестр либо через редактор групповых политик
Покупал зимой духовку — через два дня отказалась включаться с сообщением об ошибке, которой даже нет в сервисной книжке. Вскрытие показало, что капля конденсата (доставка зимой в -30) с верхней крышки упала на плату управления, после чего получился такой красивый белесый след. Из-за него духовка self-test при включении и не проходила. Протер спиртом и все заработало.
В NUnit наследовать все тесты с БД от класса:
Есть некоторые особенности использования, но они очень легко обходятся.
А не задумывались о небольшом изменении схемы включения?
Возможно что безопаснее будет на концевые выключатели подавать «безопасное» напряжение, а уже потом, через реле включать ленту.
С другой стороны, по моему личному мнению, у тестов может быть два состояния: красный или зеленый. Или пришли все проверки внутри теста либо нет. Я считаю, что анализировать по текстовым сообщениям какая конкретно часть теста упала будет не удобно.
Если посмотреть на первый пример теста, в котором предположили, что будет удобно использовать предложенный вами алгоритм, то на мой взгляд его намного проще написать в виде параметизированного теста.
В предлженом же варианте, насколько я понимаю, это не возможно.
Т.е. определять сломанный тест придется только по его наименованию.
Что то мне подсказывает, что в принтере остается огромная механическая часть, которая намного чаще выходит из строя чем механизм позиционирования лазера. В конторе порядка 600 лазерных принтеров. За почти 15 лет не было обнаружено ни разу.
За последний месяц в Челябинске покупал около сотни этого крепежа размером 4/38 для крепления в гипсокартон 12 мм.
У каждого третьего при завинчивании болта срывалась резьба в гайке. Т.е. он не мог начать складывать зонтик.
А как вы представляете себе штукатурить стены по маякам с уже продолбленными местами установок подрозетников? А если в итоге окажется, что в месте подрозетника толщина слоя штукатурки превышает 5 см? :)