• Как создать цикл в с# (visual studio)?

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Попробуйте заменить \s на [ \f\n\r\t\v]
    Если не поможет, то нужно в самой среде, где используются регулярки, искать способ многострочного поиска.
    Ответ написан
    Комментировать
  • Как заблокировать отдельный Div с рекламой?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Расширение uBlock Orign, но желательно уметь в CSS и HTML, чтобы блочить самому.
    Ответ написан
    Комментировать
  • Почему при попытки открыть страницу появляется сообщение что это фишинговая страница?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Если это Google Chrome, то и спрашивать надо у Google Search Console. Там будет ответ.
    А здесь можно лишь гадать.
    Ответ написан
    Комментировать
  • Почему мое условие на проверку ширины неправильно работает?

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Ну, должно начинаться на ^7

    P.S. Если вы разрабатываете какую-то систему за деньги, и при этом не разбираетесь в банальных случаях типа этого, то вам, скорее всего, не стоит заниматься этим делом, - накосячете (не здесь, так в другом месте).
    Ответ написан
    1 комментарий
  • Чем отличается политика безопасности от несанкционированного доступа?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    политика безопасности - это правила, по которым осуществляется досутп.
    несанкционированный доступ - это нарушение этих правил.
    как-то так)
    Ответ написан
    Комментировать
  • Существует ли вход в google drive такой же как обычный вход в google?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Существует.
    spoiler
    628a9734dc810918927333.png
    spoiler
    628a97163bde7278928955.png
    Ответ написан
    3 комментария
  • Как узнать что за кодировка?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Каждая цифра имеет 10 вариантов (от 0 до 9).

    Каждая буква имеет чуть больше вариантов, в зависимости от алфавита (a-zA-Z это 52 варианта, но некоторые буквы могут быть специально исключены по каким-то соображениями). А если это символ, который может быть как буквой, так и цифрой, то вариантов ещё больше (например, 62). В кодировке base64 добавляются ещё пара символов, чтобы было круглое число 64, хотя реально там чуть сложнее.

    Количество вариантов - это условно мера информации, которую можно запихнуть в символ (или в строку соответственно).

    Для строки количество вариантов можно посчитать перемножением для каждого символа. Например, строка из двух цифр (от 00 до 99) - это 100 вариантов (10*10). Три цифры - 1000 вариантов и так далее. Аналогично с буквенно-цифирным алфавитом. Набор из двух таких символов - это 62*62 = 3844 варианта. Здесь уже чётко видно, что три цифры можно перевести в два символа без потери информации.
    То есть NNN ----> CC, где N - цифра, C - буква или цифры, с учётом регистра.
    То есть символов нужно меньше, чем цифр.

    Как именно происходит кодирование, сказать сложно. Самый простой вариант - это воспринимать цифирную последовательность, как число, и далее работать с числом. Делается это примерно так (алгоритм на пальцах):
    1) Делим число на 62.
    Остаток от деления - это номер буквы в алфавите, выбираем эту букву. Результат деления без остатка переходит как число для следующего шага.
    2) Делим (получившееся) число на 62.
    Остаток от деления - это номер следующей буквы, которая плюсуется к предыдущей.
    3) И так далее.
    Так происходит кодирование, в результате которого формируется строка из букв.

    Обратное кодирование примерно такое же, только все шаги в обратную сторону делаются.

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

    ...Либо заниматься хакерством - пытаться подобрать алгоритм кодирования.

    Наконец, в кодирование для более полной защиты может быть также встроено некое простое шифрование. Например, это могут быть какие-то перестановки, какое-то перемешивание или преобразования по определённом обратимому алгоритму. Здесь опять же нужно либо иметь доступ к документации, либо "взламывать" кодирование. В общем, всё зависит от того, хотят ли разработчики кода, чтобы вы понимали принцип его работы или нет. Если нет, то остаётся только второе.
    Ответ написан
    Комментировать
  • Как сравнить две таблицы и вывести только те значения, которых нет в первой таблице, но есть во второй?

    dollar
    @dollar Куратор тега Lua
    Делай добро и бросай его в воду.
    Очевидно, что нужно перебрать значения в цикле.
    Очевидно, что раз уж мы не можем перебирать отсутствующие значения, то нужно перебирать присутствующие значения, то есть перебираем вторую таблицу.
    Таким образом, переформулируем:
    вывести только те значения, которые есть во второй таблице, но при этом отсутствуют в первой.
    spoiler
    local table1 = { [1] = "q", [2] = "p" }
    local table2 = { [1] = "q", [2] = "p",  [3] = "f"}
    
    for k,v in pairs(table2) do
        if not table1[k] then
            print(v)
        end
    end

    Если же соответствие ключей не учитывается, то решение будет чуть сложнее. Для больших таблиц лучше их переделать под новый формат, в котором ключами будут значения:
    local table1_fixed = { q = true, p = true }
    Далее можно будет проверять присутствие значения в первой таблице по ключу.
    Ответ написан
    Комментировать
  • Как запретить удалять в инпуте первый символ?

    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. Простого ответа нет. Никто не говорил, что будет легко. Даже есть поговорка: тяжело в учении - легко в бою. Ну а если в учении легко, то в бою - верная смерть.
    Ответ написан
    Комментировать