Если вы хотите добавить другой реестр после того, как ваша докер-машина уже создана, вам нужно будет отредактировать файл конфигурации: vim ~ / .docker / machine / machines / dev / config.json
Объясняется здесь: https://akrambenaissi.com/2015/11/17/addingediting-insecure-registry-to-docker-machine-afterwards/
strong / weak можно рассматривать в связи с тем, как компилятор, если применимо, обрабатывает типизацию.
Слабо типизированный означает, что компилятор, если применимо, не обеспечивает правильную типизацию . Без неявной вставки компилятора инструкция выдаст ошибку во время выполнения.
"12345" * 1 === 12345 // строка * число => число
Строго типизированный означает, что существует компилятор, и он хочет, чтобы вы явно преобразовали строку в целое число .
(int) "12345" * 1 = == 12345
В любом случае некоторые функции компилятора могут неявно изменять инструкцию во время компиляции, чтобы выполнять преобразования за вас, если он может определить, что это правильно.
На данный момент JavaScript можно отнести к категории Not- Сильно типизированный. Это либо означает, что он является слабо типизированным или нетипизированным.
динамический / статический можно рассматривать в связи с тем, как языковые инструкции управляют типами.
Динамически типизированный означает ] value является принудительным, но переменная просто представляет любое значение любого типа.
x = 12345; // число
x = "строка"; // строка
x = {ключ: "значение"}; // объект
у = 123 + х; // должна иметь место ошибка или неявное преобразование.
Статически типизированный означает строгое соблюдение типа переменной , а тип значения - менее строгого.
int x = 12345; // привязывает x к типу int
x = "строка"; // поздно, x целое число - ошибка
строка y = 123; // должна иметь место ошибка или неявное преобразование.
На данный момент JavaScript можно отнести к категории нестатически типизированных. Кроме того, он выглядит динамически типизированным, если вообще набирается. Итак, нам нужно увидеть, что означает «Типизация».
Типизированный означает, что язык различает разные типы, такие как строка , число , логическое , объект , массив , null , undefined и так далее. Также каждая операция привязана к определенным типам. Таким образом, вы не можете разделить целое число на строку .
2 / "blah" // produces NaN
Нетипизированное означает, что операция деления целого числа на строку приведет к приводит к обработке первых четырех байтов строки как целого числа . Это потому, что нетипизированные операции выполняются непосредственно над битами, нет типов для наблюдения. Результат будет довольно неожиданным:
2 / "blah" // will be treated as 2 / 1500275048
Поскольку JavaScript ведет себя в соответствии с определением типизации, так и должно быть. И поэтому он должен быть динамически типизированным и слабо типизированным.
Если кто-то утверждает, что JavaScript не типизирован, то это просто для академической теории, а не для практического применения.
JavaScript слабо типизирован . Он определенно не является «нетипизированным», но его слабо типизированный характер обеспечивает большую гибкость с точки зрения неявных преобразований.
Имейте в виду, что JavaScript также динамически типизирован. Этот метод набора текста позволяет так называемый «утиный ввод» .
Для сравнения учтите, что JavaScript не строго типизирован и не статически типизирован. Иногда понимание того, чем не является , может помочь вам лучше понять, что это такое.
По мнению автора, JavaScript также классифицируется как Динамически типизированный . Wiki утверждает, что языки с динамической типизацией проверяются типом во время выполнения, а не в компиляторе, в то время как слабая типизация относится к возможности изменять тип на лету в вашем коде. Так что да, это как динамически, так и слабо типизированные.
Помните, что JavaScript позволяет вам спрашивать, что такое typeof (your_variable)
, и сравнивать типы: 5 === «5»
возвращает ложь
.
Таким образом, я не думаю, что вы можете назвать его нетипизированным.
Он динамически и (по оценкам) слабо типизирован. Возможно, вы захотите узнать, что он использует утиную типизацию (см. Ссылку Эндрю) и предлагает ООП, хотя Прототипирование вместо классов и наследования.
Пока он набран (вы можете спросить "typeof someVar" и узнать его конкретный тип, он очень слабый.
Учитывая:
var a = "5";
вы можете сказать, что a - это строка. Однако , если вы затем напишете:
var b = a + 10;
b - это int, равное 15, поэтому a действует так же, как int. Конечно, вы можете написать:
var c = a + "Hello World";
и c будет равно "5Hello World", поэтому a снова действует как струна.