• Возможно ли взломать шифр Вернама на псевдослучайных числах?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если формула твоего ГПСЧ будет простая (типа последовательности) и если злоумышленник
    сможет отправлять свои открытые тексты то он выявит этот xor очень быстро.

    Вообще Керхгофс писал о том что секретность должна быть на 100% перенесена в тело ключа а не
    алгоритма. В этом - главный принцип криптографии. Мы исходим из предположения что злоумышленник
    знает код
    . Он его видел. Он - бывший ваш сотрудник. И если он увольняется то он уходит со всеми
    секретами в голове. И чтобы этого не было Керхгофс говорит - "окей мы не можем защитить код. Код - утекает
    в пространство известной информации. Но мы можем сделать замену кода (КЛЮЧА!) настолько быстрой
    и легкой
    что увольнение сотрудника не будет нам стоить очень дорого"

    Уволился сотрудник который имел доступ к секретам - перегенерируй все секерты заново и спи спокойно.
    Ответ написан
    Комментировать
  • Как работает WriteLn в PascalAbc?

    @alexalexes
    Учителя в школе, если они плохо владеют предметом, опираются на сведения из методических указаний или конкретного учебника, и предпочитают не отступать от формулировок из этих источников.
    Если видите, что учитель строго следует этому правилу, то давайте ответы только из валидных источников по версии учителя, а для себя изучайте дополнительный материал.
    Если пойдете поступать в вуз, то преподаватели, в отличии от учителей в школе, дадут вам возможность пофилософствовать, но учитель в школе - это не про свободу мысли.
    Ответ написан
    1 комментарий
  • Как работает WriteLn в PascalAbc?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    writeln - это на самом деле вообще не функция (и не процедура). Это особая конструкция языка, которых не мало. Эту конструкцию компилятор переводит по-своему. Интересной демонстрацией будет вот такой код
    var N := 100.2;
    writeln(N:1:1);

    Двоеточие позволяет форматировать вывод. А такой способ формирования доступен только для writeln и больше нигде.
    Ответ написан
    1 комментарий
  • Как устранить проблему с отсутствующей директивой using?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    Раз ты используешь юнити, то тебе нужно откатиться на ту версию, на которой этот проект и создавался.
    Ответ написан
    Комментировать
  • Возможно ли на C# выполнить перевод криптовалюты и её трату?

    @romaro
    Вообще учет денежных транзакций — это задача бэкенда, который вы можете писать на C#. Хотя лично я сторонник того, что биллинг нужно реализовывать средствами СУБД (например, хранимыми процедурами), т.к. СУБД уже из коробки реализуют принципы ACID, без соблюдения которых работа с деньгами черевата...
    Ответ написан
    Комментировать
  • Возможно ли на C# выполнить перевод криптовалюты и её трату?

    Steel_Balls
    @Steel_Balls
    Да, конечно можно.
    Я лет десять назад писал с помощью using BitcoinWrapper из BitcoinLib под C#
    Ответ написан
    Комментировать
  • Какие существуют сокращения для быстрого создания отдельных блоков кода?

    GavriKos
    @GavriKos
    Ну класс, неймспейс и Main раньше вижла всегда прописывала сама при создании нового КОНСОЛЬНОГО проекта.

    А так это называется сниппеты, можете погуглить какие есть в вижле для сишарпа
    Ответ написан
    2 комментария
  • Переустановил Visual Studio и проект стал странно себя вести. Как поправить?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    Похоже что у Вас не установлена на ПК нужная версия NET Framework.
    Можно требуемую версию посмотреть в свойствах проекта.
    Установить можно через VS Installer или скачав инсталлятор с сайта MS.
    Ответ написан
    2 комментария
  • Почему я пишу один цвет, а у меня выходит другой?

    hint000
    @hint000
    у админа три руки
    здесь вы выводите x,y
    bitmap.SetPixel(x, y, Color.FromArgb(a,b,c,d));
    0 0
    65 65 65 65
    а здесь не выводите, а вдруг там из-за какой-то ошибки уже другие x,y:
    Console.WriteLine($"{color.A} {color.R} {color.G} {color.B}");
    65 66 66 66

    А ещё при выводе вы используете разные методы и удивляетесь разным результатам. Для чистоты эксперимента нужно использовать один и тот же метод. Например, так:
    var color = Color.FromArgb(a, b, c, d);
    Console.WriteLine($"{color.A} {color.R} {color.G} {color.B}");
    bitmap.SetPixel(x, y, Color.FromArgb(a,b,c,d));
    Ответ написан
    4 комментария
  • Как импортировать текстуру повторно, или как получить доступ к texture.GetPixel()?

    Denkuwus
    @Denkuwus
    15 y.o
    Чтобы получить доступ к TextureImporter, можно использовать класс AssetImporter:

    using UnityEngine;
    using UnityEditor;
    
    // ...
    
    // Загружаем текстуру
    Texture2D texture = AssetDatabase.LoadAssetAtPath<Texture2D>("Assets/MyTexture.png");
    
    // Получаем импортер ассетов для текстуры
    TextureImporter textureImporter = AssetImporter.GetAtPath(AssetDatabase.GetAssetPath(texture)) as TextureImporter;
    
    // Проверяем корректность импортера текстуры
    if (textureImporter != null)
    {
        // Задаем настройки листа спрайтов
        textureImporter.textureType = TextureImporterType.Sprite;
        textureImporter.spriteImportMode = SpriteImportMode.Multiple;
        textureImporter.mipmapEnabled = false;
        textureImporter.isReadable = true;
    
        // Задаем метаданные листа спрайтов
        TextureImporterSettings settings = new TextureImporterSettings();
        textureImporter.ReadTextureSettings(settings);
        List<SpriteMetaData> metadata = new List<SpriteMetaData>();
        // Add sprite sheet frames here
        settings.spriteMetaData = metadata.ToArray();
        textureImporter.SetTextureSettings(settings);
    
        // Импортируем текстуру
        AssetDatabase.ImportAsset(AssetDatabase.GetAssetPath(texture), ImportAssetOptions.ForceUpdate);
    }


    Код импортирует ресурс текстуры в виде листа спрайтов с указанными метаданными кадра. Для свойства isReadable будет установлено значение true, можно использовать Texture2D.GetPixel() для доступа к пиксельным данным текстуры.

    Чтобы код еще и работал при запуске игры нужно получить доступ к пиксельным данным текстуры во время выполнения, нужно будет установить свойство Read/Write Enabled в настройках импорта текстуры в редакторе Unity перед импортом текстуры.
    Ответ написан
    3 комментария
  • Есть ли аналоги корутин Unity в языке c# и как их использовать?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    На сколько я знаю, корутины в Unity реализованы через IEnumerator и объекты WaitForSeconds.

    IEnumerator и IEnumerable - это стандартные интерфейсы, которые используются для реализации перечислений/коллекций и итераторов.

    А вот ожидание в C# ты можешь получить через метод Thread.Sleep (в синхронных методах) или await Task.Delay (в асинхронных методах).
    Ответ написан
    9 комментариев
  • Как сделать картинку размером более 100000 пикселей(png)?

    vabka
    @vabka Куратор тега .NET
    Токсичный шарпист
    Битмап такой размер сделать не может.

    а затем редактировать её классом битмап?

    У тебя тут взаимоисключающие тезисы. Так что никак :)

    1. Учитывай, что такая "картинка" будет весить 232гб (для манипуляций с картинкой её надо распаковать), так что продуктивнее будет её разрезать на N тайлов чуть меньшего размера. Хотябы по 16к*16к пикселей
    2. Ты можешь взять ImageSharp(https://sixlabors.com/products/imagesharp/)
    или Skia:(https://github.com/mono/SkiaSharp) - в них меньше ограничений, чем у стандартного Bitmap, но всё равно врядли они смогут с гигантскими картинками работать.
    Ответ написан
    Комментировать
  • Как сделать картинку размером более 100000 пикселей(png)?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Если памяти хватает - создать массив нужного размера и далее его сохранять в нужный формат в файл. Имеет смысл поискать либы для работы с большими файлами. Либо писать самостоятельно. Про GDI вам уже сказали, что он не поддерживает большие файлы - там просто древний легаси код. Если памяти не хватает - работать с пикселями в потоковом режиме или с небольшими блоками, зависит от того, что надо делать с изображением.
    Ответ написан
    Комментировать
  • Почему мой exe файл не запускается на других ПК?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    Скопируйте на другой ПК всю папку bin/Release и запускайте оттуда. Это сработает, если Ваше приложение не использует библиотеки, которые нужно регистрировать в системе.
    Ну будущее - почитайте про публикацию, создание инсталлятора.
    Ответ написан
    Комментировать
  • Unity не хочет показывать метод в скрипте при попытке вызвать его при нажатии кнопки, не могу выбрать метод. Как исправить?

    KraGenDeveloper
    @KraGenDeveloper
    Unity Developer
    Смотри я такой же штукой страдал тоже и что бы показать одно окно но скрыть другие приходило писать по 5-10 строчек по типу
    settingsTab.SetActive(true);
    menuTab.SetActive(false);
    infoTab.SetActive(false);
    ]
    но это выглядит туго да и всегда при добавлении новой вкладки приписывать ещё это туго.
    по этому предлагаю свою версию данной системы "страниц"
    [SerializeField] private GameObject[] tabs;
    
    public void OpenTab(int tabId){
       for(int i = 0;i < tabs.Lenght; i++){
            tabs[i].SetActive(false);
    }
    tabs[tabsId].setActive(true);
    }
    public void CloseAllTab(int tabId){
       for(int i = 0;i < tabs.Lenght; i++){
            tabs[i].SetActive(false);
    }
    }

    в итоге что мы имеем:
    приватный сериализуемый масив с вашими вкладками (можно было юзать список но его я юзал пару раз а тут пишу без редактора кода по памяти)
    и два метода.
    1. открыть вкладку
    2. закрыть вкладку
    напишите в коде вверху что то типа подсказки
    // 0. Меню
    // 1. Настрокий
    и так дале что бы вы знали какой номер какая вкладка.
    И теперь при добавлении на кнопку вам нужно будет всего лишь указать Айди вкладки которую нужно открыть и всё. Надеюсь я вам помог и если это так то отметьте пожалуйста решением дабы другие видели что это работает и мне маленький плюсик в статистику не зря же писал)
    Ответ написан
    1 комментарий
  • Почему Visual studio code не выдаёт ответ?

    @idafanasew
    let names = 'Jut';
    console.log(names);
    Попробуй вставь в js файл. Тоже самое выдаст?
    Ответ написан
    Комментировать
  • Как удалить папку, она просит разрешение учётки админа, а я с неё и сижу?

    @Chitinets
    Просто в настройках безопасности файла станьте его владельцем
    Ответ написан
    Комментировать
  • Возьмут ли в колледж на техника-программиста с плохим зрением?

    vabka
    @vabka
    Токсичный шарпист
    Вроде как никаких ограничений при приёме на учёбу нет - это всё таки не армия.
    По крайней мере с моими -7 на ризу не было проблем или каких-то вопросов.

    Если есть причины сомневаться - проще вопрос задать приёмной комиссии
    Ответ написан
    3 комментария
  • Где можно изучить Unity лучше чем самый базовый уровень?

    K0TlK
    @K0TlK
    Буллю людей.
    https://learn.unity.com/courses Официальные юнитивские курсы будут получше процентов 80 того, что показывают на YT. По c# есть курс от ulearn можете его пройти: https://ulearn.me/
    Ответ написан
    Комментировать
  • Где можно изучить Unity лучше чем самый базовый уровень?

    vabka
    @vabka
    Токсичный шарпист
    Ответ написан
    Комментировать