copy()
как-то особенно разбирает строки, и там символ form_feed или carriage_return позволяет перезаписать/игнорировать прилепленное в начале "/var/www/dir_1/"?"\rhttp://site.com/bad_script.php"
закачивает этот файл на сервер? while( )
выражение приводится к одному из двух: true
или false
. Цикл крутится, пока в скобках всё ещё получается true
.var i = 5;
i != 0 // true, вальсируем дальше
5 // любое ненулевое число становится true
"yes" // непустая строка тоже true
{a: "A", b: "B"} // объекты всегда true
0 // false
"" // пустая строка, false
undefined // false
null // false
NaN // false
0
даёт false
, остальные числа true
.&&
, ||
, !
их можно использовать не только для проверки двойных условий, но и, например, задавать значение на случай нуля:var a = 0;
var b = a || 42; // если a пустое. то в b попадёт запасное значение 42.
true
или false
, как внутри скобок while()
: дописать перед ним два восклицательных знака!!expression
Тут дважды применяется !
– логическое НЕ, которое уже при первом применении сделает из выражения true
или false
, только зеркально наоборот, и нужен ещё один перевёртыш, чтобы получить задуманное значение.Ожидаю что файлы из директории var/www/html попадут на хост в ./www
volumes:
- /папка_на_хосте:/папка_в_контейнере_1
- имя_тома:/папка_в_контейнере_2
После этого, если внутри контейнера в этой папке создаётся файл, он оказывается в папке_хоста или томе./var/www/html
— будь она папкой контейнера или смонтированной в него папкой хоста или томом докера. При запуске, если там пусто, файлы создаются / записываются контейнером.entrypoint.sh
, в который поместите логику инициализации приложения, в т.ч. копирование-создание файлов. Укажите его как ENTRYPOINT контейнера. def loop(n):
for i in range(n):
print('Privet')
much = int(input('how much? '))
loop(much)
more = str(input('Еще? '))
if more == 'yes':
loop(much)
range()
, а лучше обойтись переменной, которую уменьшать от much
к 0:much = int(input('how much? '))
i = much
while i > 0:
print('Privet')
i = i - 1
if i == 0:
more = str(input('Еще? '))
if more == 'yes':
i = much
true
, а при создании таких же событий скриптом — false
. const src = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']; // массив элементов
const key = [2, 1, 0]; // номера битов для перемешивания адреса
const mapIndex = (n, key) => key.reduce((p,c,i) => p | ((1 << c & n) >> c) << i, 0);
const biject = (arr, key) => arr.map((e,i) => arr[mapIndex(i, key)]);
console.log( JSON.stringify(biject(src, key)));
// ["a","e","c","g","b","f","d","h"]
console.log( JSON.stringify(biject(src, [1,2,0])));
// ["a","e","b","f","c","g","d","h"]
{
const src = 'abcdefgh'.split('');
const N = src.length; // 8
const Prime = 37; // Prime > N
const mapIndex = (i, N, Prime) => (i * Prime) % N;
//for(let i = 0; i< 8; i++) console.log(i, mapIndex(i, N, Prime))
const shuffle = (str, Prime) => str.split('').map((e,i,a) => a[mapIndex(i, a.length, Prime)]).join('');
console.log( shuffle('abcdefgh', 17));
console.log( shuffle('abcdefgh', 19));
console.log( shuffle('abcdefgh', 23));
console.log( shuffle('abcdefgh', 29));
abcdefgh // не перемешалось
adgbehcf
ahgfedcb
afchebgd
w.get_temperature(unit='celsius')
temp_dict = w.get_temperature(unit='celsius')
print('Погода в Москве: {}°'.format(temp_dict['temp']))
var search = "hello";
$(`li:contains(${search})`).css('background-color', 'red');
const arr = [1,2,3,4];
const obj = [{id:3},{id:5},{id:6}];
const b = obj.map(o => o.id); // получили [3, 5, 6]
const i = b.filter(el => !arr.includes(el));
const o = arr.filter(el => !b.includes(el));
console.log(`из arr удалено ${o.join(',')} и добавлено ${i.join(',')}`);
// из arr удалено 1,2,4 и добавлено 5,6
const diff = (a,b) => ({
i: b.filter(x => !a.includes(x)), // in
o: a.filter(x => !b.includes(x)), // out
});
const data = diff(arr, obj.map(el => el.id));
console.log(`из arr удалено ${data.o.join(',')} и добавлено ${data.i.join(',')}`);