Задать вопрос
  • Почему Doom портируют куда только можно?

    NeiroNx
    @NeiroNx
    Программист
    Вопрос скорее философский.
    Ответ: скорее потому что разработчик открыл исходные коды и сделал их общественным достоянием, потому что известный.
    Можно также спросить почему везде Энштейна рисуют, ведь полно других ученых.
    Ответ написан
    Комментировать
  • Почему Doom портируют куда только можно?

    GavriKos
    @GavriKos Куратор тега Разработка игр
    Микропетпроджект - домашнее облако homeCloud
    Ну во первых на половину устройств его не портировали. На том же тесте на беременность его просто показали - т.е. экран теста использовался, а вычисления шли на обычном компе.
    Если еще чуть глубже погуглите - то есть статьи и про архитектуру дума. Да, там очень много интересных решений. Но по факту можно так же портировать и квейк, и вольфенштейна, и мб даже халфу с софтверным рендером. Просто дум стал в этом плане красной тряпкой для быка. Не знаю, как фраза "съешь еще этих булочек", как фото девушки для обработки изображений и т.д.
    Ответ написан
    Комментировать
  • Корректен ли такой способ обьявления переменной?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    IEnumerable - интерфейс, а List - класс, реализующий данный интерфейс. Любой класс может реализовывать несколько интерфейсов. Правильнее объявлять как есть - т.е. List, а там где, где нужен конкретный интерфейс/класс - просто делать каст. Обычно не требуется, т.к. IDE/компилятор еще стадии написания/компиляции кода проверяет наличие нужного интерфейса в передаваемом объекте. Соответственно, если ваш конструктор просит IEnumerable, но не разрешает List - проверяйте точнее, что именно нужно конструктору, т.к. если все правильно делать - то List он должен принимать.
    Ответ написан
    3 комментария
  • Как получить диплом сред-спец образования программисту без техникума и 4 лет впустую?

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

    CityCat4
    @CityCat4 Куратор тега Электронная почта
    Жил да был черный кот за углом...
    Никак. Технически невозможно.

    RFC822 описывает сообщение почты как поток 7-битных данных. С которым я при приеме могу делать все, что хочу. Хочу - и удалю нафиг все html теги фильтром при приеме в ящик. Хочу - и порежу все ссылки (как делает Lotus Notes). Хочу - и приму письмо, а верну код, что пользователя не существует.

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

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Из соображений безопасности открытие ресурсов по внешним ссылкам многие почтовые клиенты и почтовые сервисы не делают вообще. Тем более когда речь явно идёт о картинке размера 1x1, которую могут игнорировать намеренно (лучше уж тогда не указывать размеры, пусть клиент скачает картинку эту 1x1 и узнает размер только после этого).

    Надо понимать, что E-mail - это канал с негарантированной доставкой до получателя без шансов проверить факт доставки/прочтения. Письмо может вообще не дойти до получателя, может дойти до "Спама", может дойти но сразу пойти в под нож - но мы об этом не узнаем. Все эти пиксельные картинки, оборачивания ссылок в персонально трекируемые, "запрос подтверждения" - всё эти попытки хоть как-то обойти эти ограничения всё равно ни к чему получателя не обязывают. Получатель может всё это полностью проигнорировать.

    Или, как вариант, картинку почтовый сервис получателя может скачать заранее и положить в кэш, что также ничего не означает о получении письма. Её также может скачать антивирус почтового сервиса или получателя, чтобы проверить.

    Я всегда принципиально отказываюсь от всех подтверждающих получение действий и фокусов, потому что если отправитель ПОЛЕНИЛСЯ приаттачить все картинки к письму - то значит я посмотрю на его письмо без картинок и по ссылкам переходить не буду вообще. Не заслужил. Ничего ценного в таких письмах я ещё ни разу не видел.

    Единственное, для чего все эти средства помогают - примерно оценивать степень прочтения в сравнении с предыдущим опытом. Скажем, вчера письмо прочитало 30% получателей, это может означать что его прочитало, например,на самом деле 60%, но лишь половина подвержена трекингу. А если сегодня прочитало 10%, значит, что-то случилось: письмо хуже дошло до получателей, письмо хуже привлекло их внимание... (Все цифры, конечно, от балды, они имеют иллюстративный характер)

    Да и вообще, в наше время почту читает всё меньше людей.
    Ответ написан
    Комментировать
  • Как лучше хранить денежные суммы в Postgres?

    @tukreb
    Вот так не нужно
    https://wiki.postgresql.org/wiki/Don%27t_Do_This#D...

    И всё Postresql умеет в numeric https://www.postgresql.org/docs/current/datatype-n...
    up to 131072 digits before the decimal point; up to 16383 digits after the decimal point
    Ответ написан
    Комментировать
  • Почему вылетает синий экран смерти при обучении сети?

    NeiroNx
    @NeiroNx
    Программист
    Ошибка разделения границ оперативной памяти - приложение выжрало слишком много и винда не смогла это разрулить. Нужно более тонко настроить потребление памяти. И попробовать на линуксах для чистоты эксперимента - что проблема в винде.
    Ответ написан
    2 комментария
  • Как найти Vector2 позицию за объектом?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Так а в чем проблема-то? Это ж школьная программа?
    Точка А у вас есть, точка B тоже. Берёте вектор AB - это вектор B минус вектор A.
    Нормируете его до единичного. Для этого нужно вектор AB разделить на модуль (длину) этого вектора. AB/|AB| - это вектор направления на точку, над которой надо поставить камеру.
    Осталось этот единичный веткор умножить на необходимое вам расстояние. В вашем случае это 5: AB/|AB|*5
    Также моэно вычслить и положение камеры. Допустим камера в точке X и ее координат мы не знаем, но знаем высоту камеры, а значит и вектор CX = (0,0,4), если высоту камеры мы решили взять равной 4.
    Итого: X=B+AB/|AB|*5+CX
    где:
    X - искомый вектор координат камеры;
    B - вектор координат точки B;
    A - вектор координат точки A;
    AB = B-A -- вектор, равный разности векторов B и A;
    |AB| -- длина вектора AB, то есть его модуль;
    CX - вектор, указывающий на камеру относительно точки C, например (0,0,4);

    Можно сразу все вектора сделать трехмерными и делать все вычисления в них.

    В школе надо учиться. А то потом приходится вот такие детские вопросы тут задавать.
    Ответ написан
    3 комментария
  • Как отключить корутину если она не отключается через StopCoroutine?

    GavriKos
    @GavriKos Куратор тега Unity
    Микропетпроджект - домашнее облако homeCloud
    Вот по памяти не помню, но что то мне подсказывает что надо в Stop передавать тот же енумератор, что и в старт. А вы передаете новый.
    Ответ написан
    1 комментарий
  • Как отключить передвижение карты после активации режима редактирования при приближении мыши к краям карты?

    @da_normalny_ya Автор вопроса
    myPolyline.options.set('editorUseAutoPanInDrawing', false);
    Ответ написан
    Комментировать
  • Не понимаю в чём ошибка в коде, как исправить?

    GavriKos
    @GavriKos
    Микропетпроджект - домашнее облако homeCloud
    1. Начните не с юнити а с сишарпа
    2. Используйте IDE, а не какое то говно
    3. Прочитайте ошибку, найдите строчку в которой ошибка
    4. Подумайте что в этой строчке не так.

    Вам же прям вот указана строка. Прям вот напрямую. И любая IDE это подчеркнет красным.
    Ответ написан
    4 комментария
  • Как писать приватную переменную, если она изначально с большой буквы?

    Griboks
    @Griboks Куратор тега C#
    Есть переменная SocketInteractionContext Context, и её надо сделать приватной

    Чтобы сделать переменную приватной, используйте ключевое слово private. В шарпе регистр названия (и вообще имя) не влияет на доступ.
    Ответ написан
    Комментировать
  • Как перенести разметку текста из html файла в приложение wpf?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Конвертировать в XAML, ищите по фразе html 2 xaml - я лично не проверял и на сколько качественные нынче конвертеры я не знаю, но в целом должно работать.
    Ответ написан
    1 комментарий
  • Как вычитать таблицу после JOIN?

    @Akina
    Сетевой и системный админ, SQL-программист.
    NOT IN в большинстве случаев - самая медленная реализация. Лучше использовать, в зависимости от объёма данных и наличия индексов, либо WHERE NOT EXISTS, либо LEFT JOIN WHERE IS NULL.

    SELECT * 
    FROM `table1` 
    JOIN `table2` ON `title`=`sometitle` 
    WHERE NOT EXISTS ( SELECT NULL
                       FROM table3
                       WHERE table1.id = table3.id )
    ORDER BY `date`


    SELECT * 
    FROM `table1` 
    JOIN `table2` ON `title`=`sometitle` 
    LEFT JOIN table3 ON table1.id = table3.id
    WHERE table3.id IS NULL
    ORDER BY `date`


    Что именно использовать - надо смотреть по построенному плану запроса и практическому сравнению производительности запросов.
    Ответ написан
    Комментировать
  • Как вычитать таблицу после JOIN?

    SELECT * 
    FROM `table1` JOIN `table2` ON `title`=`sometitle` 
    WHERE table1.id NOT IN (SELECT id FROM table3)
    ORDER BY `date`
    Ответ написан
    1 комментарий
  • Как скомпилировать консольное приложение для Android?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    В APK - нет, но можно просто собрать бинарник и запускать его черех терминал типа ConnectBot
    Ответ написан
    Комментировать
  • На чем делать UI для Windows в 2022 году?

    MAUI - это масштабное обновления xamarin-а по сути. ИМХО без поддержки Linux его кроссплатформенность мало чего стоит.
    WPF - это нативная технология при этом с WPF тебе доступны всякие сторонние и родные контролы. В том числе самые новые от WinUI 3.
    UWP превратился в WinUI 3
    Avalonia - кроссплатформа. "Как WPF но лучше", но без поддержки контролов от WPF или WinUI, но есть много свободных вполне неплохих. Да и система стилей достаточно удобная

    Если тебе не нравится Winforms из-за внешнего вида стандартных контролов, то всегда можно использовать сторонние.

    На втором месте наверное AvaloniaUI смущает что на нем каких то больших проектов.

    Есть много разных проектов, в том числе крупных и коммерческих, и от именитых компаний.
    https://avaloniaui.net/Showcase

    Так как программа небольшая я склоняюсь все быстро сделать на Windows Forms, в 2022 году кто то стартует на нем новые проекты?

    Если ты делаешь что-то небольшое и чисто для себя, и ты не умеешь работать с XAML и нет времени на освоение - нет причин не использовать Winforms. Да, он имеет проблемы с производительностью, да он не очень красивый, да винформы не очень легко поддерживать. Но является ли это реальной проблемой для вашего проекта?

    В общем вот мой топ-чарт:
    1. Если дёшево и сердито - Winforms (остальное - если нужен нормальный дизайн)
    2. Если кроссплатформу - Avalonia
    3. Если нужно на телефоны - MAUI (хотя Avalonia уже можно заставить работать на Android)
    4. Если хочется в новый дизайн винды - WinUI 3
    Ответ написан
    6 комментариев
  • Функция UPDATE в PostgreSQL не принимает вложенный запрос?

    @kalapanga
    А чего спрашивать-то? Прочитайте документацию postgresql про update - есть там подобный синтаксис или нет? Уже понятно, что нет. Возможно, Вам подойдёт with?
    А что касается Степиков и подобных, то в курсах по SQL обязательно должна быть указана версия/стандарт sql на которых курс основан, чтобы подобные казусы выявлять.
    Ответ написан
    Комментировать
  • Как подождать, пока сервер даст ответ и дальше продолжить выполнение метода?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    С чего бы это вы знаете что нужно использовать асинхронные фичи?
    Вполне нормально в основном потоке поставить лоадер и дождатся когда придут данные.
    Ответ написан
    9 комментариев