• Насколько пригоден ASP.NET Core для стартового проекта?

    @denismaster
    Добрый день! Поднимали уже два проекта на asp.net core, остались довольны. В целом технология готова, многое что еще не допилили - допиливают активно, работает стабильно.
    По вашим вопросам:
    • Реализация BCL в целом почти полная, все что нужно в 90% случаев уже давно есть, обработка данных, криптография и рефлексия поддерживается.
    • Возможно запустить asp.net core поверх полного дотнета, можно и так. Проблем в целом нет, без каких либо проблем тот же код, если не использует что-то специфичное, запускается и на других платформах.
    • PInvoke не применяли, но в интернете довольно много успешных историй его применения, в частности, фреймворк Avalonia его успешно применяет вроде как.
    • Kestrel отлично справляется в связке с nginx, да и сам по себе годен. Работает быстро.

    Как по мне, будущее за .NET Core. Использовать его уже реально.
    Ответ написан
    1 комментарий
  • Как параллельно выполнять функции на C#?

    @nightwolf_du
    5 лет опыта. c#, js, sql.
    самый простой вариант - попробуйте вызвать без await, т.е.
    var task1 = Func1();
    var task2 = Func2();
    Затем подождите асинхронно завершения всех тасков
    await Task.WhenAll(task1, task2, task3);
    И делайте с результатами что хотите. Результат можете брать хоть await task1, хоть task1.Result (аналогично с остальными task)

    Function1 в таком варианте может исполняться синхронно до первого await (точнее могу сказать подняв книгу, которую и вам рекомендую - Дэвис Д. - Асинхронное программирование в C# 5.0 - 2013 )

    А так есть куча способов параллельного исполнения - от брутального старта нового потока new Thread(<делегат>).Start() и записи куда-нибудь в общую память, старенького Parallel.ForEach до Task.Factory.StartNew()
    Ответ написан
    Комментировать
  • Как правильно поступить с классом Random?

    @Beltoev
    Живу в своё удовольствие
    Непонятно зачем вам Pass выносить за цикл. К тому же использовать неизменяемый тип string для этой задачи - не лучшее решение.

    Стиль именования переменных не критикую (а мог бы!):
    var password = new StringBuilder(pass_lenght);
    
    for (int i = 0; i < pass_lenght; i++)
    {
        password.Append(rnd_psw[rnd.Next(0, rnd_psw.Length)]);
    }
    
    Console.WriteLine("Ваш пароль:{0}", password);
    Ответ написан
    2 комментария
  • Как сделать так, что бы камера двигалась за персонажем и при этом Вращалась и Увеличивалась?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Вы уж извините, но описание как в World of Warships - так себе пояснение. или видео искать или вообще качать игру, чтоб посмотреть как камера вращается. а вам "так же как там" только без пары режимов.(слава богу по коду вроде понятно что вы хотите)

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

    тогда предложил бы просто использовать сферические координаты
    relativePosition = SphericalToCartesian(longitude, latitude, orbitRadius);
    transform.position = target.transform.position + relativePosition;
    
    private Vector3 SphericalToCartesian(float longitude, float latitude, float radius)
        {
            float x = radius * Mathf.Sin(latitude) * Mathf.Cos(longitude);
            float y = radius * Mathf.Cos(latitude);
            float z = radius * Mathf.Sin(latitude) * Mathf.Sin(longitude);
            return new Vector3(x, y, z);
        }


    По сути у вас есть долгота и широта (как на глобусе) и радиус сферы.
    Вычисляете координаты на сфере и плюсуете их к позиции target.

    Менять широту, долготу и радиус на основе инпута - тут я вижу вы в курсе как.

    ну и так к слову- скрипт тут на пару десятков строк, и мало связанный с другим функционалом - даже весь переписав - капитальным ремонтом это сложно назвать
    Ответ написан
  • Как правильно организовать Azure базу данных и UWP+Xamarin?

    @SZolotov
    Asp.net core, MAUI,WPF,Qt, Avalonia
    1. нет.
    2. нет.
    Ответ написан
    Комментировать
  • Что нужно установить для разработки на C# из под Ubuntu 16.04?

    JohnnyGat
    @JohnnyGat
    Стараюсь писать код, понятный человеку.
    .NET Core - https://www.microsoft.com/net/core#linuxubuntu
    Visual Studio Code - https://code.visualstudio.com/Download

    ну или Mono - www.mono-project.com/download/#download-lin-ubuntu

    Смотря что вы подразумеваете под "разработкой на C#".
    Ответ написан
    7 комментариев
  • Что нужно знать для разработки MMO игры?

    GavriKos
    @GavriKos Куратор тега Разработка игр
    Нужно иметь овердофига опыта в разработке более простых игр. Богатейший опыт в работе сетевых вещей. И овердофига денег.
    Ответ написан
    Комментировать
  • Есть ли уроки haskell под windows?

    @Mnab
    Если вас вопрос ОС останавливает то может оно вам и не надо?
    Ответ написан
    Комментировать
  • Как разыменовать элементы массива?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    К элементу массива на который указывает указатель можно обращаться с синтаксисом [], как к массиву, т.е.
    int *array = new int[10];
    array[1] = 10;
    delete[] array;

    или же с синтаксисом разыменовывания указателей, т.е.
    int *array = new int[10];
    *(array + 1) = 10;
    delete[] array;

    вероятно от вас требуется второй вариант. А вообще, читайте лучше книжки, чем по каждому пустяку идти на тостер.
    Ответ написан
    Комментировать
  • Как лучше оперировать большими объемами данных, используя C#?

    GavriKos
    @GavriKos
    Используйте базу данных. Они как раз вот для этого.
    А про нарветесь или нет - посчитать легко, зная размер MyClass средний.
    Ответ написан
    4 комментария
  • Что такое анимация и с чем ее кушать если OpenGL?

    @MarkusD Куратор тега C++
    все время мелю чепуху :)
    Spine C runtime.
    https://github.com/EsotericSoftware/spine-runtimes...
    Это не серебряная пуля и не идеальные практики. Пожалуй, в плане кода это пример наоборот, как код писать точно не надо.
    Но вот в плане реализации анимаций эта репка тебе очень поможет.

    Суть такова. Есть модель, она статична. Есть отрезок времени (таймлайн), на этом отрезке есть точки - ключевые кадры. Ключевой кадр несет в себе информацию о том, какую часть модели и как сместить. Чем проще инструкция в ключевом кадре, тем удобнее. Масштаб, поворот и смещение многие любят разделять по разным таймлайнам.
    OGL в этом деле не нужен, до поры.

    С помощью SRT таймлайнов можно анимировать объекты в пространстве целиком, но если тебе захочется точно так же анимировать части меша модели, то впереди тебя будут ждать трудности.
    Анимацию меша лучше реализовать на основе скелета. Это дело в двух словах уже не описать, тут лучше читать статьи.
    www.gamedev.ru/code/terms/SkeletalAnim
    www.gamedev.ru/code/articles/skeletal_animation
    https://habrahabr.ru/post/219509/
    https://habrahabr.ru/post/304042/
    www.gamedev.ru/code/articles/?id=4182

    Самое зерно скелетной анимации в том, что модель остается моделью, анимируются только кости скелета. И именно анимация кости приводит к перемещению фрагмента меша.

    Только на одной скелетной анимации далеко все равно не уедешь. Когда требуется на одной модели одновременно задействовать сразу несколько скелетных анимаций, если сделать в лоб, то меш поплывет во все стороны.
    Для смешивания различных скелетных анимаций применяют так называемые Blend Trees (ссылок под рукой нету, так что сорри).

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

    longclaps
    @longclaps
    Да есть какие-то...
    Ответ написан
    Комментировать
  • Как узнать пароль от Windows 10?

    nki
    @nki
    bezkart.ru готовая система лояльности
    Только терморектальный криптоанализ.
    Ответ написан
    Комментировать
  • Какие есть книги / виде-уроки по C#?

    @serber
    Сто раз уже задавали подобный вопрос.
    bfy.tw/9jPc
    Ответ написан
    Комментировать
  • Как построить свой рабочий день фрилансеру?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    3 комментария
  • C#: Как правильно прочитать и записать объекты в ArrayList?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Не стоит использовать ArrayListбез весомой на то необходимости. Поэтому компилятор не смог вас предупредить, что ArrayListсостоит из ArrayList'ов, в котором строки (двумерный массив строк), а не просто строк.

    Вместо ArrayListнеобходимо использовать типизированный динамический массивList<string>.

    public void Click_OpenFile()
    {
        string fileName = form1.OpenFie();
    
        IList<string[]> aL = ParseFile(fileName);
    
        foreach (var line in aL)
        {
            // Снова собираем токены в строки
            MessageBox.Show(string.Join(" ", line));
        }
    }
    
    // Читаем файл и построчно парсим его
    private IList<string[]> ParseFile(string fileName)
    {
        if (string.IsNullOrEmpty(fileName))
        {
            throw new ArgumentNullException(nameof(fileName));
        }
        if (!File.Exists(fileName))
        {
            throw new ArgumentException($"There is no file {fileName}!");
        }
    
        string[] fileContent = File.ReadAllLines(result);
        var aL = new List<string[]>(fileContent.Length);
        foreach (var line in fileContent)
        {
            aL.Add(ParseString(line));
        }
        return aL;
    }
    
    // Разбиваем строки на токены
    private string[] ParseString(string s)
    {
        const char delimiter = '|';
        return s.Split(delimiter);
    }
    Ответ написан
    Комментировать
  • Как установить драйвера на Windows 7, если нет драйверов на USB, на сетевую карту и нет дисковода?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Самый простой способ, который работает в 95% случаев:
    1. Скачиваем Linux Ubuntu
    2. Создаём загрузочную флешку с ним (например, при помощи Rufus'а)
    3.А Грузимся с неё, выходим в интернет идём на сайт производителя и скачиваем нужные драйвера на жесткий диск
    3.Б Или, подключаем другую флешку, на которой драйверы уже скачаны, и копируем их на жесткий диск
    4. Перезагружаемся обратно в Windows...

    P.S. Ubuntu в режиме "LiveCD" не вносит каких либо изменений на жестком диске, в ней есть множество драйверов, которые могут понадобиться, в т.ч. большинство драйверов на сетевые карты, USB и т.д.
    Ответ написан
    Комментировать
  • Как установить драйвера на Windows 7, если нет драйверов на USB, на сетевую карту и нет дисковода?

    @TNAT
    век живи, век учись
    На сайте Intel есть очень полезная утилитка Windows 7* USB 3.0 Creator Utility
    Если ей обработать дистрибутив Windows 7 перед установкой, то драйвера нужные будут сразу интегрированы в загрузочную флешку.
    В вашем случае придется:
    Переписать все ID неопознанных устройств.
    Снять HDD и подключить его к другому компьютеру, скачать где то все нужные драйвера на HDD и потом вернув HDD на место, установить их.

    Например драйвер для USB можно вытащить из архива - Win7-USB3.0-Creator-V3-Win7Admin.zip - for Admin systems with Windows 7 installed
    Ответ написан
    Комментировать
  • Можно ли на знаниях С++ ориентироваться и кодить в Unity пока не изучу С#?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Так-с. Дайте-ка подумать. Гравитация, сильное взаимодействие, слабое взаимодействие, третий закон Ньютона, преобразования Лоренца, квантовая неопределённость, стандартная модель... Эм, не знаю в общем никаких физических законов, которые не позволили бы изучать какую-либо технологию в процессе работы с ней. Даже более того, это единственный эффективный способ начать её изучать.

    Си++, C#, Java, Python, JavaScript... Да как вы надоели с этой хренью, честно. Никто не удивится, если ты понятия не имеешь, что такое рефлексия, зачем нужны лямбда-функции, почему так много споров о сборщике мусора. И тем более такие мелочи, как порядок инициализации или особенности области видимости в VC++98. Вопрос не то, чтобы плохой. Он глупый и неправильный. Unity это про иерархию объектов на сцене, их менеджемент, операции с матрицами, работа с графикой в реальном времени, однако, в основном - это про то, как перетащить объект из ассетов на сцену и поколдовать над его свойствами. Unity это про стейт-машины и формальную логику (например, предикаты), UI/UX и оптимальное программирование, но в большей степени это артисты рисующие модельки, текстуры и спрайты, озвучивающие и анимирующие их. Наконец, надо разбираться в предметной области в сфере, по которой создаётся игра, но для хэлоу ворлдов хватит и восьмого класса.

    Так что хватит загрязнять тостер с этой фигнёй. Тут очень слабое ранжирование хороших вопросов в отличии от stackoverflow, таких вопросов уже тьма задавали. Хватит!
    Ответ написан
    5 комментариев