• Медленно загружаются файлы на сервисы Google (Google Drive, YouTube)?

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

    Причина может быть любая.

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

    Другие примеры сами можете придумать. Просто причин огромное количество. Не вижу смысла гадать. Это может быть и браузер, и его расширения (vpn) или настройки, и провайдер, и вирус, и MITM, и что угодно ещё. Не нужно обращаться к гадалкам и телепатам. Исследуйте - и найдёте причину. Дорогу осилит идущий.
    Ответ написан
    Комментировать
  • Как понять,какие данные считывает конкретный сайт при регистрации либо логине либо любом другом взаимодействии с ним?

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

    Вы можете проанализировать только отправленные заголовки и загруженные скрипты. Нужно знать хотя бы JavaScript, чтобы разобраться, какую именно информацию собирают скрипты.

    Однако понять логику автоблокировки будет сложнее, потому что вся логика происходит на сервере, к коду которого вы доступа не имеете. Логика может быть сложной, например анализ системных шрифтов и отслеживание поведения на сайте, включая перемещения курсора мыши. Но также логика может быть и простой, как если отпечаток браузера совпадает для двух клиентов, то им обоим прилетает бан.
    Ответ написан
    2 комментария
  • Стоит ли ставить 64-bit win-7?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    В общем и целом - нет. Лучше х32.

    Но некоторые программы требуют x64 (популярные к ним не относятся). Так что если вы собираетесь такие использовать, то у вас просто нет выбора.
    Ответ написан
    1 комментарий
  • Где найти кликер для браузера, чтобы он вводил ещё данные с клавиатуры?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Подойдёт кликер не для браузера.

    Возьмите любой достаточно сложный кликер (гугл в помощь) и настройте (или запрограммируйте) его для своих нужд. В качестве примера пусть будет AutoIt. А так в инете полно других под любой вкус и цвет.

    Дорогу осилит идущий.
    Ответ написан
  • Зачем нужны опережающие и ретроспективные проверки?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Потому что некоторые задачи имеют дело с повторениями.

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

    Однако что если вам нужно найти все цифры между двумя E?
    Вот такие:
    E123ExxxE456E789E

    По вашей логике нужно выражение: /E(\d+)E/
    И да, оно действительно найдёт 123 и 456 (см. ссылку), но на 789 оно сломается, потому что там E входит как бы сразу в две подстроки. В этом случае и нужен позитивный просмотр вперёд. Мы как бы подсматриваем, что там впереди, но не захватываем, поэтому поиск следующей подстроки начинается раньше.
    Для такой задачи решением будет: /E(\d+)(?=E)/
    Ответ написан
    Комментировать
  • Есть ли алгоритм кодирования, который не допускает подряд 3-6 одинаковых значений?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Контрольная сумма (хеш).

    Если искажение и будет, то шанс его не обнаружить - один на миллион (на самом деле ещё меньше, хотя зависит от разрядности).
    Ответ написан
  • Регулярное выражение для замены текста?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Можно вместо .* использовать [\s\S]*
    ([\s\S]*)(<strong>Характеристики<\/strong>.*<table>.*<\/table>)

    Метасимвол . означает любой символ, но обычно сюда не включён символ перевода строки. На regex101.com вы можете добиться того же эффекта, добавив флаг s:
    single line
    (Dot matches newline)

    Но когда вы в шаблоне пишете [\s\S], то это вообще любой символ без исключений.
    Ответ написан
    Комментировать
  • Как скомпилировать игру на pygame под Андроид?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Отвечая на вопрос, как скомпилировать, могу сказать, что очень просто.
    Достаточно лишь воспользоваться поиском Google или Yandex.
    spoiler
    5f8b061439bd5984371062.png
    Ответ написан
  • Используется ли теория вероятностей и комбинаторика в разработке игрового искуственного интеллекта?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    И да, и нет. Зависит от ваших целей.

    Например, если ИИ предполагает расчёт и сравнение вероятностей для выбора оптимального поведения, то, очевидно, ваши знания пригодятся. Только, вот, выбор ИИ зависит от игры. В некоторых случаях умный ИИ не только не нужен, но и вреден.

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    1) Роутер видит, что клиент ходит через него с выданным адресом. А про саму выдачу адреса можете просто погуглить. Не смысла сюда переписывать.

    2) На канальном уровне они будут друг друга видеть, конечно же. Но на сетевом уровне они не смогут взаимодействовать и будут как бы невидимками друг для друга.
    Ответ написан
    Комментировать
  • Можно ли сделать текст в ячейке Google Sheets движущимся?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Ответ: можно.

    Сделать можно вообще всё, что угодно. Даже троллейбус из буханки хлеба. Но зачем?!

    P.S. Для умопомрачительных свистоперделок можно сделать отдельный сайт, а не переделывать инструмент, предназначенный для других целей. Так будет дешевле. А то, что хотите вы, будет немного дороже. Цена зависит от того, чем вы готовы пожертвовать. Например, можно написать расширение для бразуера и всех юзеров заставить его установить, чтобы они могли работать с вашей таблицей. Жертвуем комфортом. Хотя у таблиц там даже свои "дополнения" есть. Можно скриптом быстро менять значение ячейки. Плюс к цене: дополнительная нагрузка на процессор, неудобство чтения, необходимость программирования, невозможность скопировать текст из ячейки с "бегущей строкой".

    P.P.S. В начале 2000х была мода делать на сайтах всякие выезжающие меню и прочие свистелки. Но потом все быстро смекнули, что это нужно лишь тем, кто их делает, чисто по фану и ради понтов. Обычным юзерам это нафиг не нужно. Лишь делает взаимодействие с сайтом менее интуитивным. Точно также вы хотите сделать менее интуитивным взаимодействие с гугл таблицами. Подумайте, зачем. Если ответ есть, то делайте, конечно. Иначе придётся переосмыслить задачу.
    Ответ написан
    2 комментария
  • Как устроена математика в лутбоксах?

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

    Каждый предмет имеет некую стоимость либо в рублях, либо в игровой валюте, либо во времени, либо это некий аналог мощи/силы - не важно. Спросите у своего геймдизайнера (балансера), что почём. Прикручивая шанс к предмету, вы как бы уменьшаете его стоимость. То есть если Меч тысячи истин стоит 500 руб, то при шансе 1% его мат. ожидание будет 5 руб, очевидно. Далее просто складываете все мат. ожидания в сундуке - это будет мат. ожидание стоимости сундука, вот и берите его за основу. Затем можете увеличить или уменьшить эту стоимость сундука на некоторую величину, какую захотите, чтобы это было достаточно "честно" для вас. Как по мне, честность здесь сомнительная. Эту математику многие игроки тоже понимают, хотя бы интуитивно (когда шансы видны). Здесь нужна не честность, а баланс. Так что лучше делегировать всю эту математику геймдизайнеру, или кто там у вас отвечает за монетизацию.

    Далее, в геймдеве часто используют как раз-таки, так называемый, нечестный рандом. Он может быть по-разному нечестный, но сути это не меняет. Например, более-менее справедливый вариант: если Меч тысячи истин (с шансом 1%) не выпадает с 200го лутбокса, то игра должна впихнуть его, чтобы игрок был в конце концов счастлив. А если игроку выпал этот Меч тысячи истин, то чтобы он более не выпадал следующие 50 лутбоксов, а то уж больно жирно. В целом, шанс так и остаётся 1%, так что обмана, как такового, нет. Но, конечно, если игроки будут знать эти детали, то начнут абузить вашу систему по-чёрному, что в итоге приведёт к искажению шансов. Как говорится, думайте сами, решайте сами, нужны или не нужны вам заявленные хорошие жирные шансы. Хотя в рамках маркетинга вы, конечно, можете использовать любые слова, но это уже лучше делегировать маркетологу. А здесь в вашем вопросе эти слова слегка неуместны.

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

    Ещё к слову, каждая механика вводится для какой-то цели. Отталкивайтесь от этой цели, когда формируете состав лутбокса и прочие его особенности. То есть задача - добиться поставленной цели, а не просто ввести фичу для галочки. Обезьянничать - плохо. Нужно понимать, зачем в CSGO / DotA существуют лутбоксы и каким образом они делают игру лучше. Может быть, оно вам и не нужно вообще в вашей игре.
    Ответ написан
  • Скажите пожалуйста куда писать жалобы на работодателя?

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

    Какие ваши права и законные интересы были нарушены? Сначала сформулируйте это, а потом жалуйтесь туда, где отвечают за соблюдение именно этих ваших прав.

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

    Поэтому разумно простить и забыть. И попутно извлечь урок, конечно же.
    Ответ написан
    3 комментария
  • Как удалить часть текста регуляркой?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Может, заменой так?
    (\.RU)\s[^\r\n]*([\r\n])
    $1$2
    Ответ написан
  • Как скрыть элемент по его имени?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Например, так:
    var arr = document.getElementsByName("test");
    if (arr.length > 0) {
      arr[0].style.display = "none";
    }
    Ответ написан
    Комментировать
  • Как в гугл таблицах реализовать подсветку наименьшего значения?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Условное форматирование.
    Применить к диапазону A:A
    Дальше по формуле.
    Правило 1: =A1=MAX(A:A)
    Правило 2: =A1=MIN(A:A)

    P.S. Вместо A1 нужен адрес верхней левой ячейки диапазона. В данном случае это A1.
    Ответ написан
    4 комментария
  • Как найти достойного PM в гейм-индустрии?

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

    Планов конечно куча, было бы глупо остановиться на своём первом забеге

    Если под планами вы имеете в виду кучу идей, то как раз наоборот: отказываться от идей и забывать о них - обычное дело. Потому что они ничего не стоят. Их у каждого человека имеется с избытком.
    Ответ написан
    1 комментарий
  • Что будет если оперативная память и файл подкачки заполнятся полностью?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Будут ошибки выделения памяти.
    Многие программы рассчитывают на то, что память условно бесконечная. Поэтому да, будут крашиться.
    Ответ написан
    Комментировать
  • MTA (Multi Theft Auto) LUA - Почему выдает 0 или false?

    dollar
    @dollar Куратор тега Lua
    Делай добро и бросай его в воду.
    Проблема может быть, в чём угодно.

    Незачем гадать и ломать голову. Займитесь отладкой.
    Хотя бы так:
    function playerRegister(login, password)
      outputChatBox('Enter playerRegister...')
      outputChatBox('login=',login,' password=',password)
      local player = source
      outputChatBox('player=',player)
      local mynick getPlayerName(source)
      outputChatBox('mynick=',mynick)
      local mylogin = getAccount(login)
      outputChatBox('mylogin=',mylogin)
      local mypassword = getAccount(password)
      outputChatBox('mypassword=',mypassword)
      if not getAccount(login) then
        outputChatBox('Creatre new account (' .. tostring(login) .. ')...')
        addAccount(login, password)
        outputChatBox('dbQuery:')
        local query = "INSERT INTO users(login, nickname, password, status, hp, money, level) VALUES("
          .. tostring( mylogin ) .. ", " .. tostring( mynick ) .. ", " .. tostring( mypassword ) .. ", 1, 100, 1500, 16)"
        outputChatBox(query)
        dbQuery(db, query)
        outputChatBox('Аккаунт успешно создан.', player)
      else
        outputChatBox('Аккаунт с таким логином существует!', player)
      end
    end
    addEvent('playerRegister', true)
    addEventHandler('playerRegister', root, playerRegister)

    Шанс угадывания - не 100%. Но с помощью отладки в мире программирования можно гарантированно докопаться до причины.
    Ответ написан
  • MTA (Multi Theft Auto) LUA - Что не так с моим запросом в базу данных?

    dollar
    @dollar Куратор тега Lua
    Делай добро и бросай его в воду.
    В Lua можно только цифры склеивать со строками с автоматическим приведением типов.
    Остальные типы нужно вручную приводить к строкам.

    Поэтому вместо:
    ", " .. mypassword .. ", 1, 100, 1500, 16)"
    Нужно:
    ", " .. tostring(mypassword) .. ", 1, 100, 1500, 16)"
    Ответ написан