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

    dollar
    @dollar Куратор тега Lua
    Делай добро и бросай его в воду.
    В самом языке Lua нет возможности взаимодействовать с Интернетом.

    Чтобы эту возможность добавить, нужно задействовать какое-нибудь расширение. Например, LuaSocket. Или можно написать своё. В любом случае, это будет на стороне ядра приложения, куда встраивается Lua. А в самом языке будет лишь доступ к предоставляемому приложением API.
    Ответ написан
    3 комментария
  • Game-dev путь. Что мне делать?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Не достаточно быть программистом, чтобы сделать хорошую игру.
    Нынче (в 2020 году) в одиночку игры практически никто не делает.

    Создание игры можно сравнить с возведением статуи, то есть это произведение искусства прежде всего. Так вот, программист в этой аналогии будет просто следить, чтобы деревья и провода не мешались и чтобы земля не провалилась из-за веса.

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

    С чего начать, спрашиваешь? Начни, например, с того, чтобы понять, кто такой геймдизайнер. Через месяц, когда поймешь, что это такой человек в проекте, который просто бумажки перебирает (утрирую), у тебя будет вся жизнь впереди, чтобы им стать. Это лишь один(!) из путей войти в game-dev с хорошим бэкграундом. Ну а так можно и через тестеры попробовать, и через ПМы... Ну и через программиста тоже можно, только немного странно, потому что если соскочить на другую роль, то на программирование времени не останется, и 90% опыта улетит в трубу, а если остаться программистом, то тема игр тебя будет касаться лишь косвенно. Такие дела, брат.

    Любой может отыграть 10000 часов во всевозможные игры, но далеко не каждый может сделать это с вниманием и любовью к своему делу, имея четкую цель.
    Ответ написан
    Комментировать
  • Есть ли смысл блокировать исходящий трафик в Mikrotik?

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

    В теории, да и на практике, вирус может не уметь пользоваться прокси или VPNами, а тупо стучаться на свой жестко прошитый порт 12345 (любая цифра), который, к счастью, заблокирован.

    Другой вопрос, какого фига вирус вообще проник? То есть проникнув однажды, вирус сможет проникнуть и во второй раз, только уже с нормальным апгрейдом. И почему вирус не может стучаться на 80 порт?

    Но факт остаётся фактом, примитивные непродуманные вирусы ещё встречаются. И в целом "секьюрность" от такой блокировки повышается. Но, имхо, гемор не оправдывает цель, если это не банк. А в случае с банком еще и белый список адресов не повредит.
    Ответ написан
    4 комментария
  • Существуют ли сервисы онлайн проверки текста живыми людьми?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Существуют.
    Но дорого и нет гарантий найти все ошибки из-за человеческого фактора.
    А так можно даже банально фрилансера нанять.
    Ответ написан
  • Как распарсить правильно URL?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Лучше отделить часть с параметрами, и затем разбить её на части вида key=value.
    Это будет универсальное решение.

    Попроще будет сделать ровно то, что вы запросили: проверить "a" сразу после знака вопроса:
    var text = `<a [routerLink]="['/dashboard/micebot/?a=serv11111121']">/micebot</a>`;
    var m = text.match(/\?a=([a-z1-5]*)/);
    if (m) {
      let a = m[1];
      console.log('"a" существует и равно ', a);
      if (a.length == 12) console.log('Длина "a" ровно 12, не больше');
    }
    Ответ написан
    Комментировать
  • Как отсортировать массив в обратном порядке?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Можно просто через цикл с обращением по индексам в обратном порядке.
    for (let i = arrayWords.length-1; i >= 0; i--) {
      let n = arrayWords[i];
      //..............
    }

    Кстати, а почему вы в такой ситуации использовали map вместо forEach?
    Ответ написан
    1 комментарий
  • Как заменить в google spreadsheets (гугл таблицы) в диапазоне ячеек относительные ссылки на абсолютные?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    С абсолютными ссылками адреса съедут точно также.

    Чтобы этого не происходило, нужно просто не вставлять новую строку. Для этого можно в вашем примере выделить 4,5,6 (C5:C7) и скопировать чуть ниже (на C6). Т.е. сначала Ctrl+C, а потом Ctrl+V.

    При этом Ctrl+X нельзя, т.к. это будет перемещение, а при перемещении адреса запоминаются и сохраняются у ссылающихся ячеек.
    Ответ написан
  • Как найти где установлена программа?

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

    Ищите файлы по дате установки - не ошибётесь.
    Ответ написан
    Комментировать
  • Есть ли простой способ найти конкретный элемент, если кликаешь на другой элемент?

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

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

    Конкретно ваш код можно упростить, как минимум, до такого:
    Код
    let d = document, card = d.querySelectorAll(".card");
    var current = null;
    
    d.querySelectorAll(".btn").forEach(item => item.addEventListener("click", (e) => rotateCard(e)));
    
    function rotateCard(e) {
    	// Is there another way to find the item?
    	current = e.target.parentElement.parentElement;
    	current.style.transform = 'scale(2)';
    }

    Или можно учесть, что количество и порядок индексов одинаковый, и привязаться к нему. Тогда получится это:
    Код
    let d = document, card = d.querySelectorAll(".card");
    var current = null;
    
    d.querySelectorAll(".btn").forEach((item,j) => item.addEventListener("click", () => rotateCard(j)));
    
    function rotateCard(idx) {
    	// Is there another way to find the item?
    	current = card[idx];
    	current.style.transform = 'scale(2)';
    }
    Ответ написан
    3 комментария
  • Зачем писать tooltipElem = null;?

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

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Зависит от того, что за проект, в какой сфере.

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

    К примеру, если это мобильное приложение, то без маркетинга вообще никак. И если идея, а точнее её реализация, действительно классная, как вы думаете, то первую альфу можно показать родным и друзьям, и 1 из 10 это уже что-то. Серьёзно, PU 10% это круто, а 20% - просто сказка в наше время. Далее бету можно засофтлончить на небольшой группе (естественно, купив инсталлы). В результате вы получите уже не свои фантазии, как всё хорошо или как всё плохо, а реальные метрики. И станет ясно, прибыльный проект или не очень. Если прибыльный, то можно релизиться, иначе не так много вариантов:
    1. Закрыть проект. Правда, вложенные средства и время уже не вернуть, но это не миллионы.
    2. Вкладываться в проект дальше, улучшая его, доводя показатели прибыльности до нужных. Если есть уверенность, что сможете.

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

    Ещё проблема может быть в том, что вы неправильно выбрали целевую аудиторию. Такая ошибка сильно бьёт по кошельку. То есть ваши знакомые (которые 9/10) могут просто не входить в ЦА. Не нужно спрашивать жену, купит ли она 3D-шутер.

    В общем, как будут цифры, тогда и можно будет судить о том, насколько всё плохо или хорошо.

    Пока что главная ваша ошибка - вы опустили руки. И вторая ошибка - вы считаете, что с пониманием маркетинга ваш проект сможет заработать. Без маркетинга и правда заработать вряд ли получится, но сам по себе маркетинг не приносит денег. Деньги приносит ваш продукт, который должен быть полезным и интересным. Так что лучше сосредоточиться на нём в первую очередь, и начать думать о маркетинге примерно со стадии прототипа. А на стадии идеи можно просто собирать критику, и учитывать её, постепенно переводя это в документацию для будущего проекта.
    Ответ написан
    Комментировать
  • Какой принцип работы Fastconnect'а для samp?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Можно, если на игровом сервере присутствует несовершенство, которое можно эксплуатировать для быстрого подключения к серверу. Сложность в том, чтобы найти эту уязвимость и понять её. И ещё сложность в том, чтобы знать C++. Если две эти сложности преодолены, то не вижу проблемы в том, чтобы написать свой fastconnect на языке C++.
    Ответ написан
    Комментировать
  • Математика в игровой разработке?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Зависит от того, кем ты хочешь стать в рамках разработки игр.

    Например, если геймдизайнером, то в подавляющем большинстве случаев достаточно школьной математики и знания Excel. Ещё понимание теории вероятностей пригодится, но без фанатизма.

    Если продюсером или маркетологом, то примерно те же знания, а также экономика, плюс аккуратность и внимательность. Потому что если просчитаться в сделке на миллион долларов, то это может сильно усложнить жизнь.

    А если программистом, то надеюсь, ты не собираешься в одиночку клепать свой движок, потому что для этого нужна веская причина, а не просто желание где-то самореализоваться.
    Ответ написан
  • Стоит Ли Учить Lua В 2020?

    dollar
    @dollar Куратор тега Lua
    Делай добро и бросай его в воду.
    Lua актуален в 2020 и будет актуален ещё долго.
    Учить стоит.

    Только там нечего учить. :) Язык настолько простой, что программисту хватит максимум 30 минут для освоения. Для более простых людей, но владеющих хотя бы логикой и простой математикой, ну день должно хватить, думаю. А для всех остальных есть книжка Роберта Иерузалимски (автора языка), в которой всё разжевано до мелочей.

    В общем, начните с такого запроса в гугле: lua in 15 minutes
    А дальше - как пойдет.
    Ответ написан
    Комментировать
  • Как лучше организовать план обучения сразу нескольким технологиям?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Ответ в форме мини-теста. :)
    Тест из одного вопроса
    Какова цель обучения?
    • Хочу разрабатывать игровые движки просто так, ради интереса.
    • Хочу разрабатывать игровые движки ради зарабатывания денег.
    • Хочу зарабатывать деньги, а игровые движки это прибыльная сфера.
    • Хочу зарабатывать деньги.
    • Хочу иметь крутую работу, чтобы меня ценили и уважали, а гейдев это круто.
    • Хочу сделать нормальный движок, потому что возможностей UE4 явно мало.
    • Хочу сделать наконец-то нормальный движок, потому в UE4 всё не правильно.
    • Хочу как-то сделать движок лучше, чем UE4 (пока не знаю, в чём именно, но лучше).
    • Хочу исправить пару недостатков UE4 ценой кроссплатформенности, она мне не нужна.
    • Хочу просто делать игры на своём движке, а не на чьём-то ещё.
    • Хочу всё знать про игры про игры со стороны разработчика, а не игрока.
    • Другое
    Ответ написан
  • Блокировщик трекеров браузера отрубает 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 комментарий