Задать вопрос
  • Блокировка загрузки скрипта на сайте (как)?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Если для использования стороннего скрипта B вы согласились на рекламу V, то вы сейчас, получается, хотите обойти соглашение и нарушить условия сделки. Самый правильный путь - договориться иначе (перезаключить другую сделку). Если не удаётся, то уйти к конкурентам и договориться с ними на более выгодных условиях. Если и это не удаётся, то найти альтернативное решение. Ну и железобетонный последний вариант - реализовать подобный функционал самому, что бы это ни было (алгоритм, база, аудитория, информация) - всё можно сделать, собрать, накопить, привлечь, за свои деньги конечно же.

    Заниматься хакерством - не самый правильный путь. Но здесь уже нет рецептов. Вы сами решаете, как именно обмануть партнёра. Решение будет зависеть от деталей, и от того, как именно устроены N, B ,V. Дырки в них могут оказаться такими, что их можно использовать. А если партнёр заранее побеспокоился о своей безопасности, то обход скрипта V так, чтобы использовать B, может обойтись вам дорого (вы потратите много сил и времени, ну или денег, конечно же).
    Ответ написан
    2 комментария
  • Как найти идейного человека в команду, за относительно небольшие деньги?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Чем более крутой человек вам нужен, и чем меньше вы готовы платить, тем больше удачи понадобится. Да, именно удачи. И времени, чтобы эту удачу испытывать. Ведь нужно везение, чтобы человек был умным, и в то же время не достаточно умным для понимания, что его используют, ну или с какими-то легкими проблемами, с низкой самооценкой, но чтобы это не сильно мешало работе. В общем, без удачи - никак.

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

    Насчёт глупых вопросов - их все задают. Даже крутые специалисты - не идеальны. Либо из-за пробела в знании, либо из усталости, стресса, эмоций, такой специалист порой может сморозить глупость.

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    В общем случае процессор Intel младшего поколения не лучше старшего. Хотя иногда, конечно, бывает, что выходит настолько удачная модель, что несколько последующих моделей (той же линейки) не могут её переплюнуть.

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

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

    Новые модели процессоров ждать не стоит. По частоте они примерно достигли своего пика на данный момент. Дальше технологии идут по пути многопроцессорности/многоядерности, а это не простой путь. Так что просто берите то, что вам кажется оптимальным в отношении качество/цена для ваших нужд, и пользуйтесь.
    Ответ написан
    2 комментария
  • Как указать степень при вводе?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    А если пользователь напишет: 2 + 2 * 2?
    Придётся писать свой калькулятор, хотя бы для степени. То есть сначала значение записывается в виде строки, а затем с помощью некоего алгоритма можно перевести в число. Конечно, если это вообще возможно, потому что пользователь может ввести какую-нибудь дичь типа 10^Вася, и программа должна на это как-то реагировать.
    Ответ написан
    2 комментария
  • Как вернуть setTimeout?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    let is_paused = false;
    const timeout = setTimeout(() => {
      if (is_paused) return;
      console.log("timeout!");
    }, 1000);


    Тогда снимать и возвращать таймер можно просто:
    is_paused = true; //снять
    is_paused = false; //вернуть


    А вот это вообще не имеет смысла:
    const fn = () => timeout;
    Потому что timeout - число (номер таймера). Так что fn() всегда будет возвращать некую числовую константу, которую можно получить и так, обращаясь непосредственно к timeout, которая не меняется. То есть timeout - не ссылка на объект таймера, а просто число.

    Возвращаемый идентификатор таймера (timeout) функцией setTimeout нужен только для того, чтобы иметь возможность остановить таймер полностью. Встроенных возможностей ставить на паузу и снова запускать - нет. Можно либо так, как я реализовал выше, через внешнюю переменную, либо каждый раз создавать новый таймер с новым идентификатором (и тогда timeout лучше сделать переменной, а не константой).
    Ответ написан
    5 комментариев
  • Как в excel вырезать 2 последних слова и вставить в другую ячейку?

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

    Варианты решений:
    1. Использовать Google Sheets, там есть поддержка (например, функция REGEXMATCH)
    2. Добавить поддержку в Excel, для этого нужно погуглить "excel регулярные выражения". Здесь расписывать нет смысла, т.к. уже всё расписано в других местах.


    Само выражение зависит от того, что вы хотите конкретно. Ведь 2 или 3 слова - это не однозначная формула. Так 2 слова или 3 слова нужно? Или 50/50 случайным образом? Или 3 слова, когда есть 3, а когда нет 3, но есть 2, тогда 2? А что если всего 1 слово, какой должен быть результат? И так далее.

    Для двух последних слов выражение примерно такое:
    \s+(\S+\s+\S+)\s*$
    Но, как я сказал выше, зависит от нюансов.
    Ответ написан
    5 комментариев
  • Залитый ноутбук. Как это скрыть?

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

    Здесь главный вопрос не в том, как скрыть, а как сделать так, чтобы это не повторилось. Совет "быть аккуратней" вряд ли сработает (см. эпиграф). Так что основной совет - больше никогда не пить (и не есть) за компьютером. Для пищеварения это тоже полезно. Но разве можно вот так просто взять и избавиться от привычки? Нужна сила воли.

    А скрыть - очевидно, обманом, это либо заказать ремонт, либо самостоятельный ремонт, либо покупка ноута / его частей, либо подставить кого-то, чтобы он попал на бабки, а не вы и т.д. Всё это гадко и не стоит того, чтобы оставшуюся часть жизни считать себя какашкой. Даже в случае увольнения вы сами будете продолжать помнить, кто вы. Вспоминать не приятно, делиться с кем-то - тоже. Оно вам надо, такой багаж иметь? Лучше честно рассказать, и дай бог вас снова простят, но если нет - придётся расплачиваться. Это в любом случае придется делать, вопрос лишь в цене - деньгами или частичкой своей души. Что дешевле?
    Ответ написан
    Комментировать
  • Можно ли создавать онлайн игры (2D) на Python PyGame?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    А как ты гуглил?
    spoiler
    5f574432b9800370492821.png

    (риторический вопрос, являющийся ответом)
    Ответ написан
  • Какие сложности возникнут при разработке гемблинг сервиса?

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

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

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

    Например, банально, кроме console.log(a); можно добавить console.log(html); сразу после того, как в этой переменной что-то должно появиться. Если появилось, то значит что-то не так после этой строки. Если не появилось, то что-то не так до этой строки. Из всевозможных ошибок мы сразу убираем половину.

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

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

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

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

    dollar
    @dollar Куратор тега Lua
    Делай добро и бросай его в воду.
    Видно же, что имена переменных все вырезаны.
    Вот здесь сразу ошибка синтаксиса, что бы ни было до и после:
    local ‪ =

    И glua практически ничем не отличается от lua, кроме дополнительного сишного синтаксического сахара.
    Ответ написан
  • Что означает сообщение: WhatsApp открыто на другом компьютере или в другом браузере?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Открой в настройках "WhatsApp Web" - увидишь все сессии.
    Примерно так
    5f513e59b0826993837150.png
    Ответ написан
  • Почему return выводит undefined, а консоль результат?

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

    Когда return условный, как у вас, то он может и не случиться. В этом случае функция выполнит всё, что должна, дойдёт до конца и ничего не вернёт. Точнее, по умолчанию она вернёт undefined.

    Ещё важно, что если функцию вызвать просто так в качестве оператора, то её результат отбрасывается, какой бы он ни был:
    getSum(begin + 1, end, sum);
    В этом примере функция вызывается не как часть выражения, где её результат может быть использован, а сама по себе, как отдельная инструкция. Поэтому её результат нигде не сохраняется, и просто отбрасывается.
    Ответ написан
    4 комментария
  • Почему не работает пробел в notepad++?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Что за шрифт? Возможно, в нём дело.

    А в браузере так и должно быть, потому что браузер читает файл как HTML. Это такой язык разметки. Там если нужен перенос, то нужно вставить: <br>
    Ответ написан
    1 комментарий
  • GameDev в России? Расскажите о нем?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    В России, как и везде, нет профессии "разработчик игр". Разве что ты одиночка, тогда можно так сказать, но тогда шансы выпустить игру у тебя 0.001%

    В разработке игр участвуют: .... много кто. Да кто угодно. Программисты, художники, менеджеры разных форматов (проджект менеджеры, продюсеры, всякие лиды, HRы и т.д.). Выбирай. :)
    Ответ написан
    Комментировать
  • Зачем нужно распространять бесплатное ПО?

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

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Вот все игровые движки.

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

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

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

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

    Дело в том, что полностью скрыть факт его существования - не просто. Где-то на камерах будет видно, как вы что-то делаете на смартфоне. Тов.майор спросит - что именно? Ваши коннекты к секретному серверу будут видны, очевидно. Сосед сдаст, которому вы всё же похвастались про мессенджер. Посмотрят, что вы создали этот вопрос здесь. Ещё какие-то наводки. В итоге вопросы будут. Так что нужно иметь ответы. Желательно, чтобы фейк крутился на том же сервере для убедительности. Конечно же, все участники должны ответственно относиться к правилам безопасности. И нужно максимально снизить шансы закладок (троянов в телефоне/компе).
    Вот тогда это будет топ секьюрность. Но всё равно не 100%. :)

    Для ознакомления: раз, два.
    Ответ написан
    Комментировать
  • Как сделать процедурную генерацию для 2d рогалика на löve2d?

    dollar
    @dollar Куратор тега Lua
    Делай добро и бросай его в воду.
    Двигать их во все стороны до тех пор, пока они не перестанут перекрывать друг друга.

    Чтобы не перебирать всех со всеми, я бы сделал тепловую карту в виде двумерного массива, каждая ячейка которого хранила бы число прямоугольников над ней. Но не факт, что так оптимальнее по скорости будет. Как идея.
    Ответ написан
    5 комментариев