• Как запустить Console Application (.NET Core) на windows, как приложение, т.е. не через студию?

    @Mo__Ro
    Developer c#, php, java, html
    Можно так
    dotnet publish -r win-x64
    и будет тебе Exe файл.
    https://docs.microsoft.com/en-us/dotnet/core/tools...
    Ответ написан
    Комментировать
  • Как распознать частоту звука (ноты) в C#?

    Griboks
    @Griboks Куратор тега C#
    Использовать преобразование Фурье для получения спектра записи. Затем проанализировать спектр на наличие гармоник нот.
    Ответ написан
    2 комментария
  • Есть ли риск использования вашего ip третьими лицами при пользовании Tor?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Тор при умолчальных настройках не работает как выходная нода - вам нечего опасаться.
    Ответ написан
    Комментировать
  • Как превратить несколько методов, которые выполняют одну и ту же работу, в один?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    Делать метод обобщенным - не вариант
    самый тот вариант
    у обобщенного типа может вызываться только стандартный конструктор
    у методов не бывает конструкторов. они бываю у классов. понятно что ваша проблема в недопонимании, но не понятно чего именно. если бы вы привели пример заголовка (upd а лучше весь метод) обобщенного метода, и указали, в каком месте он не справляется с потребностями - это можно было обсудить. возможно даже сразу показать решение
    Ответ написан
    3 комментария
  • Как изучать паттерн MVVM и WPF?

    netrox
    @netrox
    Ответ написан
    Комментировать
  • Как защитить идею?

    @dmshar
    Особо позабавило вот это:
    Как защитить идею.... от того что в будущем (когда я буду заниматься её разработкой) она не пришла в голову кому-то другому. Бывает мысли у людей сходятся.

    Если у вас такое понимание прогресса, то возникают серьезные сомнения в пользе идеи, которая вам пришла в голову.
    Вы никогда не думали, что практически все действительно стоящие идеи - и даже великие идеи - одновременно приходили в голову нескольким людям?
    Дифференциальное и интегральное исчисления - Ньютону и Лейбницу.
    Теория Дарвина - ему и Альфреду Расселу Уоллесу.
    Логарифмы открыли независимо Непер и Бюрги.
    Закон Бойля — Мариотта - потому так и назван, что двое сделали это открытие почти одновременно и независимо друг от друга.
    Пятна на солнца вообще одновременно, в 1611 году открыли четыре (!!!) разных ученых.
    А Шарль Кро - изобретал патефон на пару месяцев раньше Эдисона, и цветную фотографию - с разницей в пол года с Дюко дю Ороном. (Во не повезло парню).
    В сегодняшнем мире - персональные компьютеры - посмотрите, кто когда и как начал их выпускать.
    Поисковые системы и социальные сети - вспомните их историю.
    Так что можете не обольщаться - если ваша идея не пришла в голову кому-нибудь другому, то будьте уверены - она не нужна никому.
    Но скажу один страшный секрет. Если даже к вам вот сейчас в голову пришла супер-пупер гениальная идея, которая принесет вам миллионы и всемирную известность, и вы сейчас вот размышляете, как добиться собственной монополии на нее - будьте уверены, что где-то в Америке, Японии, Китае или а Попуа-Новой Гвинее вот прямо сейчас кто-то другой уже начал ее реализовывать. И пока вы находитесь в размышлениях - он станет изобретателем и все лавры и миллионы достанутся ему.
    У первого - есть фора, но в сегодняшнем мире у него нет монополии.
    И помните - Стив Джобс, Цукерберг не были ни богатым, ни первыми. Но они шли к цели, а не думали, как себя от кого-то защищать.
    Поэтому совет - не майтесь дурью, а займитесь реализацией своей идеи. Нет денег - ищите инвестора. Да-да, делитесь с ним. Он даст вам то, что у вас нет, и за это вы с ним поделитесь и славой и деньгами. И нет в этом ничего зазорного или унизительного. Используйте свою фору, если она у вас есть, конечно.
    Ответ написан
    3 комментария
  • Как принимать POST и GET запросы в ASP.NET?

    @SomethingSpecial
    Много полезной и доходчивой информации на metanite, к примеру.
    Ответ написан
    1 комментарий
  • Как можно шифровать данные в базе данных MySQL?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Шифровать данные смысла нет. По шифрованным данным не будет нормально работать индексация. К тому же, если кто-то сольёт всю базу, то, скорее всего, он получит и ваши скрипты, которые шифруют/дешифруют данные при работе.
    Ответ написан
    7 комментариев
  • Какие есть технологии, методики или инструменты для упрощения валидации и обработки данных на Front-end и Back-end?

    @maltsever
    Поскольку мы в разделе ASP.NET, то буду говорить про него. Не знаю каким образом мы можем синхронизировать валидацию на фронтенде и бекенде, мне даже кажется это технически нереализуемо, но могу ошибаться. Если мы говорим о валидации в целом, то мы в первую очередь должны обеспечивать 100% валидацию на стороне сервера, потому что не хотим, чтобы была нарушена целостность данных и т.д. Тут надо руководствоваться принципом fail fast - как можно быстрее проверяем валидность данных из запроса. Чтобы привести валидацию к какому-то организованному виду можно использовать, например, библиотеку FluentValidation.
    Ответ написан
    1 комментарий
  • Какую переменную лучше взять для счетчика кликера?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    сравнивайте
    ulong
    decimal
    BigInteger

    последний несоизмеримо больше, но все равно конечный. тут было Предел big integer?

    но надо понимать, что это
    big integer хранит uint[] разрядов
    uint[] в котором разрядом является uint

    ps что из этого доступно в Unity - не подскажу
    decimal должен быть, ну и вроде BigInteger в Mono реализован, значить все должно быть доступно
    Ответ написан
    Комментировать
  • Как легче перейти с хостинга на VPS?

    sim3x
    @sim3x
    Посчитайте свои затраты по времени и деньгам перед таким переездом
    - сколько времени уйдет на обучение: ubuntu - nginx - RDBMS - php-fpm - memcache (использование любой магии типа панелей, скриптов, которые выне писали сами, только отсрочит обучение)
    - как будут делаться бекапы
    - как будете возвращаться после глобального взлома всего и вся
    - сколько потеряете клиентов при переходе
    - подумайте, как будете разруливать отправку почты
    - подумайте, есть ли возмжность упростить/улучшить все без переезда
    - что даст переезд в плане економии времени/ресурсов/увеличение почасового рейта/ и тп

    Я б не советовал переезжать пока у вас не будет четких ответов на подобные вопросы

    Что никак не отменяет, что можно перевести бложики и другие ресурсы на впс и учиться на них
    Ответ написан
    Комментировать
  • Какое будущее ждёт ASP.NET WebForms?

    netrox
    @netrox
    Ответ очевиден, переходить на MVC или ASP.NET CORE MVC .
    Ответ написан
    1 комментарий
  • Как можно избавиться от подобного мусора в коде?

    @Meloman19
    Множество лейблов, которые при наведении делают одно и то же? Не проще ли создать всего один обработчик и на него привязать события со всех нужных лейблов?
    private void label_MouseEnter(object sender, EventArgs e)
    {
       (sender as Label).ForeColor = Color.FromArgb(35, 33, 61);
    }
    
    private void label_MouseLeave(object sender, EventArgs e)
    {
       (sender as Label).ForeColor = Color.White;
    }


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

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

    @MIsternik
    DateTime date = DateTime.Parse("17:45");
    Task.Delay(date - DateTime.Now ).ContinueWith(MessageBox.Show("1"));
    Ответ написан
    Комментировать
  • Почему метод выполняется в главном потоке?

    ApeCoder
    @ApeCoder
    Асинхронность не значит мультитредность.
    https://docs.microsoft.com/ru-ru/dotnet/csharp/async

    Если ваша задача ограничена ресурсами процессора и вам важна скорость реагирования, используйте async и await, но перенесите выполнение задачи в другой поток с конструкцией Task.Run. Если к задаче применим параллелизм, также можно рассмотреть возможность использования библиотеки параллельных задач.
    Ответ написан
    Комментировать
  • Как рандомизировать строку?

    @phoboson
    Если я правильно понял:
    public static string RandomizeString(string str)
            {
                var chars = str.ToArray();
                var random = new Random();
                for(int n = chars.Length-1; n>=0; n--)
                {
                    var randomNumber = random.Next(chars.Length);
                    var savedChar = chars[randomNumber];
                    chars[randomNumber] = chars[n];
                    chars[n] = savedChar;
                }
                return new string(chars);
            }
    Ответ написан
    4 комментария
  • Что это за конструкция public T GetService() where T: class { throw new NotImplementedException(); } в C#?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Это объявление обобщённого метода, в котором тело не определено.
    В этом коде три разных концепции:
    1) это объявление метода GetService без аргументов и с возвращаемым типом T
    2) В качестве возвращаемого типа стоит T - это обобщённый (generic) тип, реальный тип будет указан при вызове метода. Слово where указывает ограничение - реальным типом должен быть класс.
    Например, можно указать MyService x = GetSevice<MyService>(); или Person x = GetSevice<Person>(); или IWeapon x = GetSevice<IWeapon>();.
    3) в качестве тела метода стоит throw new NotImplementedException(); - возникнет исключение, указывающее, что тело не определено. Так делается, если нужно показать, что этот код вызывать не нужно, либо если тело будет написано позже, а сейчас при вызове будет исключение.
    Ответ написан
    2 комментария
  • Калькулятор на mvc с историей операций?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Если для веб и именно на ASP.NET, то можно:

    1. Реализовать структуру или класс для хранения элемента данных (истории) и использовать статический класс, свойство или поле (например, на уровне класса контроллера) для всей истории:

    public class HistoryItem 
    {
    
      public double X { get; set; }
    
      public double Y { get; set; }
    
      public string Operation { get; set; }
    
      // предполагается, что журнал подразумевает хранение истории вычислений,
      // и хотя можно повторно провести вычисления, в журнале такого по идее быть не должно,
      public double Result { get; set; }
    
    }
    
    // ...
    
    public static List<HistoryItem> History = new List<HistoryItem>();
    
    // ...
    
    History.Add(new HistoryItem { X = 123, Y = 456, Operation = "+", Result =  579 });
    History.Add(new HistoryItem { X = 5, Y = 5, Operation = "*", Result = 25 });

    или проще, без HistoryItem, записывать в виде строк:

    public static List<string> History = new List<string>();
    
    // ...
    
    History.Add("2 * 2 = 4");
    History.Add("3 + 4 = 7");

    Можно сделать поправку на многопоточность и использовать что-нибудь потокобезопасное:

    using System.Collections.Concurrent;
    
    // ...
    
    public static ConcurrentBag<string> History = new ConcurrentBag<string>();
    
    // ...
    
    History.Add("123 + 345 = 468");
    History.Add("7 * 7 = 49");

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

    2. Записывать в текстовой файл:

    // добавить
    System.IO.File.AppendText("history.log", "5 * 5 = 25");
    // прочитать историю
    // System.IO.File.ReadAllText("history.log");

    При такой реализации, файл истории будет доступен в рамках жизненного цикла устройства хранения данных, пока последняя резервная копия не будет утрачена :-)

    3. Записывать в базу данных.

    Примерно такой же вариант, как и с записью в файл, но более сложный.

    ---

    Если условия задачи позволяют, я бы наверное сделал на стороне клиента (JavaScript) и использовал localStorage:

    var historyData = window.localStorage.getItem('history');
    var history = historyData ? JSON.parse(historyData) : [];
    
    history.push('1 + 1 = 2');
    history.push('2 + 2 = 4');
    history.push('4 + 4 = 8');
    
    window.localStorage.setItem('history', JSON.stringify(history));
    Ответ написан
    Комментировать