Задать вопрос
  • Как подсчитать числа в этом коде?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Надо понимать, что этот код делает. Он составляет все возможные комбинации из заданных чисел, длиной столько же цифр – и возвращает массив этих чисел. Вас интересует его длина.
    • Можно взять длину массива, который вернули.
    • Можно взять длину Nисходного массива и возвести её в степень себя: NN.
      Для трёх это будет 3 в кубе 3*3*3 = 27
    Ответ написан
    Комментировать
  • Как сделать цикл который генерирует числа из 1, 2, 3?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    const shred = arr => arr.reduce((p,c,i,a) => {
        const f = prefix => {
          for (let j=0; j<a.length; j++)
            if (prefix.length < a.length - 1) {
              f(prefix + a[j]);
            } else {
              p.push(+(prefix + a[j]));
            }
        }
        f(c.toString());
        return p;
      }, []);
      
      shred([1,2,3]);
    /*
    [111,112,113,121,122,123,131,132,133,211,212,213,221,222,223,231,232,233,311,312,313,321,322,323,331,332,333]
    */
    Ответ написан
    Комментировать
  • Каким образом сайт работает настолько быстро (без pjax и get запросов)?

    sergiks
    @sergiks Куратор тега Веб-разработка
    ♬♬
    очень даже загружаются GET-запросами два JS файла, содержащие по факту CSS и HTML:
    spoiler

    При переходе на страницу «О компании» - «Вакансии»:
    5d592b4c17c02072813708.png
    Ответ написан
  • Как можно выбрать главные числа?

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    Находить среднее и брать навыки, которые выше среднего = (сумма указанных процентов) / количество?
    Поскольку порядок тоже имеет значение, при равных процентах считать весомее более ранний навык.
    С количеством в выборке уже решать вручную: сколько взять навыков из 10 по 100% каждый.

    физика 50%, химия 49%, биология 48%, английский 10% -----> главные будут физика, химия, биология.
    (50+49+48+10)/4 = 39.25 – выше желаемые три: физика, химия, биология. ОК

    физика 50%, химия 9%, биология 8%, английский 7% -----> главным будет только физика.

    (50+9+8+7)/4 = 18.5, выше только физика, ОК

    физика 50%, химия 49%, биология 49%, английский 48% -----> главными будут физика и химия.
    (50+49+49+48)/4 = 49FAIL
    Тут не понятно, почему разорвать именно химию и биологию. Но если перед вычислением добавлять коэффициент за позицию [+3, +2, +1, +0], всё получается:
    (53+51+50+48)/4 = 50.5 рвёт точно как хотелось: физика и химия выше. OK

    физика 50%, химия 30%, биология 1%, английский 1% -----> главными будут физика и химия.

    (50+30+1+1)/4 = 20.6физика и химия FTW. OK

    физика 50%, химия 30%, биология 30%, английский 30% -----> главным буде только физика.
    (50+30+30+30)/4 = 35; выше 35 только физика. ОК
    Ответ написан
    Комментировать
  • Как подключить все js библиотеки в 1 файл?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    UglifyJS

    Установить (понадобится nodejs + npm):
    npm install uglify-js

    Собрать и сжать несколько библиотек в один файл:
    uglifyjs --compress -o result.js -- jquery.js  lib2.js  lib3.js

    В результате получится один файл result.js, который содержит в себе все указанные выше билиотеки. Его одного и подключайте в страницу.
    Ответ написан
    Комментировать
  • Как получить остаток от деления PHP?

    sergiks
    @sergiks Куратор тега PHP
    ♬♬
    170 % 11 === 5; // true

    170 / 11 = 15,4545454545
    15 целых + остаток.
    11*15 = 165
    170 = 11 * 15 + 5
    Этот остаток 5 и получается оператором остатка от деления % (не путать с процентами)
    Ответ написан
    Комментировать
  • Как реализовать поставленную задачу?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Можно считать градиенты с соседними элементами, при этом следующий становится предыдущим:
    function countLocalMax(arr) {
        const last = arr.length;
        let prevGrad = 1;
        return arr.reduce((p,c,i,a)=>{
          const nextGrad = i === last ? -1 : a[i+1] - c;
          if (prevGrad >= 0 && nextGrad <= 0) p++;
          prevGrad = nextGrad;
          return p;
        }, 0);
      }
    
    countLocalMax([0,0,3,4,5,4,0,-1]); // 2

    Для нулевого элемента массива считаем "предыдущий" градиент положительным, для последнего – отрицательным.
    Элемент локальный максимум, если предыдущий градиент не отрицательный и следующий не положительный.
    Ответ написан
  • Где лучше взять VPS?

    Пользуюсь уже много лет DigitalOcean и всяко рекомендую. Надёжные, отличная поддержка, развиваются.
    По моей реф. ссылке получите на 30 дней $50 попробовать, погонять, убедиться. Без обязательств.
    Ответ написан
    3 комментария
  • Как добавить элемент?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Как добавить элемент в конец ?

    appendChild()

    Неправильный, но легкий способ: если у родителя не навешаны слушатели событий, то просто заменить HTML:
    var runRo1 = document.getElementsByClassName('btn send-private-message-btn white');
    if(runRo1.length == 1){
      runRo1[0].innerHTML += '<div class="buy-deposit btn white" only-other-profile="">Забронировать на бирже</div>';
    }


    Но если вариант с innerHTML что-то порушит - перестанет там где-то реагировать на клики, то надо делать «правильно»: создавать элемент и вставлять в конец через appendChild():
    if(..) {
      const div = document.createElement('div');
      div.classList.add('buy-deposit', 'btn', 'white');
      div.setAttribute('only-other-profile', '');
      div.appendChild( document.createTextNode('Забронировать на бирже'));
      runRo1[0].appendChild(div);
    }
    Ответ написан
    Комментировать
  • Как поставить свой вебсайт PHP MYSQL JS на Amazon AWS EC2?

    Вариант: ставите у себя локально (или где разрабатываете) Docker и разворачиваете сайт в нём.

    Далее с вашим контейнером(-ами) приходите на новую пустую VPS, устанавливаете там Docker и запускаете контейнер.

    Головная боль на этапе обучения работе с Docker и упаковки в контейнер приложения, но зато потом легко и быстро переезжать с одного VPS на другой.
    Ответ написан
    Комментировать
  • Какая самая навороченная программа для монтажа есть для слабых пк (параметры пк в описании)?

    Старые версии тех же After Effects могут заработать. Зависит ещё от установленной ОС.
    Ответ написан
    3 комментария
  • Как сделать fetch запрос к сайду недоступном на территории РФ?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Если запрос делать из браузера, то в настройках браузера сначала надо ввести этот прокси-сервер, и все запросы, включая fetch() пойдут через него.

    Если из Node.js, то, например, модуль TooTallNate/node-https-proxy-agent позволит в параметрах fetch() указывать прокси, через который выполнять подключение.
    fetch('https://www.google.com',{ agent:new HttpsProxyAgent('http://127.0.0.1:8580')})
    .then(function(res){
        //...
    })
    Ответ написан
    4 комментария
  • Как сгенерировать случайное число, содержащее две единицы?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Можно сыграть с девятиричной системой. Раз тут цифра "1" особенная, а остальные девять обычные. Берём случайное число, записываем его в девятиричной системе n.toString(9) – используются цифры от 0 до 8 и точно нет ни одной девятки. Единицы меняем на девятки. Остаётся добавить две единицы на случайных позициях.

    function tworandom() {
      const arr = Math.floor(Math.random() * 9e8).toString(9).replace(/1/g,9).split('');
      for (let i = 2; i > 0; i--) arr.splice(Math.floor(Math.random() * arr.length), 0, 1);
      return +arr.join('');
    }
    
    [...Array(5)].map(tworandom)
    // 6401715726, 950818173966, 915469690179, 4191464422, 223063891715
    Ответ написан
    Комментировать
  • Как сделать программу для угадывания загаданных чисел JS?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    В процессе угадывания будут сдвигаться границы диапазона: и нижняя и верхняя. Изначально эти границы 1 и 100. Вопрос задаётся каждый раз про середину диапазона между этими двумя границами.

    Таким образом, понадобятся две переменные с этими границами.

    Грязный код, но примерно работает:

    Todo: надо предусмотреть конечные случаи, когда остаётся всего два варианта, например, 48 или 49.
    Тогда надо предположить одно из них, и оставить вместо трёх, всего две кнопки: "Да, это оно" и "Нет, больше".
    Ответ написан
  • Как вывести две глобальные переменные на экран передав их в аргументы функции?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    только одна функция? Но что б были аргументы в функции и return.

    Нужно больше скобок:
    ((d, id, x, y) => d.getElementById(id).innerText = x + y) // это функция
    (document, "r", 1, 2) // а это аргументы


    ..Хотя нет, return потерялся.
    Ответ написан
    Комментировать
  • В чем заключается ошибка в коде?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Перенесите строку var p = ... внутрь функции, перед p.innerHTML =
    Ответ написан
    Комментировать
  • Что выбрать вместо macbook для дизайна?

    Имхо дешевле (и целесообразнее) отремонтировать имеющийся макбук.
    Ответ написан
    Комментировать
  • Программа для 3D?

    Прямо в браузере, бесплатно, без установки, интуитивно понятный Google Trimble Sketchup.
    Это хорошо для быстрейшего старта и получения результатов. В нем я делал модель простой перепланировки в квартире для недавнего ремонта, расстановку мебели и пр.

    Если хочется серьезно войти в Motion Graphics, то лидер тут Cinema 4D, и пригодится Adobe After Effects для пост-обработки.
    Ответ написан
    Комментировать
  • Как добавить к базе данных число через сутки?

    Можно действия пользователя записывать в бд с меткой времени. Тогда на любой момент времени можно рассчитать действующее количество баллов, "проиграв" историю его действий.

    Когда данных станет слишком много и расчеты станут тяжелыми, можно делать снэпшоты: сохранять в бд промежуточное кол-во баллов и далее считать, начиная с этого момента, а не с начала времен.
    Ответ написан
    Комментировать
  • Для чего используется правый сдвиг с заполнением нулями?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Нет под рукой хороших примеров, но, как я себе представляю:
    • >> без заполнения нулями, с сохранением знака, требуется при работе с числами
    • >>> с заполнением нулями нужен, например, при работе с битовыми масками
    Ответ написан
    Комментировать