• Как youtube сохраняет историю просмотра пользователей?

    @oleg_ods
    Если вопрос в контексте изучения SQL, то ответ дали выше. Если же вопрос был про то как подобные задачи решают монстры типа YouTube, Facebook, Tweeter и тд., то тут у каждого свои приемы. Если интересна эта тема то вот пример того как pikabu хранит историю просмотреных постов для каждого пользователя ссылка
    Ответ написан
    Комментировать
  • Как организовать функционал управления доступами к функция проекта?

    @oleg_ods
    В ASP.Net есть управление доступом на основе политик безопасности(Policy Based Authorization).

    В политике описываются правила доступа к ресурсу(объекту, странице, контроллеру и тд). Сами правила в свою очередь могут состоять из абсолютно любых условий(роль, id, лунная фаза…)

    Если я правильно понял Вашу задачу, то нужен примерно такой же механизм. Можете поискать подобные решения для php.
    Ответ написан
    Комментировать
  • Как записать в переменную строку из JSON файла с#?

    @oleg_ods
    Используй StreamReader. С помощью метода ReadLine можно читать файл построчно.
    Ответ написан
    Комментировать
  • Как передать экземпляр класса в базу данных не используя entity framework?

    @oleg_ods
    Используйте ADO.Net или Dapper
    Ответ написан
    Комментировать
  • Как запустить задачу меньше чем за 1 мс?

    @oleg_ods
    Операционные системы на которых работает C# не поддерживают Real Time взаимодействие.

    Методы Thread.Sleep(10)/Task.Delay(10) означают что задержка будет как минимум(!) 10 мс, но не дают никакой гарантии что задержка будет ровно 10 мс. То есть это значит что 10 мс поток будет бездействовать, а потом встанет в очередь за получением процессорного времени.

    Как написали выше Вам нужно смотреть в сторону RTOS и более низкоуровневых языков программирования. На настольных ОС такие задачи не решаются.
    Ответ написан
    Комментировать
  • Можно ли начать разрабатывать игры в Unity, зная основы c#?

    @oleg_ods
    Смотря что Вы подразумеваете под фразой «знаю основы».

    Можете устроить себе тест. Возьмите 200 последних вопросов с тэгом Unity с этого ресурса и попробуйте сами на них ответить(большинство проблем в них как раз таки связано с незнанием основ языка). Если нашли ответ на 80% то смело беритесь за Unity, если меньше то у Вас будет список тем по которым Вам нужно подтянуть знания.
    Ответ написан
    3 комментария
  • Как передать список объектов из cshtml в контроллер через javascript?

    @oleg_ods
    В запросе Вы посылаете объект подобной структуры:
    var data = {
                'TabDog': arr,
                'NumberDog': $('#NumberDog').val(),
                'DateDogM': $('#DateDogM').val(),
                'S': $('#S').val(),
                'Po': $('#Po').val(),
                'OrganizDog': $('#OrganizDog').val(),
                'PrimDog': $('#PrimDog').val(),
                'UserDog': $('#UserDog').val(),
                'DateDog': $('#DateDog').val(),
                'TabDog': $('#DateDog').val()
            };


    А в контроллере пытаетесь получить массив чисел типа decimal. Вот сервер и не может корректно забиндить полученные данные.

    Варианты решения:
    1) Принимать в контроллере объект.
    2) Посылать в ajax запросе только массив чисел.
    Ответ написан
  • Как сделать что бы команда выполнилась в определенное время в с#?

    @oleg_ods
    Использовать планировщик задач. Например, Quartz или Hangfire.
    Ответ написан
    7 комментариев
  • Откуда берется новая таблица после переопределения IdentityRole?

    @oleg_ods
    У ApplicationUser и ApplicationRole связь many-to-many. Для ее обслуживания создается дополнительная таблица.

    Если хотите использовать для связи таблицу UserRoles это надо указать явно.

    Пример из документации:

    internal class MyContext : DbContext
    {
        public MyContext(DbContextOptions<MyContext> options)
            : base(options)
        {
        }
    
        public DbSet<Post> Posts { get; set; }
        public DbSet<Tag> Tags { get; set; }
    
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity<Post>()
                .HasMany(p => p.Tags)
                .WithMany(p => p.Posts)
                .UsingEntity<PostTag>(
                    j => j
                        .HasOne(pt => pt.Tag)
                        .WithMany(t => t.PostTags)
                        .HasForeignKey(pt => pt.TagId),
                    j => j
                        .HasOne(pt => pt.Post)
                        .WithMany(p => p.PostTags)
                        .HasForeignKey(pt => pt.PostId),
                    j =>
                    {
                        j.Property(pt => pt.PublicationDate).HasDefaultValueSql("CURRENT_TIMESTAMP");
                        j.HasKey(t => new { t.PostId, t.TagId });
                    });
        }
    }
    
    public class Post
    {
        public int PostId { get; set; }
        public string Title { get; set; }
        public string Content { get; set; }
    
        public ICollection<Tag> Tags { get; set; }
        public List<PostTag> PostTags { get; set; }
    }
    
    public class Tag
    {
        public string TagId { get; set; }
    
        public ICollection<Post> Posts { get; set; }
        public List<PostTag> PostTags { get; set; }
    }
    
    public class PostTag
    {
        public DateTime PublicationDate { get; set; }
    
        public int PostId { get; set; }
        public Post Post { get; set; }
    
        public string TagId { get; set; }
        public Tag Tag { get; set; }
    }
    Ответ написан
    2 комментария
  • Ошибка ввода, как исправить?

    @oleg_ods
    В зависимости от локализации ОС в качестве разделителя дробной части может использоваться точка или запятая.

    Для локализаций стран СНГ можно добавить
    Console.ReadLine().Replace(“.”, “,”)

    Тогда будет корректно обрабатывать оба варианта ввода(например «1,2», «1.2»).
    Ответ написан
    Комментировать
  • Как определить время запросов EF Core?

    @oleg_ods
    Включить логгирование запросов. тыц
    Ответ написан
    Комментировать
  • Как убрать из листа обьект который вышел из поля зрения (вопрос по raycast)?

    @oleg_ods
    У List есть метод Remove(), который как раз таки удаляет объекты из листа.
    Ответ написан
  • Почему я в поиске по хештегу нашел свой давно удаленный пост? Как удалить удаленные посты 10000%?

    @oleg_ods
    Если коротко — никак. От слова совсем=)

    Данные хранятся не у Вас в профиле, а на серверах Instagram. Почти всегда соцсети при удалении информации(посты, коменты, фото и тд.) применяют методику Soft delete(погуглите что это такое). То есть не удаляют данные физически, а просто ставят рядом с ними метку «Удалено». Благодаря этому в любой момент можно удаленные данные восстановить.

    Так что добро пожаловать в цифровой мир!)
    6289d2dcd0fbd507856672.jpeg

    P.S.
    Это хорошо, что именно этот пост был невинный, некоторые удаленные должны быть удаленными.

    Если не писать «винных» постов, то и удалять ничего не надо будет!
    Ответ написан
    Комментировать
  • Как с помощью GPS и Arduino, надёжно и безопасно вывести человека из леса?

    @oleg_ods
    В таких ситуациях проверенный gps-навигатор предпочтительнее «колхоза» на базе arduino, все таки тут вопрос жизни и смерти.

    А если чисто поиграть с навигацией на arduino, то можно сохранять точку входа в лес и дальше с некими промежутками(например 15-60 мин) сохранять промежуточные точки маршрута. А дальше делать указатели на эти точки в обратном порядке до точки входа, то есть по сути вести по тому же маршруту по которому человек в лес зашел.
    Ответ написан
    Комментировать
  • Как при создании модели указать что поле not null?

    @oleg_ods
    Через FluentAPI.
    В классе DbContext в методе OnModelCreating.
    modelBuilder.Entity<{ModelName}>().Property(e => e. SubtitleE).IsRequired();


    Или как сказали выше через аттрибут.
    Ответ написан
    Комментировать
  • За сколько реально стать Jr ASP.NET Developer?

    @oleg_ods
    Первая ссылка из google по запросу asp net core developer roadmap

    Карта довольно неплохая. По времени тебе никто не подскажет. Все зависит от твоих способностей и сколько времени ты готов этому уделять.
    Ответ написан
    Комментировать
  • Какие есть Алгоритмы генерации сетки Судоку?

    @oleg_ods
    1) Заполняете сетку для решенного судоку.
    2) Перемешиваете строки с 1 по 3. Далее тоже самое для строк 4-6/7-9.
    3) Перемешиваете столбцы с 1 по 3. Далее тоже самое для столбцов 4-6/7-9.
    4) Профит.
    Ответ написан
  • C# цикл FOR (вопрос по тестовому заданию)?

    @oleg_ods
    Если предположить что цель метода вернуть List с именами в обратном порядке, то можно развернуть цикл и метод Insert заменить на Add.

    List<string> GetNames() 
    {
       List<string> ss = new List<string>();
       for (int i = 10000000; i >= 0; i--) {
           ss.Add(GetName(i)); // GetName - это просто какая-то функция, которая возвращает нам строку
       }
       return ss;
    }


    List под капотом содержит массив.
    Принцип работы метода Insert:
    1) Проверить достаточно ли места во внутреннем массиве. См. свойство Capacity.
    2) Если недостаточно, то расширить массив в 2 раза.
    3) Сместить все последующие элементы на одну позицию вперед.
    4) Добавить в нужный индекс значение.

    Принцип работы метода Add:
    1) Проверить достаточно ли места во внутреннем массиве. См. свойство Capacity.
    2) Если недостаточно, то расширить массив в 2 раза.
    3) Вставить значение в конец массива.

    Соответственно при использовании метода Insert, в Вашем случае, будет очень много операций копирования значений.

    Второе, если на момент создания List в методе известно кол-во элементов которые он должен содержать, то можно использовать конструктор List(int capacity), который изначально создаст List нужного размера. Так Вы избавитесь от необходимости динамически расширять List при переполнении внутреннего массива.

    P.S. Для общего образования можете погонять альтернативные реализации методов через библиотеку DotNetBenchmark и сравнить на сколько вырастет производительность в каждом случае.
    Ответ написан
  • Есть ли книги в которых создаётся проект?

    @oleg_ods
    Таких книг очень много. Просто нужно понимать, что все книги по программированию можно, условно, разделить на две категории справочники и руководства по конкретным языкам/технологиям.

    В справочниках описываются все/большинство возможностей языка. Там, как правило, под каждую конкретную возможность языка пишется пример в «сферическом вакууме», для демонстрации конкретных возможностей.

    В руководствах описываются конкретные технологии и в таких книгах часто присутствует проект на примере которого показывается практическое применение.

    Например, в книгах Фримена создается веб приложение SportsStore, в книгах по нейросетям часто присутствует пример по предсказания курса валют или распознавания рукописного текста, в книгах по Arduino можно найти проекты по созданию метеостанции и тд.

    Если скажите какая область/язык Вас интересует, возможно, кто-то подскажет Вам книги с подобными примерами.
    Ответ написан
    2 комментария
  • Как сохранить записи отсортированные в бд?

    @oleg_ods
    Если нужно часто вытаскивать из БД сущности отсортированные по какому-то конкретному полю или набору полей, то возможно для повышения производительности, стоит задуматься о добавлении индекса на это поле/набор полей.
    Ответ написан
    Комментировать