Задать вопрос
  • Блокировщик трекеров браузера отрубает GTM и искажает скрипты сайта, что с этим поделать?

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

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

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

    Если данные сохранять, в целом, пользователям не нужно, то можно просто сделать таблицу с правами на чтение. И дальше пусть каждый сам себе копирует её (команда "создать копию"). Когда админу нужно сделать изменение, все пользователи должны удалить старую копию и сделать новую из исходника. Цена вопроса - лишний клик для каждого пользователя.
    spoiler
    5e1486a882f2d643529028.png
    Ответ написан
  • Как автоматически транслировать любой готовый алгоритм с любого ЯП на любой другой ЯП без ущерба для скорости работы алгоритма?

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

    Но вы можете так делать для своего кода, если нужно и удобно.
    Ответ написан
  • Как сделать переадресацию на другой сайт, если основной недоступен?

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

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Для E1 из вашего примера нужно ввести такую формулу:
    =СУММ(ЕСЛИ(B1:B6>A1:A6;1;0))
    Но только при вводе формулы нажимать не Enter, а Ctrl+Shift+Enter.
    Аналогично нужно сделать формулы для E2 и E3, подставив знаки < и = соответственно.
    P.S. Пример в гугл таблицах
    Ответ написан
    1 комментарий
  • Как отредактировать строку по её индексу при чтении построчно файла?

    dollar
    @dollar Куратор тега Lua
    Делай добро и бросай его в воду.
    1) Считать все строки файла в массив (таблицу).
    2) Изменить элемент (строку) №22 в массиве.
    3) Перезаписать файл, записав в него из массива все строки заново.
    Ответ написан
    Комментировать
  • Как использовать 1 localstorage на 2 js файла?

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

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

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

    Второй причиной является экономия при разработке. Unity - это уже само по себе экономичное решение. Многое доступно из коробки. Специалисты стоят дешево. Во всяком случае, дешевле, чем серьёзные бородатые программисты на C++. Но можно же пойти дальше, и сэкономить на тестировании, на создании документации и пр. Отсюда и забагованность.

    Ну и третьим моментом являются разные странности и некоторая черезжопность использования Unity (не везде и не всегда, конечно же). То есть это недостаток опыта и знаний о самом Unity, о его болезнях.
    Ответ написан
    7 комментариев
  • Как вставлять изображение на canvas НЕ только при загрузке?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    С помощью data:URL (RFC 2397).
    Пример
    <img src="data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0j
    vb29t/f3//Ub//ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAA
    Re8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcppV0aCcGCmTIHEIUEqjgaORCMxIC6e0Cc
    guWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7" width="16" 
    height="14">

    К слову, загрузка всё равно будет. Просто вы переносите картинку из отдельного файла в саму страницу, увеличивая время её загрузки. Иногда это оправданно. Но если картинки большие, то вы просто лишаете себя возможности показать какой-нибудь preloader, чтобы пользователь не скучал в ожидании.

    Соответственно, ваш код нужно поменять примерно так:
    Код
    const image = new Image();
    image.src = strDataURI; // картинка уже в строке
    texture = image;
    Ответ написан
    Комментировать
  • Mobile Game art/design - как создавать такой дизайн?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Используется художник, который специализируется на таком стиле или умеет его копировать (подражать другому художнику).
    Ответ написан
    Комментировать
  • Что будет в геймдеве с Flash после его закрытия?

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

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

    Браузерные игры в 2020 можно разрабатывать на WebGL. Для этого вполне подходит Unity. Собственно, Unity как раз делает упор на кроссплатформенность, так что один и тот же проект вы сможете собрать под разные платформы без особых проблем. Ограничителем будет только отличие в целевых устройствах и способах взаимодействия с ними (разные размеры экрана, соотношения сторон, наличие мыши, клавиатуры, сенсорного экрана, датчиков и пр).
    Ответ написан
    7 комментариев
  • Какие персональные данные может получить ios приложение?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Это вы пошутили так?

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

    К примеру, не смотря на информацию об ip при подключении к вашей WiFi-точке, приложение не может узнать её mac-адрес. Раньше было можно, а сейчас лавочку уже прикрыли.

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

    Ну а громкие статьи, когда находится какой-то баг или дыра, как раз потому и громкие, что Apple делает акцент на безопасности, а по факту происходит утечка. Кроме того, многие журналисты стараются найти что-нибудь эдакое, чтобы можно было подать с красивым жёлтым заголовком. И "дыра в iOS" звучит более громко, чем "дыра в Android".

    Конечно, реальные дыры тоже бывают, причем порой огромные. Но по секрету скажу, ваши ПД и так не являются тайной для, например, государства. Даже вот я, при наличии определенных связей и денег, могу получить доступ к вашей переписке whatsapp. Так что если у вас какие-то реально большие секреты, то на Apple не стоит надеяться, нужно прилагать дополнительные усилия по обеспечению ИБ.
    Ответ написан
    Комментировать
  • Стоит ли учить Python разработчикам в Unity для работы с ИИ?

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

    ИИ в играх - это быстрое принятие решений. И нейронные сети там обычно не используются. Ну, в самой игре. Для тестирования игр используются, а для оживления NPC - нет. Кроме того, нейронная сеть занимает неоправданно много места в оперативной памяти. Поэтому дерево решений в большинстве случаев достаточно.

    С точки зрения геймдизайна ИИ в игре не должен быть слишком умным. Он должен уметь всего лишь красиво отдаваться игроку. :)
    Ответ написан
    Комментировать
  • JavaScript или Python - на чем проще написать игру?

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

    На ум приходят два популярных хороших движка:
    1. Godot - там как бы Python, но не он. Там свой скриптовой язык, очень похожий на Python. Проблема здесь в том, что если буквально прикручивать Python, то это повлечет накладные расходы производительности. Так что если не хотите учить новый язык (а зря), то попробуйте Godot - сам движок учить всё равно придётся.
    2. Unity - там как бы был JavaScript, и в целом даже ещё есть. Но разработчики этого движка давно поняли, что это бесперспективняк, и стараются всячески уйти от поддержки Javascript. Рано или поздно они её выпилят в пользу C#, который гораздо лучше для игр. Да и то там, как и в случае с Godot, не совсем Javascript, а очень похожий язык, который в свое время нарекли Unityscript.

    Таким образом, C# - лучший выбор.

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

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

    1) Вовремя платить
    ИЛИ
    2) Мало зарабатывать

    Разработчик сам решает, как ему удобнее платить налоги. Можно с ИП, можно без ИП. Сервисы не занимаются вашими налогами.
    Ответ написан
  • Почему в данном регулярном выражении ленивый квантификатор не учитывает кавычку?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    let str = '...<a href="link1" class="wrong">... <p style="" class="doc">...';
    let regexp = /<a href="[^"]*?" class="doc">/g;
    alert( str.match(regexp) );
    Ответ написан
    Комментировать
  • Игра от steam не запускается на основной монитор, как можно принудительно запустить в основной монитор?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    На Linux никто из разработчиков толком не тестирует игры, потому что согласно статистике (кликнуть OS Version), им пользуются всего лишь 0.81% игроков на 2019 год. Так что если всплыл баг, то его разработчик может не исправить даже после жалобы и подробного описания.

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

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    В теории - может.
    На практике - это слишком сложно, шансы очень близки к нулю.
    Ответ написан
    4 комментария
  • Хороший ноутбук для учебы?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Что такое "ноутбук для учёбы"?
    При том, что вам нужно и работать, и играть. Написали бы "для работы и игр". В любом случае, это очень абстрактный вопрос.

    Комфорт в большой степени зависит от оперативной памяти. Так что смотрите на неё.
    Вот пример сортировки по цене ноутов с 16 Гб оперативки. До 50к - всего 10 моделей.
    Ответ написан