отличная статья, спасибо. Полезно, но и в то же время просто как на пальцах
если у вас на проекте нормально построенный CI/CD и хорошо написанные тесты то подобный хотфикс релиз более чем рабочая схема
плюс не все проекты это кровавый ынтырпрайз, в стартапе такое более чем допустимо
Пофиксите очепяточку в
На щастя, у порівнянні з gatekeeper-ом Network Policies набагато простіші у використанні ys; Gatekeeper.
где `ys;` должно быть `ніж`
откуда ж такие ***наты лезут
Очень поверхностная статья, крайне мало что из неё понял.
Наверное только тот, кто с чем-то подобным работал, и поймёт что-то в статье.
Я как бекенд разработчик, который слышал что-то про OPA, и у меня она была в проекте, хотел зайти, прочитать и понять, что это за штука такая, зачем она, что в ней хорошего и почему её используют. Тут увидел только, что она очень крутая, универсальная и с ней будет только лучше, без реальных примеров и объяснений зачем оно надо
Очепятки, которые заметил
В блоке
Бібліотеки Ramda та Sanctuary
тут лишний раз используется слово специфікації
тому ця бібліотека не містить специфікації алгебраїчні специфікації даних
Под Прикладом 17
Вониу відповідають ...
Спасибо за статью, коротко и по делу
P.S. Думаю тут
Да и токен, который выдает IAP, содержит не полную инфу о юзере. К тому же он передается не в Authorisation хедере
вы имели в-виду Authorization а не Authorisation
по вашим ссылкам ответа на почему нужно использовать именно
ZeroValidation<[...Tuple]>
, а не просто
ZeroValidation<-Tuple>
я не нашел
мне частично помогли понять разницу вот эти комментарии к ответу на стековерфлоу и данный плейграунд
Спасибо за пояснение насчёт типа Test, этот момент меня лично запутал.
Мой вопрос скорее в том, в чем вообще смысл перегрузке в данном примере? Если мы фунцию можем реализовать например в таком виде:
function handler<Tuple extends number[]>(tuple: [...Tuple]): Stringify<Tuple> {
return tuple.map(elem => elem.toString()) as Stringify<Tuple>;
}
Как я понял в вашем примере, вы по сути «обманываете» тайпскрипт перегружая фунцию — зачем тут перегрузка я не пойму
PS: вот ссылка на плейграунд
Может кто объяснить почему в блоке
Виділення недозволених елементів
при объявлении сигнатуры
function handler(tuple: ZeroValidation<[...Tuple]>): FilterZero
параметр tuple имеет тип именно
ZeroValidation<[...Tuple]>
а не просто?
ZeroValidation<-Tuple> (минус перед Tuple, потому что разметка не даёт вставить по-другому)
Ведь по сути тип Tuple это уже является
extends number[]
зачем разворачивать массив из Tuple и опять заворачивать Tuple в массив? я не пойму
И да, я вижу что в моём предложенном варианте с
ZeroValidation<-Tuple> (минус перед Tuple, потому что разметка не даёт вставить по-другому)
при вызове
handler([0, 2, 3])
перестаёт ругаться на ноль как на невалидный элемент — интересно понять, что происходит под капотом и почему это так
В блоке про
Перезавантаження функцій з таблицями
как я понял вызов в конце
const result = handler([1, 2, 3])
не использует тип Test, объявленный выше как
type Test = Stringify<[1, 2, 3]> // [«1», «2», «3»]
так как по сути мы при вызое handler() можем туда передать массив из любых чисел, а не только, [1, 2, 3], получается нам в данном случае приходится делать костыли вокруг тайпскрипта, т.к. не получается описать конверсию в строке
return tuple.map(elem => elem.toString()) // ok
из string[] в [«1», «2», «3»]
Я так понимаю в блоке
Фільтрація за значенням
очепятка где
`${Obj[Prop]}` extends ’5′ |
я думаю вы хотели использовать ZeroOrFive вместо ’5′, то есть
`${Obj[Prop]}` extends ZeroOrFive |
на рисунке 22. Процесс полного рукопожатия в TLS 1.3 (Сервер отвечает своим сообщением «Server Hello»)
в ответе сервера в поле «Выбранный метод обмена ключами» смазалось значение
Плохой пример про Mock Object, в нём тест тестирует сам себя, а
class EmailService
вообще в данном примере не используется, а только усложняет понимание.
Пример с Fake Object я тоже не особо понял
В блоке про Auth0, в заголовке про Слабые стороны Auth0, указано Слабые стороны AWS Cognito
а зачем военному капелану личная ar-15? как я понял из текста статьи, она была куплена благодаря сбору, я знаю, что подобные винтовки очень жалуют пехотинцы в ближнем бою, я удивлён зачем она человеку (как я понимаю) не участвующего в стрелковых боях
то есть суть моего комментария это сомнительная необходимость виновки для человека, не участвующего в стрелковых боях, в то время как есть множество опытных стрелков, которым данная винтовка была бы намного более полезна, и уж тем более купленная на деньги со сборов