Кроме того, если значения отличны от ключей, то можно ещё определить следующий тип: type NumberValue = typeof numberNames[NumberName]; И вуаля — энумы не нужны!
Вы здесь пользуетесь тем, что этот конкретный энум содержит только строковые значения. Если бы среди значений были числовые, то Object.values перечислил бы значения как прямого отображения, так и обратного, а тайпскрипт бы ругнулся, что тип переменной numberNames не принимает строки, которые результат функции Object.values будет содержать. Подход же, предложенный автором статьи, годится как для строковых (или смешанных) энумов, так и для числовых.
В тайпскрипте (это же ветка про тайпскрипт?) единственный типовый предикат — это A extends B. Не знаю, какую функциональность имел в виду товарищ @vanxant, но что-то мне подсказывает, что "какой-то новый юз-кейс" такими простыми предикатами может и не описываться.
Насколько я понял посыл автора статьи, его опыт состоял в том, что их было больше, чем пальцев на двух руках.
Кроме того, опять же, у каждого свои привычки касательно смартфонов. Я сейчас пользуюсь телефоном 5-летней свежести, и поставить на него ещё одно очередное приложение — это нет-нет. И я не готов покупать новый телефон только потому, что где-то кто-то в своём дорогом офисе решил, что я стану к их компании лояльнее, если вместо токена в менеджере паролей у меня на телефоне будет очередная копия электрона.
Если же для кого-то поставить ещё одно очередное не составляет проблемы... Что ж, может, люди в дорогом офисе не зря получают свои зарплаты. Наверное.
Приведу пример. Я пользуюсь услугами одного банка, у которого вполне сносный онлайн-банкинг. Я не хочу ставить приложение этого банка, потому что онлайн-банкинг в браузере на десктопе меня более чем устраивает. Однако чтобы залогиниться в онлайн-банкинг, мне нужно пройти двухфакторную аутентификацию... при помощи собственного приложения этого банка!
Благо у банка есть отдельное приложение для аутентификации, которое собственно ничего другого не делает, благодаря чему весит не так много, как полноценное банковское приложение.
Но если бы вместо этого отдельного приложения я мог бы просто загрузить секретный ключ в KeePass / 1Password, это было бы ещё лучше.
В примере с ".then()" использование синтаксиса async/await совершенно излишне.
Кроме того, если значения отличны от ключей, то можно ещё определить следующий тип:
type NumberValue = typeof numberNames[NumberName];
И вуаля — энумы не нужны!
Вы здесь пользуетесь тем, что этот конкретный энум содержит только строковые значения. Если бы среди значений были числовые, то
Object.values
перечислил бы значения как прямого отображения, так и обратного, а тайпскрипт бы ругнулся, что тип переменнойnumberNames
не принимает строки, которые результат функцииObject.values
будет содержать. Подход же, предложенный автором статьи, годится как для строковых (или смешанных) энумов, так и для числовых.В тайпскрипте (это же ветка про тайпскрипт?) единственный типовый предикат — это
A extends B
. Не знаю, какую функциональность имел в виду товарищ @vanxant, но что-то мне подсказывает, что "какой-то новый юз-кейс" такими простыми предикатами может и не описываться.Умильно) Что называется, заставь дурака богу молиться — придётся все религии запретить, чтобы лбы не разбивали!
Разве это не просто опечатка? В левой части 0 вместо точки.
Игры с неполной информацией, наверное, совсем не то же самое, что игры с открытой информацией.
Ну они теперь хотя бы есть! А не как в другом анекдоте, который про золотую рыбку и "Хочу, чтобы у меня всё было," — "Мужик... у тебя всё было".
Кто в яслях был, знают, что дети начинают плакать по цепочке и со временем ревут всей группой, довольно крипово там находиться.
Насколько я понял посыл автора статьи, его опыт состоял в том, что их было больше, чем пальцев на двух руках.
Кроме того, опять же, у каждого свои привычки касательно смартфонов. Я сейчас пользуюсь телефоном 5-летней свежести, и поставить на него ещё одно очередное приложение — это нет-нет. И я не готов покупать новый телефон только потому, что где-то кто-то в своём дорогом офисе решил, что я стану к их компании лояльнее, если вместо токена в менеджере паролей у меня на телефоне будет очередная копия электрона.
Если же для кого-то поставить ещё одно очередное не составляет проблемы... Что ж, может, люди в дорогом офисе не зря получают свои зарплаты. Наверное.
Приведу пример. Я пользуюсь услугами одного банка, у которого вполне сносный онлайн-банкинг. Я не хочу ставить приложение этого банка, потому что онлайн-банкинг в браузере на десктопе меня более чем устраивает. Однако чтобы залогиниться в онлайн-банкинг, мне нужно пройти двухфакторную аутентификацию... при помощи собственного приложения этого банка!
Благо у банка есть отдельное приложение для аутентификации, которое собственно ничего другого не делает, благодаря чему весит не так много, как полноценное банковское приложение.
Но если бы вместо этого отдельного приложения я мог бы просто загрузить секретный ключ в KeePass / 1Password, это было бы ещё лучше.
Your mileage may vary.
А я пытался с этим бороться и меня уволили.
Только образования?
Даже немножко обидно, что ваш юмор не был оценён аудиторией.
Я не уверен, но может быть, что технические специалисты находят технические решения?
Зато качество перевода упасть уже не может.
И ещё странный момент: статья предлагает Очень Секретный Токен захардкодить, а потом код опубликовать. И куда пошла вся секретность?
Хотелось бы узнать, как ботоводы решают проблему хранения токена в месте, доступном боту, недоступном более никому.
Название статьи не соответствует содержимому. Должно было быть: "Рекламируем отечественный продукт, перед этим ругаем зарубежные."
Есть предложение попробовать играть на рояле.
Спойлер: это действительно интенсивный физический труд.
Body language, надо полагать. Или из старомодного: любую глупость, которую невозможно сказать, можно спеть.
ПС. Я не настоящий сварщик, просто пятница вечер.