Маска: 11111111.11111111.11111110.00000000 = 255.255.254.0
Адрес 1: 11000000.10101000.00000000.00000000 = 192.168.0.0
Адрес 2: 11000000.10101000.00000001.00000000 = 192.168.1.0Чтобы преобразовать эти адреса в сети надо выполнить побитовый логический AND адреса с маской. Получим192.168.0.0 & 255.255.254.0 = 192.168.0.0
192.168.1.0 & 255.255.254.0 = 192.168.0.0Таким образом, оба адреса входят в одну сеть размера /23.
function getJSONP (script_url, callback) {
// Создаём веб-воркер, который импортирует нам скрипт с коллбэком(jsonp)
const worker = new Worker(window.URL.createObjectURL(new Blob([
'let cb=function(val){postMessage(val)};' +
'importScripts(\'' + script_url + '&callback=cb\');'],
{ type: 'text/javascript' }
)))
// Слушаем ответ от воркера
worker.onmessage = (e) => {
worker.terminate()
callback(e.data)
}
// Убиваем воркер если долго нет ответа
setTimeout(() => { worker.terminate() },10000)
} WITH
cte1 AS ( SELECT t1.ts, t1.val,
t2.ts ts_before, t2.val val_before,
t3.ts ts_after, t3.val val_after
FROM test t1
JOIN test t2 ON t1.ts >= TIMESTAMP(t2.ts, @delta)
JOIN test t3 ON t1.ts <= TIMESTAMP(t3.ts, @delta) ),
cte2 AS ( SELECT *,
ROW_NUMBER() OVER (PARTITION BY ts ORDER BY ts_before DESC) rn_before,
ROW_NUMBER() OVER (PARTITION BY ts ORDER BY ts_after ASC) rn_after
FROM cte1 )
SELECT ts,
val,
ts_before,
val_before,
ts_after,
val_after,
CASE WHEN val_after = val_before
THEN val_before
ELSE val_before + (val_after - val_before) / TIMESTAMPDIFF(SECOND, ts_after, ts_before) * TIMESTAMPDIFF(SECOND, ts, TIMESTAMP(ts_before, @delta))
END val_approximated
FROM cte2
WHERE ts > '2021-01-02'
AND rn_before = 1
AND rn_after = 1Не имел дела раньше с оконными функциями в MySQL.
Получается, то сравнение
'hello' == '123'
это
parseInt('hello') == parseInt('123')
так?
И [] == {} аналогично parseInt([]) == parseInt({})?
'hello' == 123 приведёт строку к числу ToNumber('hello') == 123 и получится NaN == 123 → сравниваем два числа и получаем false.Number. FROM ubuntu:latest
RUN apt update && apt install -y openssl
RUN mkdir -p /etc/cert
RUN /bin/bash -c "openssl req -x509 \
-newkey rsa:2048 -nodes -sha256 \
-out /etc/cert/localhost.crt \
-keyout /etc/cert/localhost.key \
-subj '/CN=localhost' \
-extensions EXT \
-config <( \
printf '[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth')"docker build .
Sending build context to Docker daemon 2.048kB
Step 1/4 : FROM ubuntu:latest
---> 1318b700e415
Step 2/4 : RUN apt update && apt install -y openssl
---> Using cache
---> e608bba6cb59
Step 3/4 : RUN mkdir -p /etc/cert
---> Using cache
---> b89d4c7495a3
Step 4/4 : RUN /bin/bash -c "openssl req -x509 -newkey rsa:2048 -nodes -sha256 -out /etc/cert/localhost.crt -keyout /etc/cert/localhost.key -subj '/CN=localhost' -extensions EXT -config <( printf '[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth')"
---> Running in a4012f6c4893
Generating a RSA private key
................................................+++++
..+++++
writing new private key to '/etc/cert/localhost.key'
-----
Removing intermediate container a4012f6c4893
---> 6ea49c8d9ada
Successfully built 6ea49c8d9ada