Задать вопрос
  • Как поставляются игры на компьютеры?

    @Mercury13
    Программист на «си с крестами» и не только
    Касательно читов. Я простым анализом памяти смог узнать в Microsoft Train Simulator состав поезда игрока, его скорость, положение контроллеров, пройденный путь, давление в различных элементах пневматического тормоза (оказывается, в PSI), боксует ли он. Жаль, я не смог обнаружить привязку всего этого к путям.

    Как я это делал. Через ArtMoney получал некие базовые адреса. Если адрес статический — ну, всё в порядке. Если нет — писал утилиту, в которую изначально вводился найденный адрес. По цифрам я прикидывал, где мог начинаться объект, и снова поиск через ArtMoney… Ну и так далее, пока не дойду до статического адреса. Вот так оно у меня выглядело.

    TmstsLocalTrain = packed record
          _mem0000 : array [$0000..$0061] of byte;
          // 0062
          HeadWagon : dword;   // Головная единица ПС
          // 0066
          TailWagon : dword;   // Хвостовая единица ПС
          // 006A
          LocWagon : dword;    // Управляемая игроком единица ПС
          // 006E
          _mem006E : dword;
          // 0072
          Caps : dword;
          // 0076
          _mem0076 : array [$0076..$0091] of byte;
          // 0092
          Speed : single;       // Скорость по скоростемеру, м/с
          // 0096
          Acceleration : single;  // Ускорение, м/с2
          // 009A
          _mem009A : array [$009A..$00D5] of byte;
          // 00D6
          TimeSec : single;
          // 00DA
          ReversingOdometer : single;
          // 00DE
        end;


    ПС = подвижной состав. Одометр реверсивный, потому что при осаживании (заднем ходе) считает назад. Байтовый массив _mem0000 — это память, которую я не смог опознать. HeadWagon, TailWagon, LocWagon, Caps — на самом деле указатели, но поскольку они не имеют смысла в адресном пространстве лентописателя (задачей было сделать аналог скоростемерной ленты), они Dword, а не указатели.

    Вспоминал, что значат сокращения П, ПТЭ и прочее. Оказалось: паровоз, тепловоз, электровоз. Естественно, регулятор пара есть только у паровозов.
    Ответ написан
    Комментировать
  • Что важно в процессоре больше для программирования, тактовая частота или количество ядер?

    mayton2019
    @mayton2019
    Bigdata Engineer
    С 2005 года достигнут инженерный предел наращивания тактовой частоты. Грубо говоря, современные инфосистемы отказались от движения в ту сторону. Поэтому вопрос поставлен некорректно.

    Не что важно. А что мы вообще можем сделать в этой ситуации.
    Ответ написан
    Комментировать
  • Как можно реализовать такую 3Д анимацию?

    RAX7
    @RAX7

    Держи, сделал небольшой набросок.
    а если они касаются друг друга, они приобретают цвет другого элемента

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

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Так как языки одинаковы по возможностям и сфере применения, то я бы смотрел на востребованность.
    62f396bca4f0c092864801.png
    Ответ написан
    Комментировать
  • В чем принципиально различие postgres от mysql?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Postgresql - более консервативен. Его можно брать почти для любых проектов. Есть partitioning что свидетельствует о зрелости системы и об Enterprise-ready. Единственное что может быть не очень - это некий кумулятивный эффект от частых inserts/updates который требует вакуума. И со счетчиками транзакций там есть нюанс. Но скорее всего в твоём сегменте разработки PHP/Laravel - тебе будет просто безразлично сущестование вакуума.

    MySQL это лейбл под которым на самом деле могут работать различные engines таблиц. И если анализировать какой-то performance-инцедент то нужно в первую очередь спрашивать с какой опцией таблица создавалась. MyISAM/Innodb/e.t.c. Потому что выбор этого двигателя влиял на какие-то опции скорости и транзакций. Я заменял например в создающих скриптах InnoDb на MyISAM для того чтобы просто быстрее прогрузить 1Тб CSV файл.

    В более современных версиях типа MariaDb (я уже не следил за этими новостями) есть более умные двигатели которые учитывают дефекты старых и по идее они должны быть универсальнее. Тоесть можно их брать смело.

    Что лично меня раздражает в диалекте My/SQL - так это странного вида кавычки-апострофы. Никогда не понимал зачем это.
    Ответ написан
    Комментировать
  • Какие есть api, для получения информации с какими странами граничит страна, которую выбрал пользователь?

    EreminD
    @EreminD
    Кое-что умею
    https://restcountries.com/#api-endpoints-v2-all

    Пример
    https://restcountries.com/v2/name/andorra

    [{
        "name": "Andorra",
        "topLevelDomain": [".ad"],
        "alpha2Code": "AD",
        "alpha3Code": "AND",
        "callingCodes": ["376"],
    ...
        "borders": ["FRA", "ESP"], // коды стран
        "nativeName": "Andorra",
    ...
    }]
    Ответ написан
    6 комментариев
  • Можно ли вернуть предустановленную Windows 10?

    apikeev
    @apikeev
    Java-разработчик
    wmic path softwarelicensingservice get OA3xOriginalProductKey
    Ответ написан
    Комментировать
  • Как метод len заменить функцией?

    snaiper04ek
    @snaiper04ek
    Не стреляйте в эникея, он админит как умеет
    Это задача на мышление, её нужно было решать самостоятельно.

    Если в тупую - использовать enumerate
    Если чуть умней - в цикле обращаться к += 1 элементу строки до тех пор, пока не выдаст ошибку

    А вообще, если такие простые задачи не идут на ум, надо идти спать, и утром то что вчера не мог понять 3 часа, понимается за 15 минут.
    Так же полезно самостоятельно гуглить. Например: "как перебрать все элементы", и помнить что строка - это массив, но строка, и они на изичах преобразуются одно в другое.
    Ответ написан
    Комментировать
  • Выбор базы данных для быстрой записи меняющихся данных?

    @KingstonKMS
    Для хранения/обновления/получения актуальных значений используйте redis, для сохранения истории mysql.
    Nodejs по апи забирает исходные данные и обновляет их в redis, из редиса данные берутся во фронтенд и отдельным микросервисом складываются в mysql
    Ответ написан
    3 комментария
  • Архитектура компьютера для новичков?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Обучение и не должно быть удобным. Если мозг не напрягается, то и не развивается.
    Ответ написан
    4 комментария
  • Какой впн-софт посоветуете для линукс?

    @anton99zel
    29а класс средней школы №7
    Wireguard в отличие от OpenVPN имеет отличное приложение для ios и android и windows. OpenVPN на ios вообще не смог завести на этапе добавления конфига. Wireguard не режет скорость в отличии от OpenVPN.
    Завести Wireguard на Микротике не смог, не хватило терпения и опыта.
    Wireguard после установки ОС можно установить одной командой с выбором днс:
    wget https://git.io/wireguard -O wireguard-install.sh && bash wireguard-install.sh
    Ответ написан
    5 комментариев
  • Как обстоят дела с работой в Украине?

    opium
    @opium
    Просто люблю качественно работать
    Плохо война, все кто работал на зарубеж и смог уехать уже уехали
    Ответ написан
    9 комментариев
  • Какую систему управления БД выбрать?

    @Akela_wolf
    Extreme Programmer
    Вопрос уровня: "Существует множество марок машин. Права есть. Ранее водил Ford Mondeo. Какую машину мне выбрать? Или выбор не имеет никакого значения? Надеюсь вы поможете мне разобраться"

    Зависит от конкретных требований к БД. Если чего-то конкретного нет - берите то что знаете, то есть MySQL.
    Ответ написан
    3 комментария
  • Как ставить nginx, в контейнер или просто на сервер?

    akelsey
    @akelsey
    Все предложенные варианты имеют право на жизнь.
    Но я за контейнеризацию, т.к. плюсы размещения в контейнере очевидны, вся конфигурация приложения при следовании лучшим практикам находится в одном месте, например:
    /opt/docker-compose/
    в котором есть список ваших приложений, например:
    nginx-reverse/
    certbot/
    nodejs-front/
    nodejs-back/
    something-else/

    Такая компоновка обеспечит более легкий деплоймент в пайплайне (ci/cd), да и ручной перенос с хостинга на хостинг. Локальное тестирование тоже проще осуществить.
    Ответ написан
    1 комментарий
  • Когда используется Рефлексия C#?

    yarosroman
    @yarosroman Куратор тега C#
    C# the best
    Еще как используется, среди всего приложения, как контроллеры ищутся?

    Раньше рефлексия пользовалась для сериализации, десериализации, маперов классов и подобного, го рефлексия это настолько медленная штука, что от нее отошли.

    В принципе, это мощный инструмент, в умелых руках, но вам пока туда рано. Как сказал Николай Савельев
    Ответ написан
    Комментировать
  • Как переквалифицироваться из программиста в аналитики?

    krdpsr
    @krdpsr
    loading...
    сначала надо проанализировать эту тему
    если не можешь - значит еще не аналитик
    Ответ написан
    2 комментария
  • Как загрузить APNG как обычную фотку в вк?

    @Hohenheim
    Скачал уже работающую APNG из вк, попробовал загрузить обратно - без анимации загрузилось, если пробовать через файлы, то анимация сохраняется. Думаю разрешение фото не при чем. Разные клиенты чего, браузера?
    Ответ написан
    1 комментарий
  • Законно ли писать программу из процедур без in/out параметров, которые оперируют глобальными переменными?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Не стреляйте в пианиста - он играет как умеет.

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

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

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

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

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

    @entermix
    Проверьте мессенджеры (кэш)

    Telegram: Настройки -> Данные и память -> Использование памяти -> Очистить кэш Telegram
    Viber: ...
    ...
    Ответ написан
    4 комментария