Задать вопрос
  • Что значит % при вводных переменных?

    Adler_lug
    @Adler_lug
    Это не C#
    Ответ написан
    Комментировать
  • Имеется ли разница в мобильном Java приложении между double и int в JSON ответе?

    EreminD
    @EreminD
    Кое-что умею
    у JSON есть только тип number
    и 5.0 и 5 - оба значения валидны, с точки зрения JSON

    633eab5010109238785685.png

    Тут вопрос к тому, кто создает json или кто его интерпретирует.
    Готова ли сторона-приемник, что может прилететь число 5.5, например?

    Если вам нужен строго int, по-хорошему, должен быть код, который принимает double и пытается преобразовать к инту
    Ответ написан
    3 комментария
  • Как хранить информацию в БД о поставщиках когда они могут являться разынми сущностями?

    Vindicar
    @Vindicar
    RTFM!
    Это, по сути, наследование. Абстрактный класс-предок (поставщик) и конкретные классы-потомки (физлицо, ИП, организация). Наследование обычно выражается в структуре БД так: создаётся таблица "Поставщик", содержащая общие для всех классов поля и имеющая свой ключ.
    Затем под каждый класс-потомок создаётся отдельная таблица, содержащая сведения, уникальные для этого класса. В этой таблице первичный ключ одновременно является внешним ключом, ссылающимся на таблицу "Поставщик". Иными словами, в таблице-потомке могут быть только записи с ключами, которые есть в таблице "Поставщик", а для каждой записи в "Поставщик" будет не более одной записи в таблице-потомке.

    В таблице "Поставщик" также может быть поле, указывающее на конкретный тип поставщика (физлицо, ИП, организация), т.е. в какой таблице искать остальные данные. Наличие или отсутствие этого поля - вопрос вкуса. В принципе, если нам нужны сведения о конкретном типе поставщика, мы можем попытаться сделать INNER JOIN с нужной конкретной таблицей. Это отсеет все записи других типов.
    Такой подход (без поля типа) позволяет избежать противоречий, когда запись находится в одной таблице-потомке, а поле указывает на другую. Но с другой стороны, если мы не знаем, какой конкретный тип у данного поставщика, нам придётся либо перебирать таблицы-потомки в рамках нескольких запросов к БД, либо делать LEFT JOIN со всеми таблицами-потомками, и смотреть, какие поля не будут NULL.

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

    @res2001
    Developer, ex-admin
    При шифровании файл шифруется публичным ключом, содержащимся в сертификате. Для расшифровки нужен парный приватный ключ. Шифруется весь файл. На выходе процедуры новый файл с зашифрованным содержимым старого файла.
    При подписании файла используется приватный ключ. Приватный ключ в сертификате не содержится. Для проверки подписи у проверяющего должен быть парный приватному ключу сертификат, содержащий публичный ключ. Подпись может добавляться к файлу в конец или может быть в виде отдельного файла (обычно с расширением sig) - открепленная подпись.

    Про DKIM нормальное общее описание есть в вики, в т.ч. указано что конкретно подписывается. Тут подписание идет некоторых полей письма, а не всего письма. Подпись добавляется как одно из полей письма в формате SMTP.
    Ответ написан
    1 комментарий
  • Как через PlayerPrefs сделать сохранение настроек?

    @Ezekiel4
    Охотник на пиратов и сборщик монолитов
    Для сохранения логической переменной используйте int
    bool Fullscreen;
    //... SET
    PlayerPrefs.SetInt("Fullscreen", Fullscreen ? 1 : 0);
    //... GET
    Fullscreen = PlayerPrefs.GetInt("Fullscreen", 0) == 1; // 0 значение по умолчанию
    Ответ написан
    Комментировать
  • Что возвращает return в С++?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Зависит от кода функции и опций компилятора.

    Советую всем программистам на C++ хотябы почитать про ассемблер.
    Стек, регистры, вот это вот все. Тогда станет понятно, как работает процессор.

    Тогда станет понятно что "сам объект tmp" никак не вернуть. Это локальная переменная, лежащая на стеке в части, которая будет отброшена при выходе из функции. Отсюда вытекает, что вообще говоря, там должна быть копия.

    Но есть такая оптимизация, как RVO. В стандарте даже прописано, когда конкретно она гарантирована. Тогда копии не происходит. При этом компилятор вообще не создает локальной переменной. А вместо этого сразу же работает с тем местом, куда надо будет возвращать значение.

    Если код и включенные оптимизации позволяют это сделать - то копии не будет. Но в общем случае - будет копия.
    Ответ написан
    Комментировать
  • Как в c# подгрузить строку из файла во время компиляции?

    Как вариант - ты можешь поместить этот текстовый файл в ресурсы.
    https://josef.codes/using-embedded-files-in-dotnet...
    Ответ написан
    Комментировать
  • Есть ли смысл реализовывать интерфейс абстрактным классом?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Я это понимаю так:
    Интерфейс - это публичный контракт. Информация для посторонних, для тех кто будет с классом взаимодействовать.
    Абстрактный класс - это внутренняя кухня, прототип для реализации.
    То есть одно другому никак не противоречит. Даже если абстрактный класс и интерфейс будут сильно похожи.
    Ответ написан
    Комментировать
  • Умножение и деление используя сдвиги, как это работает?

    ematveev
    @ematveev
    PHP разработчик / руководитель / писатель
    не надо всё смешивать в одну кучу mul и shr. рассмотрим сдвиги:
    представим например число 1 в двоичном исчислении 8 бит: 00000001.
    что будет если сдвинуть биты влево? - что в десятичной системе будет 2.
    ещё сдвинем влево - получится 00000100 - в десятичной это 4.
    вот получается и умножение при сдвиге влево. а при сдвиге вправо - деление
    Ответ написан
    1 комментарий
  • Умножение и деление используя сдвиги, как это работает?

    includedlibrary
    @includedlibrary
    4 * 10 = 40. Переводим в шестнадцатиричную систему, получаем 0x28.
    40 / 2 = 20. Переводим в шестнадцатиричную систему, получаем 0x14.
    Ответ написан
    1 комментарий
  • Написание эмулятора сервера с нуля возможно?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Написать сервер имея только клиент невозможно.
    Максимум, что вы увидите, это какую информацию клиент посылает на сервер и в каком диапазоне ожидает получить значения в ответе. Но по каким правилам формируется ответ - вы никогда не узнаете.
    Например, персонаж наносит по противнику удар мечом. По каким правилам рассчитывается нанесённый урон? От каких параметров персонажа, противника, их экипировки он зависит?
    Ответ написан
    6 комментариев
  • Как научиться решать задачки на python?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Что учить дополнительно? Логику что ли?
    Неужели сложно обозначить шаги для решения задачи?
    Нужно перемешать список. Что такое перемешать список? Это сделать так, чтобы элементы были на случайных местах. Что нужно сделать чтоб они были на случайных местах? Взять элемент и поменять его местами со случайным элементом. Что нужно чтоб выбрать случайное место? Взять функцию генерации случайных чисел и обозначить границы выборки случайных чисел.
    Итого:
    1. Запускаем цикл от первого элемента до последнего
    2. Берём элемент, получаем случайное число в пределах размера массива
    3. Меняем местами текущий элемент и элемент под случайным числом

    ВСЁ
    И это работает почти с любой задачей
    Ответ написан
    1 комментарий
  • Как извлечь социальные теги из текста с помощью regexp?

    @PavelMos
    #[-а-яА-Я]+
    Но это если слово состоит только из букв и дефисов. Если цифрые есть , то надо и цифры 0-9 добавить.

    Для слов есть также [[:word:]] и \w, но надо проверять, будут ли они в конкретном языке работать с кириллицей.

    Проверять регулярные удобно в онлайн-сервисах например https://regex101.com/ и есть еще отдельные программы типа Regex coach.
    Ответ написан
    1 комментарий
  • Какой смысл команды dup в JVM байт коде? И что за индексы локальных переменных?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Когда разрабатываешь сложные системы, стоит оперировать простыми абстракциями. А виртуальная машина - это очень сложно. Попытки кроилова на количестве операций в байткоде приведут к необходимости писать более сложный, менее стабильный и менее производительный код виртуальной машины.

    Значения локальных переменных хранятся в нативном массиве, выделяемом в каждом кадре стека вызовов. Для примитивных типов в нём хранятся сами значения, для ссылочных - ссылки в кучу. На этапе генерации байткода потому нельзя впихивать напрямую адреса, что байткод должен быть переносимым, неизвестно как может быть устроена память машин, на которых его могут выполнять.
    Ответ написан
    1 комментарий
  • Почему StringBuilder при вызове метода ToString() копирует содержимое?

    Alexeytur
    @Alexeytur
    String и char[] это разные вещи с точки зрения среды выполнения. char[] это изменяемый объект, можно по индексу изменить значение отдельного элемента. String это неизменяемый объект, операции изменения строки на самом деле создают копии оригинального объекта строки.
    Поэтому, если нужно создать строку через множество операций, используют StringBuilder, чтобы не было множества выделений/освобождений памяти.
    Ответ написан
    Комментировать
  • В чем разница между rb.velocity и transform.position?

    velocity - это скорость
    position - это позиция

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    При работе с языками в консоли обычно возникают следующие вопросы.
    1) Консоль. Какая кодировка по умолчанию для однобайтных символов. Смотри команду.
    chcp для windows или
    $ locale для linux.
    2) Какая кодировка указана для char для текущего компиллятора. Включен ли режим _UNICIDE.
    Посмотри что делают
    setLocale(...);
     setCodepage(...);

    3) Какой размер символа sizeof(char).
    4) В какой кодировке написан исходник. Это можно проверить если посмотреть hex редактором. Там где русская буква может быть например 0xC0 для однобайтной и двух байтной для Unicode.
    5) Установлены ли шрифты? Операционка может быть англо-язычной и в этом случае она не обязата что-то специфичное отображать.
    Ответ написан
    Комментировать
  • Как сделать взятие и бросание объекта?

    LittleBob
    @LittleBob
    Как вариант - создать какой-то тригер коллайдер на игроке, чтобы понять, стоит он рядом с каким-то предметом или нет.
    Затем, если стоит и нажата клавиша, делать объект, допустим, дочерним к игроку и переместить в точку "захвата" (рука это будет у вас или что-то другое).
    Потом снова проверяем, если нажата клавиша броска и объект есть в руках - делаем его самостоятельным (перестаёт быть дочерним), и придаём силу по определенному вектору (направление камеры, позиция мыши или что-то другое, вы ведь даже не написали 2д это или 3д).
    Достаточно простой и доступный алгоритм.
    Ответ написан
    6 комментариев
  • Какая скорость интернета по интернетометру?

    В одном байте 8 бит.
    93,25 / 8 = 11,66
    Ответ написан
    Комментировать
  • File.ReadAllText() заменяет русские символы на ?????, как исправить?

    @autyan
    У этого метода есть вот такая перегрузка:
    ReadAllText(String, Encoding)
    В вашем случае, нужно использовать её.
    Ответ написан