• Почему не находит переменную?

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Вариант 1: запрет и модерация. То есть как только появляются доказательства кооперации вне игры - наказание. Игрокам дать возможность жаловаться на других игроков. Также можно прикрутить систему, в которой жалобы будут учитываться полуавтоматически. Пример, где так сделано: Project Winter

    Вариант 2: запретить игрокам собираться вместе на уровне матчмейкинга. То есть нельзя пригласить друга, вместо этого тебе дадут случайного игрока. Плюс (по желанию) убрать чат и голос, чтобы нельзя было обменяться контактами, но случайные люди и так вряд ли будут звать в дискорд. Пример, где так сделано: Journey (2012)

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Первый алерт ставит на паузу дальнейшее выполнение скрипта, пока вы не нажмёте ОК.
    Как только вы закрываете первый алерт, происходит вывод в консоль, а сразу затем происходит второй алерт, который также ставит на паузу всю работу скрипта, но в консоли уже есть сообщение.
    Ответ написан
    Комментировать
  • Как передать значение в объект переменной, чтобы она стала и ключем, и значением?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Нужно заранее хранить где-либо название переменной в виде строки.
    let obj = {};
    let myVar = 123;
    let myVarName = "myVar";
    
    obj[myVarName] = myVar;


    Как вариант, можно изначально хранить данные в каком-то объекте в виде ключ-значение, тогда можно будет также извлекать в виде пары ключ-значение и передавать в другой объект.
    let some_obj = { myVar: 123 };
    //Object.keys(some_obj); // Все ключи
    let obj = {};
    for (let key in some_obj) obj[key] = some_obj[key];
    Ответ написан
    Комментировать
  • Как определиться с направлением программирования или ЯП?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Отсутствует главный тезис о том, что знание ЯП не сделает вас программистом.
    Как вы верно заметили, понимание принципов работы серверов и сети тоже сильно помогут, в том числе и в случае со Swift, но этого также будет не достаточно, чтобы называться программистом (даже со знаниями ЯП).

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

    А при наличии опыта пересесть с одного ЯП на другой - это вопрос 1-2 недели максимум (ну кроме разве что С++ или какого-нибудь ассемблера).
    Ответ написан
    4 комментария
  • Бесплатный VPN-плагин для хрома, чтобы переключить IP на заданную страну?

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Формула: y = 4 - x/2
    (находится с помощью простой школьной математики)
    Это линейная функция. Значит, формула нужна примерно такая:
    y = k * x + b
    Нужно найти k и b по известным x и y. Подставим. Получим систему уравнений:
    2 = k * 4 + b
    2.5 = k * 3 + b
    Вычтем второе из первого:
    -0.5 = k
    Далее находим, что:
    b = 4
    Итоговая формула:
    y = - 0.5 * x + 4

    Соответственно, классическая функция будет выглядеть как-то так:
    function Fn(x) {
      return 4 - x/2;
    }
    Ответ написан
    Комментировать
  • Как попасть в популярные новинки[Steam]?

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

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    memtest вам в помощь)
    Ответ написан
    Комментировать
  • Как NTFS удаётся хранить файлы размером больше 4Gb?

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

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

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

    Имя переменной существует только на уровне языка программирования. Хотя это зависит от языка. В скриптовых языках, например, имя также хранится в памяти, но это уже нюансы. В компилируемом языке имя переменной нужно только для наглядности и понимания логики программы, и во время компиляции это имя превращается в адрес.

    Готовая скомпилированная программа (например, exe-шник) выполняется процессором, который ни о каких переменных не в курсе. Для процессора просто есть инструкции по типу записать по такому-то адресу такое-то значение и т.п.

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

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

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Interrupts (прерывания системы)

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

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Полагаю, что зависит от сферы и от конкуренции. Если вы крутой, то достаточно опубликовать резюме на том же HH - и вам посыпятся предложения, причём платить будут работодатели (проекту HH). Если же вы сами не очень, и в вашей области овердофига таких же, как вы, то придётся в поте лица долбиться во все вакансии в надежде, что хоть где-то возьмут, и даже если приплачивать - не факт, что возьмут в ближайшее время.
    Ответ написан
    Комментировать
  • Iphone 12 vs Iphone 13, стоит ли переплачивать?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Таблица сравнения

    А дальше сами решайте, стоит ли переплачивать или нет, и за что именно.
    Ответ написан
    2 комментария
  • Нужно ли вкратце конспектировать материал из книги по програмированию?

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

    Повторять знания лучше на следующий день после получения. Потом ещё через 3 дня. Потом ещё через неделю, потом через месяц. Такой подход позволяет очень прочно закреплять знания. Если в процессе повторения обнаружились пробелы, то увы, их придётся заполнять повторным чтением, и их можно считать свежими. Годы без повторений и без практики способны стереть почти любые знания: попробуйте-ка вспомнить школьные предметы, которыми вы давно не пользовались, но были отличником. Навыки языка, игры на музыкальном инструменте - что угодно забудется без повторений.

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

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Если поиск в массиве осуществляется через foreach, то грош цена такому массиву.

    Сила массива в том, что доступ к элементу можно осуществлять по индексу, то есть практически моментально. Так что для оптимизации старайтесь делать именно это. То есть обратите внимание на то, какой критерий поиска вы используете, а не что вам нужно извлечь. Ведь при доступе к элементу (который является объектом или структурой), вы и так получите доступ ко всем его свойствам, основное время тратится именно на поиск. Например, если поиск по какому-то уникальному свойству (артикулу, например), то можно сделать ассоциативный массив, ключом которого является именно артикул.

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

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Если игры сами делать будете, то дальше учить геймдизайн. Можно по книгам, которые можно найти в гугле. А если гуглить не получается, то нужно учить, как гуглить и вообще работать с информацией.
    Ответ написан
    Комментировать
  • Как сделать доступным переход на страницу сайта только в случае переадесации с другого сайта?

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

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Извиняюсь за такой ответ, но вам к психологу. Серьёзно. Излишняя дотошность в любом деле вредит ему, нужно уметь находить баланс. А про невротизм вам вряд ли кто-то подробно и тактично расскажет в рамках данного ресурса. Попробуйте задать этот же вопрос, например, на b17.ru (только без технических подробностей, конечно же).
    Ответ написан
    2 комментария