• Можно ли так использовать Task.FromResult и имеет ли это вообще смысл?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Не будет ли эта связка await+TaskResult очень тяжёлой по производительности

    Проверьте 2 версии кода на тестах, что быстрее то и используйте :)
    Ответ написан
    2 комментария
  • Можно ли сделать приватное свойство видимым в инспекторе?

    K0TlK
    @K0TlK
    Буллю людей.
    [field: SerializeField] public int Number { get; private set; }
    Ответ написан
    1 комментарий
  • Как нейросеть научить понимать текст?

    Vindicar
    @Vindicar
    RTFM!
    Коротко: никак.

    Ты можешь попытаться классифицировать тексты по тематике, используя ключевые слова, и искать те тексты / фрагменты, которые содержат те же ключевые слова, что и заданный вопрос.
    Но даже такое определение содержит кучу проблем.
    1. Слова могут иметь разные словоформы. Нужен стемминг для выделения корней слов.
    2. Какие слова считаются ключевыми? Нужен как минимум частотный анализ слов. Слова с очень высокой частотой будут менее полезны при работе.
    3. Порядок слов может менять смысл вопроса. Значит, придётся использовать рекуррентные (seq2seq) сети.
    4. Нужно понять, как кодировать подаваемые на вход ключевые слова. Неудачное кодирование может сильно ограничить возможности сети.

    И после этого тебе нужно будет найти/создать большую базу (десятки тысяч и более элементов) пар "вопрос-ответ", на которой ты будешь обучать свою сеть. И то, после этого она сможет только отвечать на наиболее похожие вопросы из этой базы (плюс/минус формулировка). Обычно горе-программисты убегают с плачем на этом этапе.

    Честно, примитивный частотный анализ (какие слова встречаются в тексте ответа и в тексте вопроса) может дать менее бредовый результат, и будет проще в реализации.
    Ответ написан
    Комментировать
  • Плавное движение и вращение персонажа с помощью acceleration.x?

    K0TlK
    @K0TlK
    Буллю людей.
    Код твой изменять не буду, сам все перепишешь на моем примере.

    Начнем с низов. Есть ввод от игрока. Для этого ввода вводим интерфейс:
    namespace SmoothMovement
    {
        public interface IPlayerInput
        {
            float Acceleration { get; }
        }
    }


    Далее нам нужно сглаживать этот Acceleration, значит вводим еще один интерфейс:
    namespace SmoothMovement
    {
        public interface ISmoothAcceleration
        {
            float Smooth(float acceleration, float input);
        }
    }


    Далее реализуем IPlayerInput:
    using UnityEngine;
    
    namespace SmoothMovement
    {
        public class MobileInput : MonoBehaviour, IPlayerInput
        {
            public float Acceleration { get; private set; }
    
            [SerializeField] private float _minAcceleration = -1f;
            [SerializeField] private float _maxAcceleration = 1f;
            [SerializeField] private float _smoothMultiplier = 5f;
            [Range(0, 1)] [SerializeField] private float _fadingSpeed = 0.01f;
    
            private ISmoothAcceleration _smoothing;
    
            private void Awake()
            {
                _smoothing = new SmoothedAcceleration(_minAcceleration, _maxAcceleration, _smoothMultiplier, _fadingSpeed);
            }
    
            private void Update()
            {
                Acceleration = _smoothing.Smooth(Acceleration, Input.acceleration.x);
            }
        }
    }


    В апдейте присваиваем свойству Acceleration сглаженное значение инпута. Далее само сглаживание:
    using UnityEngine;
    
    namespace SmoothMovement
    {
        public class SmoothedAcceleration : ISmoothAcceleration
        {
            private readonly float _multiplier;
            private readonly float _minValue;
            private readonly float _maxValue;
            private readonly float _fadingSpeed;
    
            
            public SmoothedAcceleration(float minValue, float maxValue, float multiplier, float fadeSpeed)
            {
                _minValue = minValue;
                _maxValue = maxValue;
                _multiplier = multiplier;
                _fadingSpeed = fadeSpeed;
            }
            
            public float Smooth(float acceleration, float input)
            {
                if (input == 0)
                {
                    acceleration = Mathf.Lerp(acceleration, 0, _fadingSpeed);
                    return acceleration;
                }
                
                acceleration += input * _multiplier * Time.deltaTime;
                acceleration = Mathf.Clamp(acceleration, _minValue, _maxValue);
    
                return acceleration;
            }
        }
    }


    Есть минимальные и максимальное значение ускорения, множитель - чем он больше, тем быстрее разгоняться будет и скорость затухания ускорения - чем больше тем быстрее ускорение будет стремиться к нулю. И тест:
    using UnityEngine;
    
    namespace SmoothMovement
    {
        public class TestMovement : MonoBehaviour
        {
            [SerializeField] private MonoBehaviour _input = null;
            [SerializeField] private float _speed = 10f;
            
            
            private IPlayerInput Input => (IPlayerInput)_input;
    
    
            private void OnValidate()
            {
                if (_input is IPlayerInput) return;
                
                Debug.LogError($"{nameof(_input)} should implement {nameof(IPlayerInput)}");
                _input = null;
            }
    
            private void FixedUpdate()
            {
                Move(Input.Acceleration);
            }
    
            private void Move(float direction)
            {
                if (direction == 0) return;
                
                var position = transform.position;
                position.x += direction * _speed * Time.deltaTime;
                transform.position = position;
            }
        }
    }

    Инжектим IPlayerInput через инспектор, двигаем геймобжект. С вращением делай сам что-нибудь, я не знаю как у тебя там что должно вращаться
    Ответ написан
    Комментировать
  • Есть российский vpn сервис с управлением в России?

    @elslepas
    Можно купить виртуалку за зарубежом на https://firstbyte.ru/
    за рубли.

    Затем установить WireGuard с помощью https://www.pivpn.io/

    Видео инструкция - https://www.youtube.com/watch?v=_hiYI7ABnQI&t=1s
    Ответ написан
    Комментировать
  • Какие проблемы помимо ограничений провайдером могут возникать у протокола p2p в играх?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Файрволл или роутер.

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

    Баг самой игры тоже может быть. Специфический, системный.
    Ответ написан
    4 комментария
  • Как юридически оформить программиста?

    vabka
    @vabka
    Токсичный шарпист
    Интересно как можно заранее предусмотреть случаи слива баз, слива кода, попытки умышленно что-то сломать, или воспользоваться системой денежных переводов в своих целях.

    Ну тут вообще:
    1. Работает УК, так как код - это интеллектуальная собственность компании, база - персональные данные, а умышленно что-то сломать - это 272
    2. Просто физические ограничения к проду.

    NDA в российском законодательстве при приёме по ТК не работает.
    Есть закон о коммерческой тайне, но он гораздо сложнее, чем "1 раз при приёме на работу подписать бумажку".
    www.consultant.ru/document/cons_doc_LAW_48699
    Нужно как минимум на бумаге фиксировать кому именно, когда, и к какой именно информации даётся доступ.

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

    PS: а почему у потенциального вашего сотрудника должно возникнуть желание напакостить?
    Вы планируете мало платить (или вообще не платить)? Относитесь к подчинённым по скотски? Или что ещё хуже?
    Ответ написан
    2 комментария
  • Как сделать чтобы показывался адрес по клику на ссылку?

    ev_g
    @ev_g
    Web dev.
    Создать набор меток, у каждой будут свои координаты. И программно, по клику на внешний ярлык, открывать нужную метку.

    Пример работы с метками можно глянуть в документации Яндекс.Карт: https://yandex.ru/dev/maps/jsbox/2.0/balloon_and_hint/

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

    Вот почему нельзя загуглить этот вопрос? В первой же ссылке находится ответ
    Ответ написан
    1 комментарий
  • Странная ошибка парсинга json?

    Certik
    @Certik
    Позицию надо считать после того, как уберёте экранирующие слэши (перед кавычками). Тогда легко увидеть что должен был быть список объектов, но видимо потерялись внешние `[]`, и получился жсон со множественными корнями, что большинство парсеров не воспринимают.
    Ответ написан
    2 комментария
  • Массовое сравнение сток, поиск пересечений, каким инструментом воспользоваться?

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    примерно объёмы инфы:
    100к слов (по 10 символов) в «первом множестве» — это примерно 1Mb
    150к текстов по 50 слов по 10 символов в слове это 75Mb
    Т.е. всё весьма компактно.

    Искать наверное стоит программой, в оперативке.

    Сначала проиндексировать тексты. Составить словарь, где ключ – слово, значение – массив индексов текстов, где оно встречается.

    Затем искать среди ключей этого словаря слова из первого множества.

    Можно ещё сократить/ускорить, если работать не с самими словами, а только с целыми индексами. Любое слово класть в Set (где значения уникальны) и далее работать с индексом слова в этом наборе.
    Ответ написан
    2 комментария
  • Как сделать вызов кода из другого файла при нажатии на кнопку?

    В другом файле код находится в классе. Создаете объект этого класса и вызываете нужный метод (который должен быть публичным)
    Ответ написан
    Комментировать
  • Как найти сумму трех чисел в функции?

    neuotq
    @neuotq
    Прокрастинация
    Вы забыли указать параметры при вызове
    let multiply = getMultiply(1, 2, 3);
    Кстати, неплохо бы сделать проверку на это внутри вашей функции. Либо сделать параметры по умолчанию
    Ответ написан
    5 комментариев
  • Как сейчас получать api google maps?

    Карту или счет российский тоже соответственно привязать нельзя, ибо санкции. Как это обходить?

    Никак, гугл не хочет с нами работать, так что либо меняем карту и остальные данные на не РФ, либо меняем гугл на нечто иное.
    Ответ написан
    Комментировать
  • Как передать пароль exe запускаемому из powershell?

    @Akela_wolf
    Extreme Programmer
    Храните пароль в файле pgpass
    С vaccumdb не пробовал, но psql его оттуда отлично подхватывает.

    https://www.postgresql.org/docs/current/libpq-pgpa...
    Ответ написан
    Комментировать
  • Почему не загружается сцена из кода?

    EveningEugene
    @EveningEugene
    Unity-разраб
    Edited: Тебе буквально в ошибке написали, что нужно сделать. File -> Build Settings -> Перетащить новую сцену в окно -> Поставить галочку напротив этой сцены game.
    Ответ написан
    4 комментария
  • Не найден метод пригодный для переопределения?

    EveningEugene
    @EveningEugene
    Unity-разраб
    Вы написали ключевое слово override, которое означает, что ты переопределяешь наследуемый метод. Но VS тебе говорит, что у наследуемого класса нет такого метода и поэтому нечего переопределять. А это от того, что ты вообще не наследуешь никакой класс. Либо ты хотел унаследовать какой-то класс, но забыл, либо ты скопипастил лишнее ключевое слово override. Даже целых два.
    Ответ написан
    2 комментария
  • Почему ядро странно себя ведет?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Я пишу новую операционную систему и столкнулся с непредвиденным поведением ядра

    Обычно в этот момент люди начинают пользоваться отладчиком.

    проблема в файле kernel\kernel.asm

    Нет. Ядро твоё не запускается, потому что бутлоадер пытается загрузить его поверх собственного кода:

    0x00008122:  bb 00 81                 movw     $0x8100, %bx
    0x00008125:  50                       pushw    %ax
    0x00008126:  b8 00 00                 movw     $0, %ax
    0x00008129:  8e c0                    movw     %ax, %es
    0x0000812b:  58                       popw     %ax
    0x0000812c:  cd 13                    int      $0x13

    -- это вызов int 13 из бутлоадера, посмотри на адреса. Вот куда возвращается выполнение после этого int 13:

    0x0000812e:  00 00                    addb     %al, (%bx, %si)
    0x00008130:  00 00                    addb     %al, (%bx, %si)
    0x00008132:  00 00                    addb     %al, (%bx, %si)
    0x00008134:  00 00                    addb     %al, (%bx, %si)
    0x00008136:  00 00                    addb     %al, (%bx, %si)
    0x00008138:  00 00                    addb     %al, (%bx, %si)
    0x0000813a:  00 00                    addb     %al, (%bx, %si)
    0x0000813c:  00 00                    addb     %al, (%bx, %si)
    0x0000813e:  00 00                    addb     %al, (%bx, %si)
    0x00008140:  00 00                    addb     %al, (%bx, %si)
    0x00008142:  00 00                    addb     %al, (%bx, %si)
    0x00008144:  00 00                    addb     %al, (%bx, %si)


    Такие дампы ты можешь получить запуская своё ядро в qemu следующим образом:
    qemu-system-i386 -hda collector.bin -d in_asm,exec,cpu -D log
    Ответ написан
    7 комментариев
  • Unity 2d. У меня возникает следующая проблема. Можете, пожалуйста, объяснить, что не так?

    @Ezekiel4
    Охотник на пиратов и сборщик монолитов
    Кратко: у вас дубликат класса, переименуйте этот или найдите другой класс с таким же именем.

    Детально: есть такая штука, namespace. Грубо говоря, это каталог всех классов, которые к нему принадлежат. Вы namespace явно не задаёте, поэтому этот (а возможно и другие) класс лежат в так называемом global namespace. Чтобы всё правильно работало, в рамках одного пространства имён каждый класс должен иметь уникальное название. Ошибка говорит о том, что у вас уже есть такой класс.
    Если для вас принципиально важно иметь два класса с одинаковым названием, один из их переместите в другое пространство имён:

    public namespace MyNamespace {
    
        public class MyClass {
            //code
        }
    }


    Чтобы потом этот класс использовать в другом коде, укажите директиву:

    using MyNamespace;
    Ответ написан
    1 комментарий
  • Почему я в поиске по хештегу нашел свой давно удаленный пост? Как удалить удаленные посты 10000%?

    @mkone112
    Начинающий питонист.
    Очень просто:
    как узнать точно ли удалены посты

    Все что попадает в интернет - остается в интернете.
    и как удалять, чтобы окончательно они не гуляли?

    Никак.
    Ответ написан
    4 комментария