.sex или .sucks
Content-type: вы передрали код из примера с application/x-www-form-urlencoded, который предполагает отправку данных как в GET-параметрах: a=1&b=2&c=3request.setRequestHeader("Content-Type", "application/json;charset=UTF-8");php://input$data = json_decode(file_get_contents("php://input")); Content-type: вы передрали код из примера с application/x-www-form-urlencoded, который предполагает отправку данных как в GET-параметрах: a=1&b=2&c=3request.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); forEach() вызывает функцию по очереди с каждым из элементов массива. В данном примере вызовется function(1), function(3), function(4), ... function(5)result это объект, где свойствами будут встреченные цифры (как строки).result нет, и, например, result[1] будет поначалу undefined. И в таком случае создаётся это свойство со значением 1.undefined, и оно будет увеличено на 1.Math.round() для определения попадания в интервал:var priceProduct = 2000;
var monthlyPayment = 230;
var precision = 1e-6; // точность одна миллионная
var months = priceProduct / monthlyPayment;
var nearest = Math.round(months);
var diff = months - nearest;
if (diff > precision) months = nearest + 1; // == Math.ceil()Правильно понимаю, что docker можно также спокойно использовать локально на windows?Правильно.
Как вы локально разворачиваете докер ?Под Mac или Windows cкачать Docker Desktop.
docker-compose.yml вашего проекта и docker-compose up А потом заходить внутрь контейнеров, или запускать дополнительные временные – со всякими git clone, composer install, npm i, mysql -p${MYSQL_ROOT_PASSWORD} < database_init.sql и пр.При разворачивании проекта через docker, создается некая виртуализация.Не совсем. Docker не виртуализация, а контейнеризация. Отсутствует виртуальная машина, в отличие от, например, VirtualBox. На бытовом уровне, есть некие изолированные виртуальные коробки-контейнеры, из которых наружу торчит, может, порт. И друг дружку эти коробки видят как компы в локальной сети.
Как тогда работать с проектом через IDE ? Если все окружение проекта на linux, а мы работаем на windows, как вообще люди работают через IDE в таких случаях ?Как вариант, работать как с удалённым Linux сервером. Подключаться к нему по SSH, тот же VS Code умеет через расширение Remote-SSH.
docker cp ./local.file containerName://var/www/remote.fileКак можно добавлять сложнейшие анимации, которые на CSS+JS не написать?
indexOf()const text2 = 'You know nothing Jon Snow';
function countUniqChars(str) {
return new Set(str.split('')).size;
}
countUniqChars(text2) // 13 позиция-из-которой, сколько-выдрать, вставить-этого, вставить-ещё, ...function swap(arr, from, to) {
// выдёргиваем:
const A = arr.splice(from, 1)[0];
const B = arr.splice(to-1, 1)[0];
// -1 т.к. массив стал короче после первой операции
// вставляем
arr.splice(from, 0, B); // 0 - ничего не вырезаем, только вставляем
arr.splice(to, 0, A);
}splice()function swap(arr, from, to) {
// выдёргиваем-копируем:
const A = arr[from];
const B = arr[to];
// вставляем-заменяем
arr[from] = B;
arr[to] = A;
} const zip = arr => arr
.reduce((agg, c) => {
const iR = agg.indexOf(c + 1);
const iL = agg.lastIndexOf(c - 1);
if (!!~iR && !!~iL) agg.splice(iL, 2); // закрыли дырку
else if (!!~iR) agg[iR] = c; // сдвинули границу
else if (!!~iL) agg[iL] = c; // то же
else { // вставляем сироту - найти позицию сразу после меньшего
let pos = 0;
while (pos < agg.length && agg[pos] < c) pos++;
agg.splice(pos, 0, c, c); // вставляем дважды
}
return agg;
}, [])
.reduce((agg, c, i, arr) => {
if (!(i&1)) agg.push(arr[i+1] === c ? c : [c, arr[i+1]].join('-'));
return agg;
}, [])
.join(', ')
;[ 0, 5, 8, 9, 11, 11 ]indexOf() и lastIndexOf() на самописный поиск, останавливающийся на элементе, бОльшем или меньшем искомого.const routes = [
{ path: '/foo', component: Foo },
{ path: '/bar', component: Bar, isDevOnly: true },
{ path: '*', component: Baz },
]
const router = new VueRouter({
routes: routes.filter(r => DEVELOPMENT || !r.isDevOnly)
})DEVELOPMENT из переменной окружения с помощью DefinePluginconst webpack = require('webpack');
module.exports = {
// ...
plugins: [
new webpack.DefinePlugin({
DEVELOPMENT: JSON.stringify(process.env.mode === 'development'),
}
]