• Как в ASP.Net Core работать с PostgreSQL?

    @quizzer
    В ASP.NET Core при работе с PostgreSQL можно использовать родной провайдер для EF Core. Подробнее - PostgreSQL в Entity Framework Core
    Ответ написан
    Комментировать
  • Как в ASP.Net Core работать с PostgreSQL?

    @kvasek
    Используйте Entity Framework Core с Npgsql.EntityFrameworkCore.PostgreSQL, вот руководство по настройке
    Ответ написан
    Комментировать
  • Как параллельно выполнять функции на 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()
    Ответ написан
    Комментировать
  • Каковы типичные требования к Junior ASP.NET при устройстве на работу?

    https://metanit.com/sharp/
    - Полное руководство по C#
    - Паттернам проектирования
    - Полное руководство по ASP.NET MVC 5 и Руководство по Web API
    - Руководство по Entity Framework 6

    https://metanit.com/web/
    https://html5book.ru/category/uroki/
    - Руководство по HTML5 и CSS3

    Этого хватит.

    Просто прочитай, не все сразу, а по частям, растяни на пару месяцев, так лучше запомнится.
    Главное что бы "глаза горели".
    Ответ написан
    2 комментария
  • Как взаимодействовать с сайтами на C#?

    EreminD
    @EreminD
    Кое-что умею
    Самый простой вариант - использовать веб-драйвер
    Например, Selenium

    Документации и примеров по нему полно
    Ответ написан
    Комментировать
  • Как создать лаунчер для CS: GO?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Все это делает стим. Заканчивайте пиратить игра и так копейки стоит.
    А по факту чтобы такое сделать нужно примерно следующее:
    1) Тут можно конечно извратиться но в абсолютно любом случае. Вам нужно будет писать плагин для сервера на с++ в котором каким либо образом осуществлять коннект с клиентом к примеру по сокетам. С клиентской стороны писать опять же писать плагин все также на с++ для игры и при этом отключать верефикацию сертификата или получить его у valve чтобы плагин заработал на клиенте. Промежуточное звено в виде веб сервера с простым скриптом и БД для хранения и верефикации токенов Дальше обвязывать все это друг с другом что то типа:
    -запуск игры из лаунчера(получение токена от промежуточного сервера) и передача его в игру
    -игра запустилась и приняла плагином движка этот токен, коннект к серверу и передача на него этого токена.
    -клиент подключился к серверу и принял токен. Сервер делает верефикацию полученного токена от клиента на промежуточном сервере и по результату разрешает вход в игру или дисконектит с сервера.
    2) Свой античит даже близко недостающий функционалом до VAC у вас не получится, на это во первых тратят огромные деньги, во вторых нет исходников игры чтобы понимать чем пользуется чит. В третьих сама ОС
    антивирус забракует такую подозрительную активность от левого процесса в система посчитав ваш лаунчер вирусом.
    3) Тут делать как угодно можно, начиная от скриншотов самим лаунчером, заканчивая тем что их может делать плагин движка.
    4) Зависит от функционала.
    Ответ написан
    8 комментариев
  • Как вынести логику работы в отдельные .dll? И как такое называется?

    petermzg
    @petermzg
    Самый лучший программист
    Для .NET по обновлению dll есть только один вариант, это AppDomain.
    В вашем случае создаете новые для каждого уникального сценария, и в случае изменения dll, выгружаете целиком домен и создаете новый.

    Конечно не совсем понятно из вашего описания, что вы конкретно хотите. Но я предположу, что скорее вам подойдет Workflow, когда все разбиваете на маленькие задачки, которые вы сможете помещать уже в dll, а далее просто описывать сценарий.

    7c056f1079b8439dbdcf334eed9c9d55.PNG
    Ответ написан
    9 комментариев
  • Как сделать видимыми табуляции в VSCode?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Эти штуки называются indent guides. А включается добавлением "editor.renderIndentGuides": true в настройках.
    Ответ написан
    Комментировать
  • ASP.NET Как передать массив из javascript в контроллер?

    @mletov
    1) На клиенте сериализуйте передаваемые данные в json

    2) Создайте в C# класс, аналогичный структуре элемента массива созданного json, например, SomeClass.

    3) Создайте действие в контроллере, получающее на вход лист такого класса
    public ActionResult MyAction(List<SomeClass> data)
    {
              ....
    }


    4) Передайте ajax'ом данные в это действие контроллера
    Рекомендую воспользоваться jquery/angular, а не заморачиваться с чистым js, смотря что у вас на клиенте используется.

    PS Не забудьте сверить метод передачи и метод, прописанный в Annotation действия (POST, GET, PUT, DELETE)

    PPS В вашем случае, возможно, все проще и можно на вход действия получать
    public ActionResult MyAction(string[] data)
    {
              ....
    }

    Зависит от того, какая структура массива. Что он содержит: числа, строки, объекты?
    Ответ написан
  • Как передать данные из Form1 в Form2 не закрывая формы?

    @Beltoev
    Живу в своё удовольствие
    Что мешает в Form2 добавить метод для приема данных и вызывать, для примера, в виде form2.UpdateData(...)?

    Либо в Form1 создать событие, а уже при создании form2 подписаться на него:
    var form2 = new Form2();
    form2.MyEvent += Form2_MyEvent;
    this.Form1Event += form2.OnEvent;
    Ответ написан
    1 комментарий
  • Как мокнуть UserManager?

    Kamrit
    @Kamrit Автор вопроса
    QA Engineer
    //Arrange
                var _userRepository = new Mock<IUserRepository>();
                var _userStore = new Mock<IUserStore<ApplicationUser>>();
                var userManager = new UserManager<ApplicationUser>(_userStore.Object);
                var applicationUserManager = new ApplicationUserManager(_userStore.Object);
                var _countersIdRepository = new Mock<ICountersIdRepository>();
                var _userService = new Mock<IUserService>();
    
                RegisterBindingModel registerModel = new RegisterBindingModel() { Email = "test@gmail.com", Password = "qweasd" };
                ApplicationUser appUser = new ApplicationUser() { FirstName = "TestName", LastName = "TestLastName" };
                UserService userService = new UserService(_userRepository.Object, _countersIdRepository.Object);
    
                _userStore.Setup(x => x.CreateAsync(appUser)).Returns(Task.FromResult(IdentityResult.Success));
                _countersIdRepository.Setup(x => x.GetUserLastId()).Returns(10);
                _userService.Setup(x => x.Register(registerModel)).Returns(Task.FromResult(IdentityResult.Success));
    
                userService.UserManager = applicationUserManager;
    Ответ написан
    Комментировать
  • ASP NET Identity - как выводить сообщения о том что недостаточно прав?

    NYMEZIDE
    @NYMEZIDE
    резюме - ivanfilatov.ru
    Бекендом отдавайте 403 forbidden. Фронтендом ловите и выводите - мол запрещено. Без всяких редиректов.
    Это нормальная практика.
    Ответ написан
    2 комментария
  • Как из одной формы управлять прогресс-баром в другой?

    devspec
    @devspec
    Помогло? Отметь решением
    Можно сделать через делегаты или события. Красивее через события.
    https://stackoverflow.com/questions/977326/propaga...
    Ответ написан
    Комментировать
  • C# на стороне сервера возможен?

    petermzg
    @petermzg
    Самый лучший программист
    Да.
    1. Web сайт
    а. Windows + IIS
    б. Linux + .NET Core
    2. Job
    а. Azure WebJobs для примера
    Ответ написан
  • Поиск простых больших чисел на C# BigInteger?

    @tomatho
    Слишком большие числа для таких алгоритмов. Эти алгоритмы слишком медленные.
    Другими словами, мой ответ такой: Этот код работает, просто вам не хватит терпения дождаться его завершения.
    Update: modulo, modulo1. Что в оригинальном алгоритме, что в итоге - несёт какую-то бессмыслицу.

    Чтобы улучшить скорость, используйте вместо BigInteger обычный long.
    Этот тип позволит поддерживать числа до 9223372036854775807.
    А это число существенно больше тех чисел, которые можно проверить на простоту приведёнными выше алгоритмами, за разумное время.

    Что касается скоростных тестов на простоту, то можете реализовать тест Рабина-Миллера.
    Он сравнительно прост, и очень эффективен. Проблема его лишь в том, что он отвечает:
    "Это число простое с вероятностью 99.9999%"
    Зато вероятность эта может быть выбрана произвольно высоко.
    Например, он может ошибаться в среднем в одном случае из миллиона.

    Что касается точных проверок на простоту, такие реализовать сложнее.
    И я не думаю что у вас стоит такая задача.
    Ответ написан
    1 комментарий
  • Создание платных библиотек для .NET, Android и т.п. - прибыльно ли?

    @electronik777
    По за просу "pdf dll for .net buy" огромный вывод коммерческих библиотек. Чем Ваша будет лучше всего этого огромного списка? Сейчас высокая конкуренция в IT, огромное кол-во языков программирования, которые сменяют друг друга.

    В свое время очень искал аналоги, но именно библиотек - стоящих не нашел. Такое обычно пишут индивидуально в каждой фирме.

    Вот именно. Есть проект, его написали. Получили с него денег. Некоторые его части решили монетизировать, что бы еще заработать.

    А зачем писать, если будет готовое достаточно гибкое - то есть моя система?

    Я про Вашу систему не слышал. Да и зачем мне покупать Вашу систему, если у меня штат высококвалифицированных программистов, которые пишут дорогостоящий софт. То что Вы искали потому что Вам было лень/не знали/не поняли/не хотели разбираться, то другие берут и пишут. Если Вы придумаете то чего нет на рынке, тогда да.

    На каких клиентов ориентироваться - софтверные компании, несофтверные, или, может, можно заработать и на фрилансерах (для них надо очень дешево, но зато они недолго думают)?

    У совфтверных компаний огромный штат программистов, они сами могут написать. Фрилансеру смысл? У него почасовая оплата, ему выгоднее самому написать, да и если фрилансер со стажем, то у него уже огромное кол-во готового кода который ездит из проекта в проект, ему Ваша библиотека не особо понадобится если в ней нет чего то уникального.

    Так на какой доход можно будет рассчитывать именно в ближайшее время - месяцы, первые пару лет?

    Никакой, вы еще ничего не написали и не продали. Вы даже не определились что будете писать и кому продавать.

    Как раскручиваться? (хабр - само собой, но как-то это слабо)

    У Вас бюджет на продвижение будет выше Вашего заработка. На одном хабре Вы не взлетите.

    Предвижу ответы "ты от жизни отстал, сейчас опенсорс рулит".

    Вы не правы.

    Но я не вижу с него профита.

    Это только Ваше виденье.

    А серьезный проект, над которым работает несколько человек, как-то не хочется раздавать бесплатно, надеясь лишь на одни донаты.

    А еще есть платная тех поддержка. Как пример посмотрите сколько стоит платный сапорт nginx, там сумма от $2500. А писать его начинало всего несколько человек. Вы путаете понятия, OpenSource это НЕ бесплатный софт, это софт с открытым исходным кодом.

    Нас пятеро, и ни один - ни разу.

    Это Вы, основная поддержка opensource происходит за счёт инвестиций больших компаний, который этот софт использует. Например создатель WhatsApp задонатил $1 000 000

    И самое главное. Если хотите что то продавать, Вам навык программирования меньше всего нужен.
    Ответ написан
    1 комментарий
  • Как проверить, найдена ли запись в БД?

    JohnnyGat
    @JohnnyGat
    Стараюсь писать код, понятный человеку.
    Пример для MSSQL, думаю в вашем случае надо будет только дописать "My" перед "Sql"

    SqlConnection con;
    SqlCommand cmd;
    SqlDataReader dr;
    
    con = new SqlConnection();
    con.ConnectionString = "строка подключения к БД";
    
    cmd = new SqlCommand();
    cmd.Connection = con;
    
    con.Open();
    cmd.CommandText = "SELECT * FROM users WHERE username='"+username+"' AND password='"+password+"'";
    dr = cmd.ExecuteReader();
    dr.Read();
    if ((string)dr["username"] != "")
    // юзер найден
    else
    // юзер не найден
    con.Close();
    Ответ написан
    Комментировать
  • Ну могу разобраться с архитектурой Web приложения?

    Вы правы - можно запустить отдачу файлов Angular-а на одном порту/доменном имени/ip-адресе/веб-сервере (подойдёт любой веб-сервер, лишь бы умел отдавать статичные файлы: IIS/nginx/Apache/встроенный в nodejs), а ASP.NET WebAPI отдавать на другом порту/веб-сервере (здесь требуется IIS) - получается довольно удобно. А можно разнести по начальным путям - например, api отдавать по URL-ам, начинающимся на "/api/", а файлы Angular-а на всех остальных (настраивается на веб-сервере).
    Кроме того, приложение ASP.NET WebAPI можно сделать "self-hosted", т.е. со встроенным в него web-сервером, тогда его можно просто запускать как консольное приложение, и отдельный web-сервер для ASP.NET становится не нужен (но всё ещё нужен для Angular).
    Ответ написан
    Комментировать
  • Как увеличить надёжность SignalR?

    @shavakerzh
    .net developer
    Привет.
    SignalR нужен для доставки событий с сервера на клиент и не более.
    Описанные задачи можно решить, если хранить сообщения (в бд например).
    Ответ написан
    Комментировать
  • Наследование и(или) уменьшение объема кода - C#?

    Важнее научится правильно именовать переменные и объекты: Krug - Disk, Ploshad - Area. Это важно.

    На примере класса Krug (остальные фигуры по аналогии).
    -Создается полиморфный тип. B данном примере преимущество не заметно, но в реальных проектах может быть много общих методов, которые могут в точности повторяться в классах наследниках.
    -public const double Pi = Math.PI; - выкидывается, т.к. создает избыточность
    -вместо S = Pi * (r * r); нужно использовать готовый метод Math.Pow
    -лучше использовать инициализацию присваиванием double area = Math.PI * Math.Pow(Radius, 2); где это возможно
    -методы должны возвращать значение без Console.WriteLine("Shape");, таким образом данный пример можно использовать в приложении WindowsForms, например
    -можно добавить конструктор с параметром для инициализации св-ва Radius

    class Shape
    {
        //общие для фигур методы
        public virtual string GetShapeName()
        {
            return "Shape";
        }
    }
    
    class Disk : Shape
    {
        public double Radius { get; set; }
        
        public double Area()
        {
            double area = Math.PI * Math.Pow(Radius, 2);
            return area;
        }
     
        public double Length()
        {
            double length = 2 * Math.PI * Radius;
            return length;
        }
    
        public override string GetShapeName()
        {
            return "Disk";
        }
    }
    Ответ написан
    Комментировать