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

    В документации сказано, что data - это объект => можно.
    https://yandex.ru/dev/games/doc/dg/sdk/sdk-player.html
    Ответ написан
    Комментировать
  • Чем монтировать видео?

    1. Все описанные функции есть в абсолютно любом редакторе, так что тут тебе лишь по субъективному удобству стоит выбирать. Хоть ffmpeg, хоть sony vegas, хоть адобе премьер, хоть уже упомянутый мовави. Можешь даже Windows movie maker использовать :)

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

    3. При редактировании в любом случае придётся перекодировать, тк в среднем редакторы работают так:

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

    По определению скалярного произведения. Вот почему.
    Ответ написан
    Комментировать
  • Можно ли реализовать MVC в WinForms и как в ней переносить данные с одной формы на другую?

    В Winforms чаще используют паттерн Model-View-Presenter.
    А передавать данные между формами можно хоть через прямые ссылки на формы в другой форме, а можно через System.Threading.Channels, а можно через модель - зависит от того, какое поведение конкретно ты хочешь получить
    Ответ написан
    Комментировать
  • Можно ли сказать, что Гит работает на блокчейне?

    Только если хочешь продать кому-то git за очень много денег.
    Не забудь ещё упомянуть что он децентрализованный - ещё несколько иксов накрутишь)

    В принципе с натяжкой можно сделать аналогию
    Коммит = блок
    Изменение в рамках коммита = транзакция

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

    1. Можно использовать вебсокеты - тогда соединение будет поднято только 1 раз и бэк сможет "пушить" события на фронт.

    2. Если игра не рандомная, то можно часть вычислений производить на фронте, а на бэк идти только тогда, когда что-то должно измениться или для того чтобы синхронизироваться на всякий случай.
    Ответ написан
  • Есть ли какой довод переходить на Linux Mint с Ubuntu?

    Linux mint основан на убунту, и вроде как кроме UI там отличий то и нет
    Ответ написан
    4 комментария
  • Microdata и JSON-LD: Что лучше?

    Никогда раньше SEO не интересовался, но вот:

    По идее JSON-LD и Microdata описывают одну и ту же информацию на основе одного и того же стандарта - schema.org.

    Все поисковики поддерживают оба формата.

    Но тот же Google например рекомендует именно JSON-LD

    Microdata - удобно, что не нужно дублировать контент на странице. Достаточно просто пометить нужные части HTML-а.

    JSON-LD - удобно, тк не зависит от разметки и вроде как легче генерировать программно.

    Google явно рекомендует использовать именно JSON-LD (не знаю причину, но подозреваю что из-за того что его машине легче читать):
    https://developers.google.com/search/docs/appearan...

    Комбинировать оба формата можно - главное чтобы не было противоречий.

    3. Имеет ли значение, где я размещу разметку JSON-LD, в верху страницы, или в самом низу?

    Лучше, чтобы было в начале

    Допустим, я не нашел, как сделать разметку для Breadcrumbs на JSON-LD

    Кстати, тот же яндекс в своём руководстве в одном из первых примеров показывает, как их разметить)
    Ответ написан
    1 комментарий
  • Как работает set_my_commands()?

    Там же буквами написано - передавать нужно список из объектов класса BotCommand
    bot.set_my_commands([BotCommand("qwe", "q")])

    Вы что методом тыка код пишете?
    Ответ написан
  • Какой видеокурс по работе с браузером Google Chrome порекомендуете?

    Не существует курсов по работе с браузером.
    Есть справка, которая открывается нажатием кнопки F1, где описано всё, что можно в браузере сделать.

    А куки чистятся в настройках.
    Настройки -> очистить историю -> поставить галку напротив cookie

    Хз как в хроме, но вот например раздел из справки к яндекс браузеру:
    https://yandex.ru/support/browser/personal-data-pr...
    Ответ написан
    Комментировать
  • Cинхрон или асинхрон?

    асинхрон
    Плюсы: экономия ресурсов
    Минусы: может немного сложнее
    Ответ написан
    Комментировать
  • Как собрать приложение .NET MAUI на Linux?

    А как собрать MAUI проект под дистрибутивы GNU\Linux? Возможно ли? Какие есть способы?

    Ну вообще поддержка MAUI на Linux лежит полностью на плечах коммьюнити.
    Microsoft заявили, что они даже пытаться не будут.
    И вроде как коммьюнити с этим не очень справилось
    https://github.com/media-library/maui-linux

    Лучше попробуй Avalonia
    Ответ написан
  • Как закрыть доступ к старым commit для разработчиков на ветке master?

    Как не удалив историю коммитов в master предоставлять доступ разработчикам к актуальной версии приложения без доступа к коммитам содержащим конф. данные в коде?

    Раз уже данные скомпрометированы, то их нужно изменить (старые отозвать, новые выпустить).

    А историю можно переписать, чтобы убрать ненужное.
    Ответ написан
    Комментировать
  • Как подключить проект web API к проекту .NET Core MVC и к WPF проекту?

    Первая ссылка в поиске по запросу "start multiple projects visual studio"

    https://learn.microsoft.com/en-us/visualstudio/ide...
    Ответ написан
    Комментировать
  • Чем отличаются любительские МК от промышленных?

    1. Arduino - это не МК, а отладочная плата / плата для прототипирования
    2. Сами МК не делятся на "промышленные" и "любительские". Тк в такой классификации просто нет смысла.
    3.
    наверное надежностью?

    Надёжностью при определённых условиях могут отличаться некоторые специальные серии микроконтроллеров.
    4.
    какая разница в цене?

    Открываешь каталог и сравниваешь :)
    Где-то разницы нет, а где-то разница может быть в несколько порядков, в зависимости от требований

    если надо сделать умный дом или ферму, или теплицу.. (не работа в профессиональной индустрии)
    что лучше выбрать?

    То что будет лучше отвечать поставленным требованиям.

    Ещё про профессиональные/любительские

    Платы можно условно поделить на:

    Профессиональные отладочные/демонстрационные платы типа STM32 Discovery цель которых - показать разработчику возможности конкретного чипа или серии чипов

    Любительские, типа того же Arduino, которые предназначены для прототипирования, самоделок, и изучения программирования.

    Учебные/детские, наподобие micro:bit - только для того чтобы учить детей программированию в интерактивной и удобной форме.

    Ответ написан
    Комментировать
  • Почему выводятся одно и то же значение несколько раз?

    Код на js сейчас на столько плохой и запутанный, что легче его полностью переписать, чем разбираться, что в нём не так.
    Больше всего у меня подозрений на странную функцию SubmitDataLinks и странное перекладывание данных из одного в другое в обработчике нажатия на кнопку
    Спойлер

    Перекладывание
    var storage = { // Зачем вообще такая табличная форма нужна?
                    Mname: [
                        { mname: "vk" },
                        { mname: "tg" },
                        { mname: "inst" },
                        { mname: "facebook" }
                    ],
                    Link: [
                        { link: val.vk },
                        { link: val.tg },
                        { link: val.inst },
                        { link: val.facebook }
                    ]
                }
                var storageForSubmit = { // Почему один и тот же объект постоянно перезаписывается?
                    Mname: "",
                    Link: ""
                }
                for (var i = 0; i < storage.Link.length; i++) {
                    storageForSubmit.Mname = storage.Mname[i].mname // А не проще было бы for-of сделать?
                    storageForSubmit.Link = storage.Link[i].link
    
                    form.append("Media", JSON.stringify(storageForSubmit))
                    SubmitDataLinks(storageForSubmit) // Вот сюда в итоге один и тот же объект будет отправляться
                }


    Отправка:
    function SubmitDataLinks(storageForSubmit) { // storageForSubmit даже не используется
                $(document).ready(function(){// зачем оно в .ready обёрнуто???
                    $.ajax({
                    type: "POST",
                    url: "@Url.Action("SaveFile")",
                    data: form, // Поведение при использовании FormData недокументировано
                    processData: false,
                    contentType: false, // Поведение при contentType=false недокументировано
                    success: function () {
                        console.log("Успешно!")
                    },
                    error: function () {
                        console.log("Ошибка!")
                    }
                })
                })
            }




    1. Меняем серверную часть:
    Контроллер:
    [HttpPost]
    public void SaveFile([FromBody] UploadMedia data)
    {
      Console.WriteLine(data);
    }


    UploadMedia:
    public record UploadMedia(string MediaName, string MediaLink);


    2. Меняем нафиг весь js:
    document.addEventListener('DOMContentLoaded', () => {
        const saveFileEndpoint = '@Url.Action("SaveFile")';
        const readLinks = () => ({
            "vk": document.querySelector("input.link-vk").value,
            "tg": document.querySelector("input.link-tg").value,
            "inst": document.querySelector("input.link-inst").value,
            "facebook": document.querySelector("input.link-facebook").value,
        })
    
        const submitLinks = async (links) => {
            for (const mediaWithLink of links) {
                await fetch(saveFileEndpoint, {
                    method: "POST",
                    body: JSON.stringify(mediaWithLink),
                    headers: {
                        "Content-Type": "application/json"
                    }
                })
            }
        }
    
        const onSaveLinks = async () => {
            const allLinks = readLinks();
            const linksList = Object.keys(allLinks).map(key => ({ "MediaName": key, "MediaLink": allLinks[key] }));
            try {
                await submitLinks(linksList);
                console.log("Ссылки сохранены");
            } catch (e) {
                console.error(`Произошла ошибка при отправке ссылок: ${e.message}`);
            }
        };
    
        document.querySelector("button.save-links").addEventListener("click", onSaveLinks);
    });
    Ответ написан
    Комментировать
  • Подбор ноута для игр(60т.р.)?

    ПК всегда выгоднее, чем ноут при одинаковой производительности.
    для игрулек вроде doom 2020, rage 2, gta 5

    Такое даже Steam deck потянет - можно взять что угодно с более-менее игровой видеокартой и 16гб оперативки
    Ответ написан
    5 комментариев
  • Какой трекер для управления проектом выбрать из ру?

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

    IAM или Idm называется.
    Identity and Access management system.

    Из опенсорсных:
    Keycloack
    Casdoor
    Zitadel

    Из популярных платных:
    Auth0
    Azure AD
    Ответ написан
    3 комментария
  • Нужен ли антивирус на linux server?

    А вот нужен ли он например на веб-сервере или локальном сервере?

    Что такое "локальный сервер"? На веб-сервере не нужен, тк он не должен иметь прав на запись и тем более на запуск произвольного кода.

    Сервере базы данных?

    Он тоже не должен иметь доступ на запись туда, куда ему не нужно. И тем более он не должен иметь прав на запуск исполняемых файлов.

    И файловом сервере?

    Тоже должен иметь право на запись только в определённые директории, к которым никто другой не должен иметь доступ, чтобы случайно не запустить ничего. Прав на запуск соответственно он тоже иметь не должен.

    В итоге получается, что единственный риск - если злоумышленник вдруг найдёт RCE для СУБД или файлового хранилища, и то тут весь риск - потеря данных и майнеры.

    А на почтовые сервера антивирус ставят не для защиты сервера, а для защиты пользователей.
    Ответ написан