Задать вопрос
  • Ошибка ввода, как исправить?

    @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
    Если нужно часто вытаскивать из БД сущности отсортированные по какому-то конкретному полю или набору полей, то возможно для повышения производительности, стоит задуматься о добавлении индекса на это поле/набор полей.
    Ответ написан
    Комментировать
  • Как сделать ежедневный бонус на PHP Mysql JS?

    @oleg_ods
    Можно ещё хранить в базе дату регистрации и считать кол-во полных дней, которые зарегистрирован пользователь.

    Бонусы = (кол-во полных дней) * (кол-во бонусов за день);

    Если за бонусы можно что-то получать, что было бы логично, завести таблицу потраченных бонусов.

    Соответственно формула текущих бонусов приобретает вид:

    Бонусы = (кол-во полных дней) * (кол-во бонусов за день) - (сумма потраченных бонусов);

    Это для ситуации когда бонусы начисляются вне зависимости от активности пользователя.

    P.S. Любое использование cron или аналогов будет создавать большую нагрузку на БД в момент пересчета бонусов при росте кол-ва пользователей. Хотя, если кол-во считываний бонусов превышает кол-во начислений и этот вариант имеет право на жизнь.
    Ответ написан
    Комментировать
  • Как установить разрешения на папку Users?

    @oleg_ods
    Создать для приложения файл манифеста и запускать его от имени администратора. Вот пример как это сделать тыц

    Или вот еще пару вариантов решения проблемы тык
    Ответ написан
    Комментировать
  • Как сделать проверку на две сущности?

    @oleg_ods
    Не видя самих сущностей сложно что-то советовать. Но их поля идентичны, то можно попробовать поместить их в одну таблицу и добавить булевое поле IsAlternative. Дальше запрашивать все города и сортировать их по полю IsAlternative и брать первый из них. Таким образом если есть основной город вы получите его, если основного нет получите альтернативный, если null обрабатываете ошибку.

    Если сущности по структуре различаются почитайте про ef core inheritance, возможно это то что вам нужно.
    Ответ написан
    Комментировать
  • Как переопределить встроенную валидацию в конвейер обработки запроса .net core?

    @oleg_ods
    Если хотите сделать сообщения об ошибке однотипными можно написать свой ValidationFilter. Что то вроде того как предлагают здесь.
    Ответ написан
    Комментировать
  • Есть ли библиотеки с помощью которых можно перевести строку с английского на русский?

    @oleg_ods
    Можно использовать сторонние API для перевода, например Google.

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

    @oleg_ods
    Методы Except, Union, Substruct предназначены для работы с множествами(Set).

    Множество, по определению, совокупность уникальных(!) значений.

    То есть при вызове метода Except LINQ сначала преобразует массив {5, 5, 5} в множество(удаляет все повторяющиеся элементы => {5}, а после этого вычитает из него в второй массив, который предварительно тоже преобразует в множество(пустое). Соответственно после вычитания результат остается {5}.

    Если вам нужно в итоге получать {5, 5, 5} , то нужно пользоваться вариантом предложенным выше. Если делать это нужно часто, то есть смысл написать свое расширение для LINQ.
    Ответ написан
    1 комментарий
  • Надо ли знать C# разработчику javascript?

    @oleg_ods
    Если позиция FullStack, то нужно. Если чисто бэкенд, то будет достаточно базовых знаний на уровне принципов работы, системы типов и написания примитивных фунций
    Ответ написан
    Комментировать
  • Как классу Program задать модификатор public в c# 9.0?

    @oleg_ods
    Если не менять модификатор доступа можно для тестирования использовать еще и такой подход.
    Ответ написан
    Комментировать
  • Как получить длительность выполнения всех методов или самый долго выполняющийся метод?

    @oleg_ods
    Есть библиотека DotNetBenchmark. Она как раз таки позволит замерить время выполнения методов, а так же кол-во аллокаций
    Ответ написан
    2 комментария