Задать вопрос
  • Как использовать вк для предачи данных?

    Чисто в теории можно использовать видеозвонки/аудио звонки, но хз, на сколько это применимо.
    Нужно будет как-то в цифровой вид кодировать информацию (что-то наподобие тонов для аудио и qr-кодов в видео).
    Быстрее чем диалап в плане пропускной способности врядли получится, тк нужно бороться с потерями пакетов, сжатием, и добавлять какую-то избыточность, чтобы защититься от больших потерь.
    API для звонков вроде нет, так что придётся самостоятельно реверсить (в открытом доступе готовую реализацию не видел)

    В общем если учитывать все нюансы и гарантировать получение, то задача по сложности даже выше будет, чем реализация своего QUIC.
    Использовать эту штуку, кмк, можно только для того, чтобы получать безлимитный канал у опсосов, которые дают безлимит только на соцсети. Но с учётом трудозатрат - выгоднее доплатить 500р в месяц (а может даже больше) за полноценный безлимит.
    Больше задач для такой штуки я придумать не могу
    Ответ написан
    Комментировать
  • Как загрузить и запустить бота на сервер с ос Ubuntu 20.04 LTS "Focal Fossa"?

    "Бот" - это, как правило, обычная программа, которую можно запустить как и любую.

    В минимальном варианте тебе нужно просто запустить её из консоли.
    Чуть правильнее - через systemd (лучше прочитать полноценную статью про это)
    Вариант со звёздочкой - собрать Docker-контейнер и тогда не придётся особо думать о том, какая ОС стоит на сервере
    Ответ написан
    Комментировать
  • Как преобразовать/скачать книгу с сайта "онлайн-библиотеки"?

    Так как на сайте не предусмотрена такая возможность - только реверсить.
    На сайте нет никаких защит от пиратства, так что можешь зайти во вкладку network и увидеть, какие отправляются запросы.
    В данном случае используется graphql и для получения списка страниц используется такой запрос:
    query Book($id: ID!) {
      book(id: $id) {
        id
        title
        authors {
          full_name
          __typename
        }
        docviewer_htmls_urls
        docviewer_thumbnails_urls
        outline
        is_on_shelf
        bookmarks {
          page
          text
          ts
          __typename
        }
        search_index_url
        text_by_pages_url
        last_read_page
        __typename
      }
      me {
        uid
        __typename
      }
    }

    Где id - Id книги.
    В ответ приходит такое:
    {
        "data": {
            "book": {
                "id": "14137",
                "title": "\u041f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043d\u0430\u0440\u043e\u0434\u0430 \u0441\u0430\u0445\u0430 \u0438 \u0435\u0433\u043e \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u043a\u0443\u043b\u044c\u0442\u0443\u0440\u044b",
                "authors": [
                    {
                        "full_name": "\u0413\u043e\u0433\u043e\u043b\u0435\u0432 \u0410\u043d\u0430\u0442\u043e\u043b\u0438\u0439 \u0418\u0433\u043d\u0430\u0442\u044c\u0435\u0432\u0438\u0447",
                        "__typename": "Author"
                    }
                ],
                "docviewer_htmls_urls": [
                    "https:\/\/e.nlrs.ru\/online2\/view\/14137\/page_1.html"
                ],
                "docviewer_thumbnails_urls": [
                    "https:\/\/e.nlrs.ru\/online2\/view\/14137\/thumbnails\/256\/bg1_thumb_256.jpg"
                ],
                "outline": "[{\"text\":\"\u041e\u0431\u043b\u043e\u0436\u043a\u0430\",\"href\":\"#pf1\",\"children\":null},{\"text\":\"\u0427\u0430\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u0430\u044f. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u044d\u043d\u0442\u043e\u0433\u0435\u043d\u0435\u0437\u0430 \u044f\u043a\u0443\u0442\u0441\u043a\u043e\u0439 \u043d\u0430\u0440\u043e\u0434\u043d\u043e\u0441\u0442\u0438\",\"href\":\"#pf4\",\"children\":null},{\"text\":\"\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435\",\"href\":\"#pf5\",\"children\":null},{\"text\":\"\u0413\u043b\u0430\u0432\u0430 \u043f\u0435\u0440\u0432\u0430\u044f. \\n\u0418\u0421\u0422\u041e\u041a\u0418 \u042d\u0422\u041d\u041e\u0413\u0415\u041d\u0415\u0417\u0410 \\n(\u0441\u043a\u0438\u0444\u043e-\u0445\u0443\u043d\u043d\u0441\u043a\u0438\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0432 \u044f\u043a\u0443\u0442\u0441\u043a\u043e\u0439 \u043a\u0443\u043b\u044c\u0442\u0443\u0440\u0435)\",\"href\":\"#pf5\",\"children\":null},{\"text\":\"\u0413\u043b\u0430\u0432\u0430 \u0432\u0442\u043e\u0440\u0430\u044f. \u0414\u0420\u0415\u0412\u041d\u0418\u0415 \u0418 \u0421\u0420\u0415\u0414\u041d\u0415\u0412\u0415\u041a\u041e\u0412\u042b\u0415 \u0422\u042e\u0420\u041a\u0421\u041a\u0418\u0415 \u041f\u041b\u0415\u041c\u0415\u041d\u0410 \u042e\u0416\u041d\u041e\u0419 \u0421\u0418\u0411\u0418\u0420\u0418, \u0426\u0415\u041d\u0422\u0420\u0410\u041b\u042c\u041d\u041e\u0419 \u0410\u0417\u0418\u0418 \u0418 \u041f\u0420\u0418\u0411\u0410\u0419\u041a\u0410\u041b\u042c\u042f \\n\u0412 \u042d\u0422\u041d\u041e\u0413\u0415\u041d\u0415\u0417\u0415 \u042f\u041a\u0423\u0422\u041e\u0412.\\n\u0421\u041b\u041e\u0416\u0415\u041d\u0418\u0415 \u041e\u0421\u041d\u041e\u0412 \u0414\u0420\u0415\u0412\u041d\u0415\u042f\u041a\u0423\u0422\u0421\u041a\u041e\u0419 \u041a\u0423\u041b\u042c\u0422\u0423\u0420\u042b\",\"href\":\"#pf1c\",\"children\":null},{\"text\":\" \u0413\u043b\u0430\u0432\u0430 \u0442\u0440\u0435\u0442\u044c\u044f. \u0418\u0421\u0422\u041e\u0420\u0418\u041a\u041e-\u041a\u0423\u041b\u042c\u0422\u0423\u0420\u041d\u042b\u0415 \u0421\u0412\u042f\u0417\u0418 \u042f\u041a\u0423\u0422\u041e\u0412 \u0421 \u0421\u041e\u0412\u0420\u0415\u041c\u0415\u041d\u041d\u042b\u041c\u0418 \u0422\u042e\u0420\u041a\u041e\u042f\u0417\u042b\u0427\u041d\u042b\u041c\u0418 \u041d\u0410\u0420\u041e\u0414\u0410\u041c\u0418 \u042e\u0416\u041d\u041e\u0419 \u0421\u0418\u0411\u0418\u0420\u0418 \u0418 \u0411\u0423\u0420\u042f\u0422\u0410\u041c\u0418\",\"href\":\"#pf30\",\"children\":null},{\"text\":\"\u0427\u0430\u0441\u0442\u044c \u0432\u0442\u043e\u0440\u0430\u044f. \u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u044d\u0442\u043d\u043e\u0433\u0435\u043d\u0435\u0437\u0430 \u0438 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0441\u043d\u043e\u0432 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u043a\u0443\u043b\u044c\u0442\u0443\u0440\u044b \u043d\u0430\u0440\u043e\u0434\u0430 \u0441\u0430\u0445\u0430 \u043d\u0430 \u0441\u0440\u0435\u0434\u043d\u0435\u0439 \u041b\u0435\u043d\u0435\",\"href\":\"#pf5b\",\"children\":null},{\"text\":\"\u0413\u043b\u0430\u0432\u0430 \u043f\u0435\u0440\u0432\u0430\u044f. \u0410\u0420\u0425\u0415\u041e\u041b\u041e\u0413\u0418\u0427\u0415\u0421\u041a\u0418\u0415 \u041f\u0410\u041c\u042f\u0422\u041d\u0418\u041a\u0418 \u0426\u0415\u041d\u0422\u0420\u0410\u041b\u042c\u041d\u041e\u0419 \u042f\u041a\u0423\u0422\u0418\u0418 \u0421\u0420\u0415\u0414\u041d\u0415\u0412\u0415\u041a\u041e\u0412\u042c\u042f, \u0421\u0412\u042f\u0417\u0410\u041d\u041d\u042b\u0415 \u0421 \u041f\u0420\u041e\u0418\u0421\u0425\u041e\u0416\u0414\u0415\u041d\u0418\u0415\u041c \u042f\u041a\u0423\u0422\u041e\u0412 (\u0420\u0423\u0411\u0415\u0416 XIII-XIV -  XVI \u0432\u0432.)\",\"href\":\"#pf5c\",\"children\":null},{\"text\":\"\u0413\u043b\u0430\u0432\u0430 \u0432\u0442\u043e\u0440\u0430\u044f. \\n\u0410\u0420\u0425\u0415\u041e\u041b\u041e\u0413\u0418\u0427\u0415\u0421\u041a\u0418\u0415 \u041f\u0410\u041c\u042f\u0422\u041d\u0418\u041a\u0418 \u042f\u041a\u0423\u0422\u0418\u0418 XVI-XVIII \u0432\u0432. \u0418 \u0417\u0410\u0412\u0415\u0420\u0428\u0415\u041d\u0418\u0415 \u0424\u041e\u0420\u041c\u0418\u0420\u041e\u0412\u0410\u041d\u0418\u042f \u0422\u0420\u0410\u0414\u0418\u0426\u0418\u041e\u041d\u041d\u041e\u0419 \u041a\u0423\u041b\u042c\u0422\u0423\u0420\u042b \u041d\u0410\u0420\u041e\u0414\u0410 \u0421\u0410\u0425\u0410\",\"href\":\"#pf6a\",\"children\":null},{\"text\":\"\u0413\u043b\u0430\u0432\u0430 \u0442\u0440\u0435\u0442\u044c\u044f. \\n\u0421\u041e\u041e\u0422\u041d\u041e\u0428\u0415\u041d\u0418\u0415 \u041f\u0420\u0418\u0428\u041b\u042b\u0425 \u0418 \u0410\u0411\u041e\u0420\u0418\u0413\u0415\u041d\u041d\u042b\u0425 \u042d\u041b\u0415\u041c\u0415\u041d\u0422\u041e\u0412 \u0412 \u0422\u0420\u0410\u0414\u0418\u0426\u0418\u041e\u041d\u041d\u041e\u0419 \u041a\u0423\u041b\u042c\u0422\u0423\u0420\u0415 \u042f\u041a\u0423\u0422\u041e\u0412\",\"href\":\"#pf7b\",\"children\":null},{\"text\":\"\u041b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0430\",\"href\":\"#pf8e\",\"children\":null},{\"text\":\"\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\",\"href\":\"#pf91\",\"children\":null}]",
                "is_on_shelf": true,
                "bookmarks": [],
                "search_index_url": "https:\/\/e.nlrs.ru\/get-online2-search-index\/14137\/full",
                "text_by_pages_url": "https:\/\/e.nlrs.ru\/get-online2-text-by-pages\/14137\/full",
                "last_read_page": 8,
                "__typename": "Book"
            },
            "me": {
                "uid": "163217",
                "__typename": "User"
            }
        }
    }

    Слать нужно на https://e.nlrs.ru/graphql
    Ответ написан
    Комментировать
  • Ошибка CS0200 - Unity?

    Комментировать
  • TypeScript делает из JS СИ подобный язык?

    JS и так си-подобный.
    TS только даёт ему статическую типизацию.

    php не нужны расширения наподобие ts, тк у него вроде и так уже появилась опциональная статическая типизация.

    Python кстати тоже си-подобный, не смотря на то что фигурные скобки в нём заменены на отступы
    Ответ написан
    Комментировать
  • Какое существует ПО для построения информационно-аналитической системы?

    Вы описываете какое-то волшебное приложение, которое умеет работать с любыми данными и делать с ними что угодно.

    Такие продукты не совсем существуют.

    Скорее всего вам нужна какая-то платформа типа 1С, в которой вы сможете писать свой код для обработки данных.
    Но ИМХО смысла в этом нет и вы зря сразу так взяли требование

    минимальное количество самописного кода, вместо этого использовать готовые продукты

    Брать готовую ОС, СУБД, и веб-сервер - это нормально.
    Искать готовое решение прикладных задач - бессмысленная трата времени.
    Ответ написан
    2 комментария
  • Каким будет оптимальный вид представления комплексных данных (таблица/json)?

    Если GameProfile - уникальная и самостоятельная сущность, которая много где ещё используется, и при этом может существовать без пользователя, то новую таблицу лучше сделать, и дать ей свой Id

    Если GameProfile - value object (как дата например), то лучше сделать две дополнительные колонки в таблице с пользователями. Аналогично, если GameProfile не может существовать без пользователя и он всегда будет ровно один на одного пользователя
    Ответ написан
    Комментировать
  • Греется ли БП сверху?

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

    Во многих СУБД есть расширения для работы с пространственными и гео-данными.
    Например в postgres - PostGIS.
    Тебе нужно просто для каждого пользователя определить геолокацию как широту-долготу, а поиск в определённом радиусе уже будет реализован в postgis.

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

    Да, если исходное значение не помещается в новый тип - поведение будет зависеть от реализации.

    Где-то может отбросить байты, а где-то может упасть с ошибкой
    Ответ написан
    Комментировать
  • Сколько максимум можно хранить данных в консольной программе на C#?

    У массивов и строк есть ограничение, что ты не можешь в них держать более чем int.MaxValue элементов (символов).

    Ну и конечно ты не можешь хранить больше данных, чем у тебя есть оперативной памяти.

    В консоль ты можешь вывести сколько угодно - просто буфер консоли имеет ограниченные размеры и старые данные будут теряться.
    Ответ написан
    Комментировать
  • Как сделать что бы при открытии видео из папки в VLC можно было без создания плейлиста переключится на следующее видео из папки?

    Можно вместо открытия одного видео открывать папку - тогда VLC создаст плейлист из всех видео по порядку
    Ответ написан
    Комментировать
  • Что за хэш добавляется в конце названия файла при его загрузке на сервер?

    Скорее всего это сервер делает для уникальности.
    Если сервер ваш, то вам надо просто переписать код, чтобы он так не делал.
    Если нет, то ничего поделать увы нельзя
    Ответ написан
    Комментировать
  • Отличия GET от POST?

    vabka
    @vabka Куратор тега Веб-разработка
    Два главных отличия:
    1. У GET-запроса нет тела (как правило, но в теории никто не запрещает отправить с телом).
    А у POST как правило нет query-параметров, но в принципе никто не запрещает одновременно указать и их, и тело
    2. GET-идемпотентный, в отличие от POST.
    Если ты отправишь два одинаковых идемпотентных запроса, то ничего не изменится-это безопасно.
    И этим свойством пользуются браузеры и всякие прокси, которые в случае каких-то сетевых ошибок тихо отправляют идемпотентные запросы повторно.

    Кроме GET есть ещё PUT и DELETE, которые тоже идемпотентные


    Есть ли какая-то информация на этот счёт?

    Всё это описано в википедии в статье об HTTP


    И каким образом ссылку site/?page=2 можно отправить методом POST?

    Через curl или через форму
    Ответ написан
  • Как исправить ошибку «name 'text' is not defined. Did you mean: 'next'?» у бота Вконтакте?

    Кажется, ты забыл присвоить результат вызова функции event.obj.get('text')
    В переменную
    Ответ написан
    Комментировать
  • Как лучше организовать базу данных для saas проекта?

    Может быть и своя схема.
    А может быть просто отдельная колонка у каждой сущности, которая указывает, какому тенанту объект принадлежит.

    Первый вариант проще будет по логике со стороны приложения.
    Второй вариант чуть проще поддерживать, так как схема будет обновляться одновременно у всех клиентов (хотя иногда это наоборот будет минус)
    Ответ написан
    4 комментария
  • Стоит ли выносить выполнение синхронных методов в пулл потоков в контроллерах ASP NET Core?


    Асинхронных блоков, требующих использования await в методе нет.

    В таком случае это будет обычный синхронный метод, хоть и возвращающий таску.


    Встаёт вопрос - перевести ли выполнение этого метода в пулл потоков (через обёртывание в Task.Run) или оставить так как сейчас есть?

    Зависит от того, что именно ты там делаешь.
    Если есть работа с IO, то следует перейти на асинхронщину.

    Если долгие вычисления, то тогда да - есть смысл сделать Task.Run, чтобы не нагружать потоки из основного пула
    Ответ написан
    Комментировать
  • Какой язык выбрать для написания desktop приложения для Linux(Ubuntu)?

    В посте указано что нужно отобразить и как эти данные можно получить. Мой вопрос касается выбора лучшего языка программирования под эту задачу.

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

    Планирую своими силами.

    Составляешь список из языков, которые готов поддерживать.

    Планирую отдать на фриланс.

    Указываешь эти языки в тз для того, кто будет это разрабатывать как допустимые.

    Выбор конкретного набора технологий под задачу - это работа, за которую обычно люди деньги берут.
    Ответ написан
    1 комментарий
  • Можно ли программно включить подсветку на ноутбуке на windows 10?

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

    Если через встроенный софт нельзя включить подстветку, то никак нельзя.
    Ответ написан
    Комментировать
  • Как пополнить steam (Через API/Бота)?


    QIWI - есть пополнение steam Казахстан, оно больше не работает для россиян.

    Откуда инфа? Ещё вчера всё работало
    Ответ написан
    4 комментария