Задать вопрос
  • Как изучать вещь, про которую нету никаких уроков в Интернете и документация не понятна?

    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
    Делай добро и бросай его в воду.
    Оформить карту иностранного банка.
    Ответ написан
  • Почему условный тернарный оператор не возвращает нужное значение?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Потому что вы забыли написать return:
    (item, i) => {
      return (i == 0)? item : item[0].toUpperCase() + item.slice(1);
    }

    Ну либо можно убрать лишние фигурные скобки:
    (item, i) => (i == 0)? item : item[0].toUpperCase() + item.slice(1)
    Ответ написан
    1 комментарий
  • Почему данные с сервера приходят с null?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Проблема может быть в чём угодно на стороне сервера, но явно не в самих заголовках. Потому что json-ответ вы всё же получаете.

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

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

    Ну либо костыль через setInterval().
    Ответ написан
    1 комментарий
  • Как проверить введенное римское число на правильную запись?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Просто сделайте функцию перевода римского числа в обычное (int32). Ошибка (т.е. исключение) в ходе работы этой функции и будет означать невозможность преобразования. Алгоритм тот же.

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    я вроде как прописал tofixed

    Вроде как нужно прописывать в нужном месте, а не просто для галочки.

    Здесь вы присваиваете summ, а не summ.toFixed(2):
    domElements.rating.total.innerHTML=summ
    Ответ написан
    2 комментария
  • Есть ли готовые парсеры под такую задачу?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Советую написать простенький скрипт самому.
    Либо попросить у друга-программиста, это займёт максимум 30 мин у него.
    Либо обратиться к фрилансеру.
    Ответ написан
    Комментировать
  • Как правильно анимировать элементы при помощи setInterval?

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

    Вот здесь просчёт.

    Нужно отсчитывать временной интервал следующей картинки от предыдущей, а не от общего начала. Потому что на самом деле нет гарантии, сколько времени будет длится очередной таймаут. Если вы укажете 500мс, то это лишь означает не менее 500с, а в теории может быть и 1 сек, и 2 сек, и вообще сколько угодно. И чем дольше анимация, тем больше накапливается мелких ошибок, и тем заметнее визуальный рассинхрон.

    Подойдёт единый setInterval с общей логикой внутри. Либо цепочка из setTimeout, в которой одновременно запланирован только один.
    Ответ написан
  • Как сделать частично статичный текст в input?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    <input type="text" disabled>

    input1.disabled = true;
    Ответ написан
  • Почему пишет что на этом айфоне было создано слишком много apple id?

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

    Если у вас 200%-ое зрение, либо с помощью бликов, можно увидеть мелкие царапины, отпечатки от старых владельцев (до того, как вы сами их оставите, конечно же). Это относится к любой технике, не только Apple.

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Нельзя писать arg1 || arg2 != '', подобно кальке с русского языка.
    В программировании всё последовательно:
    • Либо сначала считает !=, а этот операнд имеет приоритет, поэтому если без скобок, то это эквивалентно такому: arg1 || (arg2 != ''). В этом случае мы проверяем, что arg2 не является пустой строкой. При этом он может быть символом или числом, например. ИЛИ arg1 является истинным.
    • Либо сначала считает ||, если иначе расставить скобки: (arg1 || arg2) != ''. В этом случае тоже ерунда какая-то. Мы проверяем истинность хотя бы одного аргумента, а потом зачем-то результат операции сравниваем с пустой строкой.


    Чтобы составить условие правильно, его нужно структурировать для понимания, то есть составление как бы разбить на этапы.
    1. Сначала нужно понять, как сформулировать простое условие "не является буквой". Условно запишем по-русски.
    2. Далее составляем следующее более сложное условие из кирпичиков, полученных на предыдущем этапе: (arg1 является буквой) && (arg2 является буквой). То есть для каждого аргумента повторяем выражение полностью. Если сомневаетесь в приоритетах вычислений, можно ещё и скобки расставить.


    Но вернёмся к началу. Вроде бы простое условие "arg является буковой", но готовой функции у нас нет. И чтобы проверить это утверждение, нужно проверить ещё более простые:
    1) что arg является строкой в принципе (не числом, не булевой переменной, не всякими там null и пр.)
    2) что эта строка имеет длину 1. Ведь если больше 1, то это уже не просто буква. А если меньше, то есть 0, то это тем более не буква.
    3) что оставшийся символ действительно является буквой. Не прибегая к регулярным выражениям (что для вас будет явно сложно), я бы схитрил так:
    arg==arg.toLowerCase() || arg==arg.toUpperCase()
    Обратите внимание на порядок операций. Сначала считаются сравнения, а потом они складываются через логическую операцию ИЛИ. То есть, если по-русски, мы записали, что символ равен самому себе в верхнем регистре, либо он равен самому себе в нижнем регистре. Это и будет означать, что это буква.

    Если же опустить предыдущие проверки, и допустить, например, что это длинная строка, например "абвгд", то у нас последнее утверждение окажется ошибочно верным, так что сначала нужно исключить всё лишнее.

    Ещё один совет: не обязательно городить бесконечный if else. Конечно, так тоже можно, но получается более громоздко и менее очевидно. Проще писать серию return'ов. Это всегда проще, а в вашем примере сам бог велел так делать. Пример:
    if (typeof arg1 != "string") return -1;
    if (arg1.length != 1) return -1;
    //и т.д.

    Здесь мы первой проверкой исключаем возможность, что это не строка. То есть если это не строка, то дальше выполнение функции не происходит, и мы сразу выходим. Поэтому во второй проверке уже можно быть точно уверенным, что arg1 - это строка, и исходить из этого. И весь код ниже тоже может рассчитывать, что arg1 - это строка длиной 1 символ, без вариантов.
    Ответ написан
    Комментировать
  • Никак не могу загрузиться с загрузочной флешки. Что исправить?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Дело в совместимости флешки и биоса.
    Запишите загрузочный ISO образ на флешку с помощью UltraISO в режиме USB-HDD+ v2
    Ответ написан