Pull to refresh
4
0
Send message

Честно говоря, слабо верится, что исследования для


болезни, которой болеет скажем 0.001% населения земли (около 100 тыс).

Вообще отдельно финансируются. Скорее лекарства для них являются побочным эффектом каких-то других исследований. А значит и затраты совсем не те, что анонсируются.
Либо эти исследования отдельно спонсируются заинтересованными лицами, так что в конечном итоге это то же самое.

Насчёт спортмастера у меня давно вопрос — ну вот зачем ходить туда чаще чем раз в три месяца (ведь такой срок у их бонусов)
Если только кто-то регулярно питается их спортивным питанием, гантели какие-нибьудь или одежда нужны реже. То есть, условно, 90% клиентов их их бонусной системы выпадают по определению

Ой не скажите. На стадионе да вчетвером… Только третий квейк до такой динамики дотянул

Раз у вас цель научиться powershell, подскажу что такая запись


param (
        [Parameter(Mandatory=$True)]
        [String]
        $AppId, $AppSecret, $TenantID
    )

Указывает что [string] и [parameter] относятся только к $AppId, а не ко всем параметрам. Мне кажется вы именно это имели ввиду, размещая три параметра на одной строке.
Потому что по смыслу они все строки и все обязательные

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

Огромный плюс Far в эпоху Windows10/WinSrv19, если на удалённом Windows добавить и настроить OpenSSH-Server, то можно установленным там Far ходить по машине без RDP через гейт под линуксом.
Машина при этом может быть в Core версии

Пайплайны прежде всего предназначены для потоковой обработки данных.


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


Это, конечно, не запрещено, но надо понимать разницу. А для начинающего эта разница может оказаться "фатальной"


Банальнейший пример:


>function addition([parameter(valuefrompipeline)]$v) { $v+1 }
>1,2,3 | addition

Написавший функцию будет ожидать ответ


2
3
4

но получит просто


4

Классическая "полная" функция с поддержкой пайплайнов — состоит из трёх функциональных блоков


function Do-Something([Parameter(ValueFromPipeline)]$param, $simpleParam) {
  BEGIN { # подготовка пайплайна к работе, инициализация }
  PROCESS { # собственно работа }
  END { # Финальная обработка, выдача суммарного результата, очистка }
}

Обычные параметры видны во всех трёх блоках, те что поддерживают пайплайн — обычно в PROCESS{}, он вызывается многократно, для каждого из значений на входе,
последнее из пайплайна видно также в END{}
Функции из статьи — это функции у которых есть только блок END {}
Они, конечно, получат своё значение из помеченного ValueFromPipeline параметра, но только последнее.
Поэтому чтобы получить ожидаемые 2.3.4 правильно было бы написать


>function addition([parameter(valuefrompipeline)]$v) { PROCESS{ $v+1 } }

В случае всего одного параметра на входе ничего не сломается, а при нескольких будет работать правильно


Вот пример использования всех блоков


>function Get-Summary([parameter(valuefrompipeline)]$v) {
 BEGIN{ $s = 0 }
 PROCESS{ $s+=$v; $v }
 END{ "Total: $s" }
 }
> 1,2,3 | Get-Summary
1
2
3
Total: 6

Ни в одной из ваших функций, которые используют
[parameter(ValueFromPipeline)]
нет блока PROCESS {}


Вы учите как НЕ надо писать коммандлеты....

Меня это тоже интересовало тогда и для себя я решил — это потому что мозг воспринимает три объекта как "с краю, в середине, с краю". А если частей больше — то это ему сложнее…
Особенно если объекты линейно расположены

В нынешних сберовских банкоматах очень раздражает говорящая барышня, которая громко сообщает всем окружающим что я собираюсь сделать и сколько снять.
Понятно, зачем это сделано, но нельзя ли где-то в самом начале её отключать кнопочкой?
А NFC, конечно, удобно

Я имел ввиду сочетание решения проблемы и "красивого" числа для перехода к новой системе счисления

Ну как бы не совсем.
Шесть дней — не десять, но аналогичное предложение гуляло в интернете в 1999 году.
Там дата была поудобнее для ввода, заодно проблема Y2K решалась.
А теперь ещё почти тыщу дет ждать для такого удобного момента :)

Это запросто :) там цен за последние пару месяцев взлетели процентов на 10-20. и Все варено-копчёные на один вкус

Ещё забавнее был квест у пользователей, когда эту кнопку "закрывали"

Через win32_profile или другими методами можно просто удалять профиль. Тогда он при первом входе пересоздастся. из дефолта можно брать все остальное. Не понадобится пересоздавать пользователя.
Плюс скрипт очистки раб. стола из шедулера, хоть по времени, хоть после каждого урока — например при каждом логине. Все будет проще.

судя по тому что, если сделать


        ус1: "{{"
        ус2: ""

и выдаёт "unexpected 'end of template"
то проверка на наличие "усов" и необходимость повторного прогона делается для каждого параметра отдельно, до подстановки, а не после на всю строку

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

Позвольте с этим не согласиться. Вот так работает. Но не уверен что стоит использовать.


- set_fact:
    var_{{ item.index }}: "{{ item.value }}"
  loop:
    - index: x1
      value: 'aaa'
    - index: x2
      value: 'bbb'
- debug: var=var_x1
- debug: var=var_x2

Может быть потому что факты — это переменные другого порядка :)


role/vars/ же используем для OS-dependent и для перевода человекочитаемых переменных в ansible-читаемые. типа предварительной фильтрации единого списка на два в зависимости от атрибута enabled/disabled


А вот зачем использовать vars: для отдельных тасков — это для меня совсем непонятно.

мне кажется проще всего в две записи:


^exception\.test1\.localdomain$ - Type A (не перенаправлять)
.*\.test1\.localdomain$ - Type FWD (перенаправлять)

первая отработает — вторая уже не будет.
под первую не попадёт — отфорвардит

Если б у них ещё regexp отрабатывался после обычной статики, а не до, было б совсем хорошо
ну очень сильно покоробило от регулярок
$Regex = [Regex]::new("of player ([^ ]+)")
    $Player = $Regex.Matches($_).value -replace "of player "
      
    if ($true -eq $Regex.Matches($_).Success) {
        #обратный вызов стартует тут
    }

в PS аж с версии 1.0 есть

if ($_ -match "of player ([^ ]+)") {
    $Player = $matches[1]
}

а иначе зачем вообще скобки?

и почему везде Import-Module вместо dotsource?

btw, помимо сказанного другими выше, складывать пути из имени игрока не очень хорошо. Мало ли, сделаю имя "../../ЧТО-НИБУДЬ_НЕХОРОШЕЕ"…

Information

Rating
Does not participate
Registered
Activity