• Как запретить удалять в инпуте первый символ?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Вынести его за пределы инпута.
    Как вариант - наложить его сверху полупрозрачностью, а текст внутри инпута сместить правее с помощью css.
    Ответ написан
    Комментировать
  • Как грамотно сделать обзор фильмов?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Зачем какой-то приём был использован - это вопрос к автору ролика.

    Вставки кино можно использовать для информационных целей. Другими словами, если вы вставите, грубо говоря, в плохом качестве или сильно обрежете, и будет очевидно, что ваш ролик ну никак не может заменить полноценный просмотр кино, то претензий к вам не должно быть по закону (ваш ролик должен рассказывать в том числе об этом кино, другие цели здесь не рассматриваем). Для подробностей почитайте авторское право - это в любом случае нужно сделать, если вы серьёзно занялись обзорами, а не забавы ради.
    Ответ написан
    Комментировать
  • Почему у меня не получается учиться, даже когда я все делаю все в точности как в видеоуроках?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    S0wB1hC.gif

    Начинайте с фундаментальных знаний, и постепенно двигайтесь к более узкоспециализированному и более сложному. Освойте навык поиска информации, и вообще работы с информацией. Научитесь тому, как учиться (гугл в помощь). Не ждите быстрых результатов. Легко не будет.
    Ответ написан
    Комментировать
  • По какой причине не работает регулярка в боте?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    А вы уверены, что видимый вам никнейм @sefwfew является для бота строкой "@sefwfew"?

    Это ответ, если что.
    Ответ написан
    Комментировать
  • Почему такая очередь задач?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Попадает очередь в порядке вызова setTimeout, а не в порядке компиляции.
    Сначала вызывается timeout2, лишь потом срабатывает then и timeout1 вместе с ним.
    Ответ написан
    Комментировать
  • Разница между requestIdleCallback и setTimeout?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Для начала вам нужно понять главное: ложки «периода простоя» не существует.

    setTimeout() запускает код НЕ РАНЬШЕ, чем указанный в параметре интервал времени. Если указали 5000, то должно пройти не меньше 5 секунд.

    Если вы запустили таймер 5000, затем через секунду запустили таймер 2000, затем какая-то функция нагрузила браузер непрерывной работой на 10 секунд, то второй таймер будет иметь приоритет над первым, хотя и был создан позже первого.
    доказательство
    function sleep(ms) { //примерное время, CPU-зависимо
      let tm = performance.now();
      for (let i=0;i<1000000*ms;i++) { let x = i*i }
      console.log('sleep(' + (performance.now()-tm).toFixed() + ') - done.')
    }
    
    setTimeout(e=>console.log('first'), 5000);
    sleep(1000)
    setTimeout(e=>console.log('second'), 2000);
    sleep(9000)


    requestIdleCallback(), насколько я понимаю, вызывает код в ближайший «интервал простоя» в порядке очереди и код может быть вызван РАНЬШЕ указанного timeout (а может и позже, смотря когда будет «простой»).
    пример, когда после setTimeout
    function sleep(ms) { //примерное время, CPU-зависимо
      let tm = performance.now();
      for (let i=0;i<1000000*ms;i++) { let x = i*i }
      console.log('sleep(' + (performance.now()-tm).toFixed() + ') - done.')
    }
    
    setTimeout(e=>sleep(1000),100);
    setTimeout(e=>sleep(1000),100);
    setTimeout(e=>sleep(1000),100);
    setTimeout(e=>sleep(1000),100);
    setTimeout(e=>sleep(1000),100);
    setTimeout(e=>sleep(1000),100);
    setTimeout(e=>sleep(1000),100);
    setTimeout(e=>sleep(1000),100);
    setTimeout(e=>sleep(1000),100);
    setTimeout(e=>sleep(1000),100);
    
    requestIdleCallback(e=>console.log('first'),{timeout:5000});
    requestIdleCallback(e=>console.log('second'),{timeout:4000});
    sleep(1000);
    пример со вклиниванием в очередь setTimeout
    function sleep(ms) { //примерное время, CPU-зависимо
      let tm = performance.now();
      for (let i=0;i<1000000*ms;i++) { let x = i*i }
      console.log('sleep(' + (performance.now()-tm).toFixed() + ') - done.')
    }
    
    setTimeout(e=>sleep(2000),0);
    setTimeout(e=>sleep(2000),1000);
    setTimeout(e=>sleep(2000),2000);
    setTimeout(e=>sleep(2000),3000);
    setTimeout(e=>sleep(2000),4000);
    setTimeout(e=>sleep(2000),5000);
    setTimeout(e=>sleep(2000),6000);
    setTimeout(e=>sleep(2000),7000);
    setTimeout(e=>sleep(2000),8000);
    setTimeout(e=>sleep(2000),9000);
    
    requestIdleCallback(e=>console.log('first'),{timeout:5000});
    requestIdleCallback(e=>console.log('second'),{timeout:1000});
    sleep(1000);
    пример, когда наступает «период простоя» до фактической разгрузки
    function sleep(ms) { //примерное время, CPU-зависимо
      let tm = performance.now();
      for (let i=0;i<1000000*ms;i++) { let x = i*i }
      console.log('sleep(' + (performance.now()-tm).toFixed() + ') - done.')
    }
    
    var cnt = 10;
    function timer() {
      sleep(1000);
      cnt--;
      if (cnt > 0) setTimeout(timer,300);
    }
    
    setTimeout(timer,300);
    
    requestIdleCallback(e=>console.log('first'),{timeout:5000});
    requestIdleCallback(e=>console.log('second'),{timeout:4000});
    sleep(1000);


    requestIdleCallback() рекомендуется использовать, когда время выполнения вам не критично, при этом вы не хотите тормозить анимации, нажатия на кнопки и пр. Это всякие не важные задачи.
    А setTimeout() лучше использовать тогда, когда вам нужно выполнить функцию через указанный интервал времени, но как можно скорее. Например, если от этого зависит контент на странице, без которого её отзывчивость не будет иметь смысла.
    Ответ написан
    Комментировать
  • Как правильно вернуть массив?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Как правильно вернуть массив?

    return final;
    Ответ написан
    Комментировать
  • Можете поверхностно сказать что делает код?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Это обфусцированный код. Из-за этого нельзя поверхностно взглянуть на код и сказать, что он делает. Только после анализа можно будет сказать. Автор кода хочет, чтобы даже анализ давался сложно, чтобы аналитик потратил много времени и в идеале - отказался от идеи вскрывать этот код.

    Поэтому ответ на вопрос: не можем.

    Если вы не разбираетесь вообще, то вам бегло смотреть нет смысла тем более. Связь с жсон и др. функциями - это ни о чём, потому что почти про любой js код можно так сказать.

    P.S. "Буквально минутку внимания" - риторика на уровне школьника, либо хитрого провокатора. И то, и другое - не в вашу пользу.
    Ответ написан
    Комментировать
  • Почему медленно загружаются страницы в интернете?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Чтобы проверить витую пару, её не нужно перепротягивать, менять порт и т.д. Нужно просто делать замеры. Для проверки скорости DNS также не нужно их менять, особенно если DNS ваши собственные. Очень странные у вас специалисты.

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

    Про "низкую скорость", вам, как специалисту тех. поддержки, нужно понять прежде всего её характер - она присутствует постоянно или появляется лишь иногда. В первом случае "банальные замеры" помогут. Во втором - не помогут, и нет смысла о них спрашивать пользователя. Во втором случае нужны постоянные замеры, чтобы ловить причину.

    Делать это можно по-разному.
    а) Можно пинговать роутер абонента. Конечно, роутер должен быть настроен на то, чтобы отвечать. Если это ваши роутеры или вы их ставите, то будет проще.
    б) Научить пользователей пользоваться PingPlotter (или аналогичной софтиной), а потом просто попросить показать графики или прислать логи за сутки или больше.

    На всякий случай проверять доступность и качество сервисов Ökko и КиноПоиска вы также можете на своей стороне, чтобы исключить их. (Опять же, перепротягивать что-либо не требуется!).

    Понимаю, что решение немного выходит за рамки специалиста тех. поддержки. Дальше вам решать, что с этой информацией делать.
    Ответ написан
    1 комментарий
  • Как понять в коде сложность алгоритма?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Мат. анализ и практика программирования помогают в этом. Да, это большие области знаний.

    Кратко можно ознакомиться здесь:
    https://ru.wikipedia.org/wiki/«O»_большое_и_«o»_малое

    P.S. Простого ответа нет. Никто не говорил, что будет легко. Даже есть поговорка: тяжело в учении - легко в бою. Ну а если в учении легко, то в бою - верная смерть.
    Ответ написан
    Комментировать
  • Почему включенные уведомления отключены?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Жми сюда:
    626b73e8d79aa084505396.png
    Ответ написан
    Комментировать
  • Решаю много одинаковых Google анкет, можно ли сделать, чтобы ответы сохранились?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Можно, но это будет противоречить защите от накрутки. Поэтому не ожидайте, что будет легко.
    Ответ написан
    Комментировать
  • Как вернуть первые N максимальных элементов из массива без сортировки массива?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Строго - никак.

    Есть разные алгоритмы частичной сортировки с минимальной сложность O(N+KlogN), где K - количество максимумов, а N - размер массива, но совсем без сортировки не получится в общем случае.

    Если не строго, то сильно зависит от специфики задачи, из которой нужно взять какие-то доп. условия и допущения. Именно они позволят оптимизировать алгоритм.

    Например, если K не строгое, а лишь примерное, то можно прикинуть некий порог, выше которого эти элементы будут расположены. Скажем, K=10, N=1000 элементов, и в каждом случайное число от 1 до 1000. Тогда можно почти уверенно заявить, что все искомые элементы больше 970. Пробегаем массив один раз и находим все элементы больше 970. Их окажется около 30 плюс-минус. Главное, что не менее 10. Далее этот маленький массив можно отсортировать, но это снова сортировка.
    Ответ написан
  • Как изучать вещь, про которую нету никаких уроков в Интернете и документация не понятна?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Если документация есть, то это уже хорошо.
    Значит, нужно обратиться к тому, кто эту документацию написал.
    Здесь, конечно же, важно, насколько тот субъект заинтересован в том, чтобы документация была тебе понятна вообще. Может быть, это документация для внутреннего пользования, а к тебе она попала случайно, или что-то в этом роде. И даже если заинтересованность есть, может не быть времени и других ресурсов, чтобы тебе что-то объяснять и организовывать уроки.
    В последнем случае придётся либо самому изучать вещь и даже составлять документацию по ней. А почему нет? Документацию тоже люди пишут. И обратный инженеринг никто не отменял ещё, он существует как явление. Либо отказаться от этой вещи в пользу другой вещи, которая более понятна, более документирована, и её авторы больше заинтересованы в создании уроков и прочего, чтобы сделать свою вещь популярной.
    Ответ написан
    Комментировать
  • Как сделать чтобы рандом всегда давал новые значения?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    У вас переменная random (случайное число) генерируется единожды, и дальше используется при каждом нажатии на кнопку.

    Нужно поместить эту логику внутрь функции-обработчика нажатия на кнопку, то есть внутрь фигурных скобок {}. Тогда новое случайное число будет генерироваться при каждом нажатии на кнопку, что и даст разные значения.

    P.S. на заметку:
    На первое место выпадает шанс не 10%, а всего 5% случаев. И ещё 5% не будет попадать в границы массива, что будет приводить к ошибке.
    ((0.00)*10).toFixed() // "0"
    ((0.01)*10).toFixed() // "0"
    ((0.04)*10).toFixed() // "0"
    ((0.05)*10).toFixed() // "1"
    ((0.94)*10).toFixed() // "9"
    ((0.95)*10).toFixed() // "10"
    ((0.96)*10).toFixed() // "10"
    Ответ написан
    Комментировать
  • Удаленная диагностика apple. Безопасно ли?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Можно считать, что безопасно. Эппл уделяет много внимания безопасности, там всё серьёзно. Абы кто не сможет подключиться.

    disclaimer
    Но всё же напомню, что 100%-й безопасности не существует. У кого много ресурсов (типа денег и времени), тот рано или поздно откроет любые двери. Ну и банальную лажу никто не отменял - есть шанс, что она случится даже в серьёзной компании, и инцидент с утечкой тому подтверждение. Просто в серьёзных компаниях шанс лажи гораздо меньше. Хотя, чем больше популярность компании и её аудитория, тем больше шанс, что даже малозначительная лажа всплывёт. Так что если лажа случается раз в 10 лет, то это очень хороший показатель безопасности.
    Ответ написан
    Комментировать
  • Есть ли аналог this в lua?

    dollar
    @dollar Куратор тега Lua
    Делай добро и бросай его в воду.
    Да.
    self
    Ответ написан
    Комментировать
  • Как поменять в стиме название игры в статусе активности?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Легитимным способом - никак.
    Только через взлом самого Steam.
    Ответ написан
    Комментировать
  • Как принимать иностранные платежи на сайте в условиях санкций 2022?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Оформить карту/счёт иностранного банка, очевидно.
    Ответ написан
  • Как теперь оплачивать сервисы Microsoft?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Оформить карту иностранного банка.
    Ответ написан