Задать вопрос
  • Как написать логику работы контролеров в Asp. net?

    Сделай пока хоть как-то, лишь бы тебе самому было понятно.

    Потом порефакторишь исходя из задачи.

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

    call.message.date.timestamp() возвращает время самого сообщения, а не реальное время.
    Если хочется реальное время получить - используй стандартные питоновские функции.
    Ответ написан
    3 комментария
  • Почему mathf.cos от 180 - это -0.59, а не -1? Почему mathf.cos ведёт себя не так, как я ожидаю?

    Видимо ты подаёшь туда градусы, вместо радиан.
    Судя по документации mathf cos считает в радианах: https://docs.unity3d.com/ScriptReference/Mathf.Cos.html
    А cos от 180 радиан - это действительно -0.5984

    А вот cos от PI радиан - это ровно -1.
    Ответ написан
    1 комментарий
  • Почему Ajax запрос не возвращает данные?

    Ошибка у тебя в том, что Ajax-запрос выполняется асинхронно.
    Тоесть функция getName вернёт управление в вызывающую функцию ещё до того, как даже будет вызван твой onload.
    + по хорошему onload нужно устанавливать ещё до отправки.
    Это раз.

    А два - return твой возвращает управление в момент вызова onload, а по тому просто некому будет на той стороне прочитать полученные данные.

    Решения два:
    1. Использовать промисы. Например так:
    function getName(user_id) {
        return new Promise(function(resolve) {
            // data
            var data = {}
            data.user_id = user_id
            data = JSON.stringify(data)
    
            // send
            const request = new XMLHttpRequest();
            request.open("POST", "/test-ajax/");
            request.send(data);
            request.onload = function() {
                var name = JSON.parse(this.response)
                resolve(name);
            }
        });
    }
    
    // Дальше работаем через then
    getName(user_id).then(data=>console.log(data));
    
    // Или async/await
    const name = await getName(user_id);

    В этом примере мы сразу возвращаем объект-промис, который будет завершён внутри onload. А дальше можно с ним работать через async-await или then с коллбэком.

    2. Использовать коллбэки (по старинке):
    function getName(user_id, callback) {
    
        // data
        var data = {}
        data.user_id = user_id
        data = JSON.stringify(data)
    
        // send
        const request = new XMLHttpRequest();
        request.open("POST", "/test-ajax/");
        request.send(data);
    
        // get
        request.onload = function() {
            var name = JSON.parse(this.response)
            callback(name)
        }
    }
    
    var onNameLoaded = function(name) {
        console.log(name)
    };
    getName(user_id, onNameLoaded);

    В этом примере мы передаём в функцию getName другую функцию, которая должна быть вызвана после загрузки данных.

    3. Использовать fetch и async/await - мы же в 2022 году живём. (@Mi11er)
    async function getName(userId) {
        const response = await fetch("/test-ajax/", {
            method: "POST",
            body: JSON.stringify({"user_id": userId})
        })
        return await response.json();
    }
    
    const name = await getName(userId);
    Ответ написан
    8 комментариев
  • Какие основные понятия в ООП?

    Агрегация/Ассоциация/Композиция - это всё виды взаимоотношений между разными типами. Это не принципы
    Абстракция - это просто сама возможность вводить какие-то новые абстракции, поверх уже существующих. Ради этого ООП и придумано.

    ИМХО, вот эти все попытки выделить основные принципы ООП в современном мире не имеют смысла, тк языки сейчас мультипарадигменные и постоянно добавляют и убирают какие-то части.

    И уже споров о глубинном смысле трёх волшебных слов была целая куча (а ведь если бы кто-то когда-то не решил всё уместить в одиночные слова - этой неразберихи бы не было)

    Так что из всех принципов, которые объединяют все более-менее ООП-языки остаётся только:

    1. Всё есть объект, и объект объединяет под собой некоторые данные (которые могут быть не доступны публично) и операции (методы или функции), которые можно произвести над совокупностью этих данных.
    2. Имеется какой-нибудь механизм для полиморфизма.

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

    Это base64, просто в содержимом не текст, а какие-то байты.
    Ответ написан
    Комментировать
  • Как понять какой код сейчас выполняют потоки?

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

    Но если не получится это применить (например на целевой машине не стоит студия/райдер) или это просто слишком неуловимая ошибка, то Тогда остаётся только обмазаться телеметрией (логами, метриками) и смотреть, что происходит.
    Ответ написан
    6 комментариев
  • Где заказать сделать материнскую плату для старого медиа центра\неттопа, но на современное железо?

    Кажется, туда даже ноутбучная плата не влезет.

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

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

    Нет. Стандарт описывает только то, какие данные должны быть в чеке, и в каком формате, но не его внешний вид.
    Ответ написан
    Комментировать
  • Что обозначает __declspec(noinline)?

    https://docs.microsoft.com/en-us/cpp/cpp/declspec?...
    https://stackoverflow.com/questions/2284610/what-i...
    https://docs.microsoft.com/en-us/cpp/cpp/noinline?...
    __declspec(noinline) tells the compiler to never inline a particular member function (function in a class).

    It may be worthwhile to not inline a function if it is small and not critical to the performance of your code. That is, if the function is small and not likely to be called often, such as a function that handles an error condition.

    Keep in mind that if a function is marked noinline, the calling function will be smaller and thus, itself a candidate for compiler inlining.

    Первая же строчка в гугле :)
    Ответ написан
  • Какой выбрать сервис для деплоя Discord чат-бота?

    У Яндекс облака есть free tier с sleeveless containers, но там придётся несколько копеек в месяц на container registry тратить.
    + ограничено количество cpu-часов
    Ответ написан
    Комментировать
  • Как называется такой переход в капкуте или где он вообще?

    Картинка разбивается на несколько слоёв, которые размещаются на 3д-сцене, а по этой сцене двигается камера.
    Благодаря этому получается вот такой эффект с параллаксом.
    Для этого вроде какой-то сервис есть, который сам это всё делает (недавно видел рекламу, но забыл название)

    А как называется - хз.
    Ответ написан
    Комментировать
  • Js какой код производительнее?

    1й вариант - очень многословный. Не говоря даже о том, что в коде ошибка (не хватает })
    2й вариант - навешиваем хендлер на все элементы, а фильтруемся уже внутри хендлера
    3й вариант - как 1й, но более читабельный.

    Кажется, что 2й вариант будет менее производительным, если у тебя очень много элементов, тк каждый раз будет происходить проверка, а не содержит ли список классов, нужный класс.
    Но нужно профайлить, чтобы ответить более аргументированно.

    Аналогично при сравнении 1 и 3.

    Я бы не стал задумываться о том, какой из них действительно более производительный, пока не столкнулся бы с проблемой, а она врядли произойдёт.
    Используйте то, что удобнее и читабельнее в конкретной ситуации.
    Ответ написан
    Комментировать
  • Есть ли аналог tinyint в PostgresSQL?

    Вроде в каких-то расширениях есть int2, int4, int8, но это экономия на спичках реально какая-то
    Ответ написан
    Комментировать
  • Здравствуйте, дают ли АП за музыку в игре Google Play?

    Только если у тебя есть право на использование этой музыки.
    Например, если ты её написал сам, купил коммерческую лицензию, или используешь музыку со свободной лицензией (CC-0 или CC-BY), и при этом не нарушаешь условия этой лицензии (например CC-BY требует указания автора)

    Сайт, где можно поискать музыку со свободной лицензией, вам уже дали в соседнем ответе.
    Ответ написан
    Комментировать
  • Как скачать pdf?

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

    Ну или как тут: https://qna.habr.com/q/810177#answer_2220710
    Ответ написан
    Комментировать
  • Как подключиться к серверу по wss с ESP32S?

    Первая же строчка в гугле выдаёт это:
    https://docs.espressif.com/projects/esp-idf/en/v4....
    Но это не arduino
    Ответ написан
    Комментировать
  • Как работает свитч-кейс?

    https://developer.mozilla.org/ru/docs/Web/JavaScri...
    switch-case в js не умеет сопоставлять одновременно несколько значений.
    Так что никак твой код рабочим не сделать.
    Тем более, что не понятно, что он должен делать.

    В общем случае switch разворачивается примерно вот так:

    switch (expression) { // expression - это какое-то выражение. Тоесть значение одно.
      case variant1: // variant1 и variant2 - это тоже какое-то выражение. Тоесть тоже ровно одно значение.
        // ...
      break;
      case variant2:
        // ...
      break;
      default:
        // ...
      break;
    }
    
    // Вот в такое
    const value = expression;
    if(value === variant1) {
      //...
    } else if (value === variant2) {
      //...
    } else {
      // ...
    }
    Ответ написан
    Комментировать
  • Есть ли риск спалить системник при использовании блока питания с 450 ватт?

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

    В целом, даже если 450вт фактически хватает - он будет на предельных значениях работь, а тут и КПД ниже, и нагрев больше.
    + со временем (с годами) общая мощность БП может падать.

    Так что лучше в ближайшее время купить более мощный БП.
    Ответ написан
    Комментировать
  • Есть ли listIterator в php?

    Хоть бы посмотрел что он делает:
    https://docs.oracle.com/javase/8/docs/api/java/uti...

    Судя по описанию ArrayIterator - они достаточно похожие и вроде делают одно и то же.
    https://www.php.net/manual/ru/class.arrayiterator.php
    Даже свой add есть - append()
    Ответ написан
    Комментировать