Задать вопрос
  • Не понимаю, как это работает?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Похоже, что используется недокументированная особенность функции Array.sort()
    Ведь согласно документации, сравнивающая функция должна однозначно давать порядок, а в вашем примере получается, что compareFunction(a,b)===compareFunction(b,a)

    Насчёт a и b - они как бы есть, но они не указаны в параметрах, потому что не используются. Их можно указать, чтобы как бы соблюсти формальность, но смысла нет конкретно для вашего хитрого примера:
    arr.sort((a,b) => -0.5);

    Можете также заняться отладкой, чтобы понять, что происходит под капотом:
    arr.sort((a,b) => {console.log(a,b); return -0.5});


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

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

    Вообще начните с изучения ООП, тогда вопрос по идее отпадёт.

    А навык придёт с опытом.
    Ответ написан
    2 комментария
  • ЭЦП - это безопасно?

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

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

    ЭЦП могут украсть, пароль выпытать паяльником и т.д.
    Ответ написан
    1 комментарий
  • Как корректно записать данные?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Как бы костыль, но в большинстве случаев будет работать:
    data = JSON.parse(result.replace(/\]\[/g,'],['));

    Ещё можно так:
    data = JSON.parse(result.split('][').join('],['));
    Ответ написан
    4 комментария
  • Как написать регулярку для строки, которая может быть пустой?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    /^([a-zA-Z]*)$/u
    Ответ написан
    Комментировать
  • Как сохранить данные в js?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    let count = localStorage.count !== undefined ? localStorage.count : 0;

    Либо императивно:
    let count = localStorage.count;
    if (count === undefined) count = 0;

    Сохранение (в другом месте после инициализации), очевидно, также:
    localStorage.count = count;
    Ответ написан
    Комментировать
  • Как обстоят дела с продвижением игры в апстор?

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

    Если по-простому, то даже при наличии супер крутой и интересной игры, продажи сводятся к следующему (при любой системе монетизации):
    1) Вы покупаете игрока, например за 1$ (то есть платите за рекламу, через которую игрок узнаёт о вашей игре и покупает её).
    2) Игрок приносит вам не менее 1$.
    3) Профит.

    То есть это как бы такая чёрная коробочка, куда вложил X, а потом получил Y.

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

    А при наличии хорошей игры, для которой X < Y, стоимость маркетинга многократно превышает стоимость самой игры.

    Аудитория iOS не то, чтобы против f2p, просто такая модель обычно сигнализирует обо всяких тёмных паттернах вытягивания бабла из клиента. А клиенты привыкли, что их ценят и не выносят им мозг почём зря, и уж тем более не обманывают. Ну и раз уж купили айфон, то по идее b2p - не проблема. А вот что именно будет выгодней - надо смотреть конкретную игру, да и то оценка будет примерной.
    Ответ написан
    Комментировать
  • Есть ли смысл изучать iOS разработку сегодня?

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

    Вон, доллару тоже пророчили, что он взлетит до небес, но он даже не вышел за отметку 200, а сейчас уже и вовсе ниже 80. Однако никто точно не знает, что будет завтра: может быть, всё же взлетит, или останется на текущем уровне (плюс-минус), или вообще упадёт ниже плинтуса. Почему бы и нет?
    Ответ написан
    7 комментариев
  • Верно ли "грызть" себя за подсматривание чужого кода в процессе самообучения?

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

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

    Поэтому подсматривать лучше в том случае, когда потратил достаточное количество времени на собственное решение. Не 5 минут, а хотя бы 2 часа размышлений. Тогда уже имеет смысл, чтобы не буксовать. Эффект для обучения хороший, почти как если сам. Чем больше мучений, тем лучше эффект запоминания и выше удовольствие в конце.

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

    Ещё можно подсмотреть, к примеру, 10% решения, а до остального догадаться самостоятельно - это тоже хорошо. Вы сами (субъективно) для себя определяете долю подсмотренного, насколько оно существенно. Ключевая идея - это примерно 90% решения. Если тонких моментов несколько, то доля у них будет примерно одинаковая.

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    255.255.255.192 маска у всех
    К слову, /26 - это и есть маска.
    1) 10.10.103.0/26
    2) 10.10.103.64/26
    3) 10.10.103.128/26
    4) 10.10.103.192/26
    Ответ написан
  • Как одно устройство может получать 2 IP адреса?

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

    Смотрите настройки самого устройства, чтобы отключить второй MAC, либо просто смиритесь и не пользуйтесь вторым адресом, ведь он по большому счёту никому не мешает.
    Ответ написан
    2 комментария
  • Какие есть IDE для nelua?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Например, Visual Studio Code подойдёт в качестве IDE, согласно FAQ:
    spoiler
    624ae60d58de5797456973.png
    Ответ написан
    Комментировать
  • Как сделать так, чтобы проверка данных захватывала только определенные данные из одной ячейки?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Самое простое - сделать второй столбец для даты, где каждая ячейка ссылается на полную дату и отбрасывает дробную часть (как у числа).
    Ответ написан
    Комментировать
  • Могу ли я встроить принятие BTC платежей со своего сайта в iOS приложение?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Если это PWA-приложение, то там разрешено всё.
    Хотя и не всё можно реализовать чисто технически, но банально "сайт на весь экран" сделать точно можно.
    Ответ написан
  • Как правильно реализовать подбор игроков для мультиплеера?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Думаю, здесь нужно гуглить что-то типа: matchmaking algorithm
    К слову, надеюсь, английский вы знаете неплохо.

    Советую разделять:
    1. Логику подбора игроков
    2. Конкретный алгоритм (оптимизация этой логики)
    3. Реализацию на конкретных ЯП и БД

    Это всё разные вопросы. И их следует адресовать разным экспертам, а не 3 в 1. Эксперт по ЯП может не уметь в геймдизайн и наоборот.

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Никто точно не знает, что будет в будущем.
    Поэтому вам никто не сможет ответить однозначно.
    А гадалки нынче живут на Ютубе.

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

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

    Напомню, что на клиенте, если пользователь не выставил пояс, по умолчанию можно автоматически определять пояс (то есть использовать локальное время). А если вдруг выставил, то по идее можно обновить отображение времени без лишнего запроса к бэку.
    Ответ написан
    Комментировать
  • Как набрать символ "\", не копируя?

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

    Если же этой клавиши нет, то нужно включить numlock, затем набрать Alt+92
    (то есть зажать Alt и, не отпуская, нажать 9, затем 2 на numpad).

    Но вообще даже на нестандартной клавиатуре эта клавиша должна быть. Стоит получше поискать, потыкать, она может быть не подписана, например, либо располагаться в нестандартном месте.
    Ответ написан
    2 комментария
  • Циклы, рекурсия и массивы в JAVASCRIPT?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Ничего, разве что ; расставить. Я бы ещё длинную строку кое-как разбил, но это вкусовшина. Ещё я бы писал arr вместо array, ибо в других языках это зарезервированное слово, да и в js есть Array (а также obj вместо object), но не уверен, что это улучшит читабельность именно для новичков.
    Ответ написан
    Комментировать
  • Как поменять картинку через JS?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    document.querySelector("#picture1").src = "images/logodark.png";
    Ответ написан
    Комментировать