• Самодельная подводная лодка с надводной wi-fi антенной
    0
    А если в качестве балластной емкости использовать не шприц а полимерный контейнер от физраствора и перистальтический насос?
  • Ускоряемся в Entity Framework Core
    0
    Не в случае кода автора.

    Про метод Do я и не спорю. Автор поспешил и, возможно, не очень хорошо разбирается в магии async/await

    А, главное, если моя задача в том, чтобы запросы выполнялись быстрее, как мне это поможет?

    Запрос, в общем случае выполнится медленнее, из за накладных расходов на работу с тасками.
    Но в зависимости от специфики приложения, приложение в целом может начать работать быстрее.
  • Ускоряемся в Entity Framework Core
    –1
    Так автор и не говорит, что он быстрее.
    Он говорит, что операция может быть выполнена асинхронно, и на время ожидания ответа от сервера поток будет освобожден для выполнения других задач.
  • «Мечта лентяя» или скриптовый движок на самом себе
    +1
    добавлять функции и объекты для доступа к объектам разрабатываемой системы

    Необходимо реализовать у объекта интерфейс IDispatch. В C# с использованием рефлексии реализация доступа к методам и свойствам будет элементарен.

    проводить синтаксический контроль исходного скрипта и генерировать сообщения о синтаксических ошибках

    А чем этот момент не устроил в ActiveScriptSite? В ошибке будет указан и номер строки и что за ошибка.

    выполнять скрипт в пошаговом режиме, подобно отладчику, с нотификацией точки исполнения и статусом.

    С этим вопросом тоже все очень просто.
    https://docs.microsoft.com/en-us/scripting/winscript/active-script-debugging-overview
  • Powershell и кирилица в консольных приложениях (updated)
    0
    А мне вот интересно, если бы в статье был описан более частный случай с несогласованностью кодировок UTF-16 в приложении, UTF-8 в «консоли» Вы бы тоже писали, что эта проблема вот уже 100 лет как решена в linux, а Microsoft только на бабки пользователей разводит? :)

    Ну и как я писал выше — путаете набор символов (char set) и кодировку (encoding).
  • Powershell и кирилица в консольных приложениях (updated)
    0
    Данные скрипты один из кирпичиков для Continuous Deployment, соответственно стояла задача сделать все логи в нормальной кодировке, чтобы при разборе проблем уметь сразу всю необходимую информацию.
  • Powershell и кирилица в консольных приложениях (updated)
    –1
    Так большая же часть программ написана вот таким образом:
    	static void Main(string[] args)
    	{
    		Console.WriteLine("c'est-à-dire хелло Βικιπαίδεια");
    	}
    
  • Powershell и кирилица в консольных приложениях (updated)
    –1
    Самая большая проблема данного решения — требует изменения кода устанавливаемого приложения. Это далеко не всегда возможно.
  • Powershell и кирилица в консольных приложениях (updated)
    0
    Но UTF-8 покрывает значительно большее количество случаев и намного более удобен, чем подобные костыли с code pages.

    А почему именно UTF-8?

    Был опыт в попытке подружить вывод консоли TalendStudio с со сборочным агентом bamboo работающем под linux, вот только первый отправлял в stdout данные в кодировке UTF-16 а агент считывал их используя кодировку UTF-8. Так что использование unicode и не windows стека технологий в общем случае не спасет от возникновения проблем.

    Ну и не надо забывать, что первоначально была задача решить проблему производства. :)
  • Powershell и кирилица в консольных приложениях (updated)
    –10
    Как хорошо, что есть люди, которые верят в существование серебряной пули.
    Если немного глубже погрузиться в изучение стандарта unicode то можно узнать, что он состоит из двух основных разделов: универсальный набор символов (universal character set) и семейство кодировок (unicode transformation format). Так как в статье озвучена проблема кодировок, то посмотрим, какой зоопарк нам предоставляет unicode, а это UTF-8, UTF-16, UTF-32 + модификации LE / BE, ну и экзотика типа UTF-7, UTF-9, UTF-18. Так что проблемы кодировок символов с приходом unicode никуда не делись.
  • Powershell и кирилица в консольных приложениях (updated)
    +2
    Не поможет.

    chcp 1251
    test-1.ps1
    $ErrorActionPreference = "Stop"
    chcp 1251
    & $PSScriptRoot\ConsoleApp1.exe
    


    Результат выполнения


    chcp 65001
    test-2.ps1
    $ErrorActionPreference = "Stop"
    chcp 65001
    & $PSScriptRoot\ConsoleApp1.exe
    


    Результат выполнения

  • Powershell и глубина стека
    0
    Честно говоря я не представляю, как без особо сильных заморочек, с использование MOF манифеста, заставить dsc сгенерировать исключительную ситуацию.
  • Структуры данных для самых маленьких
    0
    Добавление элемента в конец списка — константа O(1) — «ОХРЕНЕННО!!»


    А почему не учтена сложность на операцию увеличения размера списка (grow)? этом случае сложность становится O(N).
  • PowerShell Remoting — настройка и удаленное управление
    +2
    Возможно я не совсем правильно понял вопрос, но аутентификацию доменными пользователями делаю следующим образом:

    $securePassword = convertto-securestring $targetPassword -asplaintext -force
    $cred = New-Object System.Management.Automation.PsCredential($targetUsername, $securePassword)
    $session = new-PSsession $targetServer -authentication credssp -credential $cred

    Предварительно необходимо разрешить передавать и получать CredSSP

    #Server Side:
      Enable-PSRemoting -Force
      Enable-WSManCredSSP -Role server
    
    #Client Side:
      Enable-WSManCredSSP -Role client -DelegateComputer '$($this.server)'

    И настроить к каким серверам возможен доступ либо через реестр либо через редактор групповых политик

    HKLM:\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\CredentialsDelegation
    HKLM:\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowFreshCredentialsWhenNTLMOnly
    
  • PowerShell Remoting — настройка и удаленное управление
    +1
    В статье пропущен очень важный момент — передача параметров в скрипт на удаленной машине.

    $deployRemote = {
        param(
            [string]$targetEnvName,
            [string]$targetUsername)
        $Global:ErrorActionPreference = "Stop"
        # ...
    }
    
    Invoke-Command -Session $session -ScriptBlock $deployRemote -ArgumentList ($targetEnvName, $targetUsername)
  • Как создавать объекты в PowerShell
    0
    Если уж создавать объекты, то и методы надо добавлять:

    function ServicesDbUtils($connectionString)
    {
        $result = New-Object -Typename PSObject -Property `
        @{
            ConnectionString = $connectionString
        }
    
        Add-Member -InputObject $result -MemberType ScriptMethod -Name ConnectionOpen -Value `
        {
            $conn = New-Object System.Data.SqlClient.SQLConnection
            #....
            return $conn
        }
    
        Add-Member -InputObject $result -MemberType ScriptMethod -Name UpdateFormatParamSet -Value `
        {
            Param($name, $title, ...)
            $conn = $this.ConnectionOpen()
            #....
        }
    
        return $result
    }
    
    $ServiceDbUtils = ServicesDbUtils -connectionString "Server=PORT-EXT-DB02;Database=EecService;Integrated Security=True"
    $ServiceDbUtils.UpdateFormatParamSet('...', '...', ...)
  • Atlassian JIRA Service Desk: краткая информация и некоторые хитрости для удобства использования (с помощью sil-скриптов и sql)
    +1
    «Вашего сына зовут drop table?»
  • Холодильник против
    +1
    Имхо, основная проблема не в температуре, а в возможном конденсате.
    Покупал зимой духовку — через два дня отказалась включаться с сообщением об ошибке, которой даже нет в сервисной книжке. Вскрытие показало, что капля конденсата (доставка зимой в -30) с верхней крышки упала на плату управления, после чего получился такой красивый белесый след. Из-за него духовка self-test при включении и не проходила. Протер спиртом и все заработало.
  • Unit тесты на практике
    0
    Для запуска тестов взаимодействующих с БД, но без изменения структуры, можно использовать другой механизм — транзакции в 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();
    			}
    		}
    	}
    }
    


    Есть некоторые особенности использования, но они очень легко обходятся.
  • Светодиодная лента в качестве освещения комнаты
    0
    Я имел в виду, что при использовании низкого напряжения можно использовать малогабаритные выключатели либо, что на мой взгляд предпочтительнее, герконы.
  • Светодиодная лента в качестве освещения комнаты
    0
    >Управление местным освещением шкафа-купе
    А не задумывались о небольшом изменении схемы включения?
    Возможно что безопаснее будет на концевые выключатели подавать «безопасное» напряжение, а уже потом, через реле включать ленту.
  • Множественные Assertion’ы без прерываний в одном юнит-тесте на примере NUnit
    +2
    Я конечно понимаю, что проекты бывают разные, и некоторые тесты могут работать довольно продолжительное время, но я придерживаюсь правила, что сборка из репозитария должна всегда работать и в команде сломанные билды не поощряем.

    С другой стороны, по моему личному мнению, у тестов может быть два состояния: красный или зеленый. Или пришли все проверки внутри теста либо нет. Я считаю, что анализировать по текстовым сообщениям какая конкретно часть теста упала будет не удобно.

    Если посмотреть на первый пример теста, в котором предположили, что будет удобно использовать предложенный вами алгоритм, то на мой взгляд его намного проще написать в виде параметизированного теста.

    [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));
    }
    
  • Множественные Assertion’ы без прерываний в одном юнит-тесте на примере NUnit
    0
    Я имел в виду, что при возникновении исключительной ситуации можно в один клик перейти на строку кода, в которой данное исключение произошло.

    В предлженом же варианте, насколько я понимаю, это не возможно.
  • Множественные Assertion’ы без прерываний в одном юнит-тесте на примере NUnit
    0
    Еще один минус подобного решения — не видно в каким месте произошла ошибка.
    Т.е. определять сломанный тест придется только по его наименованию.
  • Чем светодиодная технология лучше лазерной? (и чем хуже)
    0
    >Традиционно считается, что система, в составе которой есть движущиеся части, является менее надежной, чем система без таких частей.

    Что то мне подсказывает, что в принтере остается огромная механическая часть, которая намного чаще выходит из строя чем механизм позиционирования лазера. В конторе порядка 600 лазерных принтеров. За почти 15 лет не было обнаружено ни разу.
  • Прекратите скручивать — 2. О способах крепления кабеля
    0
    Небольшое дополнение по крепежу Молли(MOLLY, «зонтик»).
    За последний месяц в Челябинске покупал около сотни этого крепежа размером 4/38 для крепления в гипсокартон 12 мм.
    У каждого третьего при завинчивании болта срывалась резьба в гайке. Т.е. он не мог начать складывать зонтик.
  • Прекратите скручивать — 2. О способах крепления кабеля
    0
    >Я бы сначала проложил проводку + дырки под подрозетники
    А как вы представляете себе штукатурить стены по маякам с уже продолбленными местами установок подрозетников? А если в итоге окажется, что в месте подрозетника толщина слоя штукатурки превышает 5 см? :)
  • Прекратите скручивать — 2. О способах крепления кабеля
    0
    Когда требуется провести уличный монтаж и при этом боле-менее аккуратно вместо ПВХ гофры лучше использовать ПВХ тонкостенные трубы, которые предназначены специально для прокладки кабеля. Для них выпускают всевозможные соединители, в том числе и кабельные сальники для герметичного ввода кабеля в распредкоробку.
  • Прекратите скручивать — 2. О способах крепления кабеля
    +3
    2 см как-то мало для провайдера… У нас порядка 5 см ставят. Вот только сверлят не перфоратором а алмазной коронкой.
  • Прекратите скручивать — 2. О способах крепления кабеля
    +6
    А еще хомут-стяжки бывают с ухом.
    При этом никаких площадок не требуется.
    image
  • Прекратите скручивать!
    0
    KBT WS-04
  • Прекратите скручивать!
    0
    Что-то мне подсказывает, что оксидную пленку срывает (сцарапывает) контактная пластина и прижимная пружина, а паста не позволяет ей образоваться опять.
  • Собираем компьютерный стеллаж
    +1
    А по поводу «у меня и вся посуда вместе столько не весит» у меня есть бабушка… Запасов ее посуды, которую она даже еще ниразу не использовала при очень регулярном бое хватит моим внукам. А она все прикупает и прикупает новую :-)
  • Собираем компьютерный стеллаж
    0
    Подвесные шкафы бывают разные.
    По этой причине и подвесы выпускают на различную нагрузку. Например пара подвесов «LIBRA H1» расчитаны на нагрузку 190 кг.

    А между собой связывают не для перераспределения нагрузки между подвесами, а для того чтобы все шкафы и, соответсвено фасады, стояли в одной плоскости.

    Ближайшая Икея от меня в 200 км поэтому предпочитаю делать мебель самостоятельно. :-)
    www.mastercity.ru/showthread.php?t=5531&p=2664261&viewfull=1#post2664261
  • Собираем компьютерный стеллаж
    +3
    А вы не боитесь вешать на стенку кухонный шкафчик, который вместе с посудой весит до 100 кг всего на пару шурупчиков? :-)

    Если серьезно — я бы порекомендовал автору, если он сам еще не сделал, дополнительно прикрепить боковые стенки шкафа в верхней точке к стене используя либо обычные стальные уголки либо специальные регулируемые подвесы, которые используются в кухонных шкафах.
  • Собираем компьютерный стеллаж
    +1
    Рекомендую обратить внимание на механизм открывания фасада вниз.
    mdm-complect.ru/catalogue/detail.php?BID=22&GID=1744&ID=99460
    В нем ограничена и регулируется скорость открывания.

    Учитывая, что в доме ребенок он очень скоро сможет открыть и два магнита…
  • Windows Sockets, IOCP и Delphi
    0
    В методе TIOCPSocketProto.Read:
    при формировании исключения sErrorRead_WSARecv сбрасывается блокировка, а при исключении sErrorRead_GetMem — остается в заблокированном состоянии.
  • Windows Sockets, IOCP и Delphi
    0
    1. RegisterWaitForSingleObject — работает с событиями (Event). В том числе с socketEvent'ами

    2. Под пулом я имел в виду в том числе WinApi функцию a href=«msdn.microsoft.com/en-us/library/windows/desktop/aa363484(v=vs.85).aspx»>BindIoCompletionCallback
  • Windows Sockets, IOCP и Delphi
    0
    Не обратил внимание, что автор самостоятельно реализует TreadPool вместо использования стандартного…
  • Windows Sockets, IOCP и Delphi
    +1
    Если используется ThreadPool то для чего были созданы целых три отдельных нитки для обработки событий?
    Насколько я понимаю, события можно обрабатывать при помощи RegisterWaitForSingleObject.