Задать вопрос
  • ASP.NET Core MVC как получить данные из PostgreSQL?

    Больше похоже на то, что БД пустая
    Ответ написан
    Комментировать
  • Как прочитать и отредактировать HEX значение?

    Сдвиг при чтении указывается у вас в коде на
    br.BaseStream.Position = 0x6F0; - Тут можно и в десятичной системе писать
    Диапазон при чтении -br.ReadInt32()(32 бита)
    При записи - bw.Seek(0x6F0, SeekOrigin.Begin);
    Диапазон при записи bw.Write(skill + 10); (используется перегрузка, которая принимает int - тоесть 32 бит)
    Пример для случая со скрина:
    using (var file = File.Open("Player.chr", FileMode.Open, FileAccess.ReadWrite))
    {
        int skillPoints;
        using (var br = new BinaryReader(file))
        {
            br.BaseStream.Position = 4863; //0x12FF
            skillPoints = br.ReadInt32();
        }
    
        using (var bw = new BinaryWriter(file))
        {
            bw.BaseStream.Position = 4863; //0x12FF
            bw.Write(skillPoints + 10);
        }
    }
    Ответ написан
    Комментировать
  • Можно ли в качестве типа метод а указать обобщенный тип?

    Да. Но потом разруливай сам, откуда будешь этот T доставать.
    public static T List<T>(DbContext cntx, string tableName)

    А вообще, похоже, вы хотите своё подобие ORM запилить - лучше не надо.
    Ответ написан
    Комментировать
  • Какая библиотека позволит построить построить график как на картинке?

    Как уже ответили в комментариях - chart.js, или любая другая. Всё легко гуглится
    Ответ написан
    Комментировать
  • Как скрыть токены?

    Если токен попадает к пользователю, то никак вы скрыть его не сможете (а ещё я всё ещё не могу понять, каким образом .env может работать на фронте).
    Делайте запросы к ipinfo с бэкенда, передавая в параметрах ip, с которого пришёл запрос на ваш бэкенд.
    (Как передать ip как параметр написано в документации ipinfo)
    Ответ написан
    Комментировать
  • Как правильно устранить ошибку CS1729 в Unity и VSCode?

    Убедитесь, что вы используете нужный SettingsProviderAttribute
    Попробуйте пересобрать проект полностью
    Ответ написан
    Комментировать
  • С# и разработка игр?

    Часто пишут игры на C# и перспективы используя .NET?

    Часто. Перспективы есть.

    Движки кроме Unity используются?

    Знаю, что Supergiant games используют Monogame. Результат вполне хороший.

    Получится написать простую стратегию на C#, что-то типа crossout и сколько по времени это займет?

    Ну что-то типа crossout, имея ресурсы, как у gaijin у вас выйдет за пару лет.
    Минимальный прототип, может, за пару недель получится склепать, если есть нужные навыки - на youtube есть куча видосов, где человек за несколько дней или пару недель пилит прототип какой-нибудь игры.
    Ответ написан
    Комментировать
  • Какие технологии надо изучить C# backend разработчику?

    1. SQL - обязательно (в плане понимания, как вообще реляционные БД работают)
    2. HTTP - чтобы понимать вообще, как оно работает (чтобы можно было ответить на вопрос "почему нельзя поменять код ответа после отправки заголовков")
    3. asp net (core), как самый популярный фреймворк для бэкенда в C# (достаточно базового понимания. Не нужно сильно глубоко лезть)
    4. Entity framework (Core), linq2db, dapper - чтобы вообще примерно понимать, как всякие ORM работают, но это не столь обязательно.
    5. Всякие форматы данных - json, xml
    6. Всякие способы построения апишек - soap, grpc, rest
    Ответ написан
    Комментировать
  • Как правильно разбирать задачи и примеры?

    Вообще, ваш вопрос не вопрос, а задание, но.
    1. Из-за паскале-подобного кода было сложно понять, но после рефакторинга я понял, что это вычисление n-го члена последовательности фибоначи. n-3 сделано, тк автор когда м***к и не знает ничего про чистоту и читабельность кода.
    Console.Write("n = ");
    var n = Convert.ToInt32(Console.ReadLine());
    
    var s = new [] { 1, 1, 2};
    for(var i = 0; i < n - 3; i++)
    {
        s[0] = s[1];
        s[1] = s[2];
        s[2] = s[0] + s[1];
    }
    Console.WriteLine(x2);

    Тут "- 3" из-за того, что первые три члена уже вычислены - 1, 1, 2, ...
    И так далее.
    Аналогично со второй задачей - сначала даёшь нормальные имена переменным, и переносишь их туда, где они реально нужны, потом убираешь лишние комментарии, while вот это странный заменяешь на for, и так далее.
    Вообще, понять, почему код именно такой, не зная изначальную задачу, сложно.
    Ответ написан
  • Java интерфейс для entity/dto или передача метода по ссылке?

    1. Я бы не стал делать в валидаторе сигнатуру, которая принимает список объектов.
    Как минимум из-за того, что ему не нужен весь интерфейс, который даёт List. А как максимум - это просто не красиво.
    2. Я бы не стал валидировать объекты, которые лежат в базе (считается, что раз объект попал в базу, то он уже валиден). Так что имеет смысл валидировать только DTO.
    3. Вы правы, прокидывать лямбду для геттера в метод - это плохо.
    я бы сделал билдер для валидатора, наподобие
    // Псевдо-Java
    var validator = new ValidatorBuilder<MyDto>()
                                    .rule(d -> d.catalogues, catalogues -> catalogues.stream().map(c -> c.code).distinct().count() > 1)
                                    // etc
                                    .build();
    var dto = //как-то получаем экземпляр dto
    var dtoValid = validator.validate(dto);

    PS:
    Вдохновлялся шарповым FluentValidation - можете посмотреть на его API, но я бы не стал пытаться его портировать на Java, тк там много зависимостей от чисто шарповых штук
    Ответ написан
    Комментировать
  • Почему в c# метод static, но может содержать в себе не статические поля? Объекты, экземпляры?

    1. Метод Main объявлен как static, тк только так можно сделать его точкой входа. (если бы был не статик, то пришлось бы как-то компилятору объяснить, что надо создать экземпляр некоторого класса и вызвать на нём метод, а это излишне).
    2. Метод Main всё так-же не может обращаться к не статичным полям )) Попробуй сам и убедись. (но не надо путать обращение к полям и обращение к переменной)
    Ответ написан
  • Как в Java разбить класс на три более мелкие, чтобы не потерялась цепочка наследования?

    - Перетаскиваете ту логику, которая вам нужна в класс H и G (без наследования)
    - В классе 'B' делаете поля для экземпляров H и G (прикидываете через конструктор, или там-же инициализируете.
    - 'B' наследуете от A. Опционально даёте как-нибудь потомкам доступ к H и G (через методы B или напрямую к полям)
    Ответ написан
    Комментировать
  • Для чего абстракции в ООП?

    Абстра́кция (лат. abstractio — отвлечение) — теоретическое обобщение как результат абстрагирования.

    Пример близкий к реальности:
    Есть массив чисел и очередь из сообщений.

    Нужно сделать две функции-фильтра - первый пусть вытащит из массива только чётные числа, которые больше 0, а второй вытащит из очереди только свежие сообщения с высоким приоритетом.

    Вариант без абстракций:
    пишем две независимые функции для каждого типа объектов.

    Вариант с абстракциями:
    1. Создаём абстракцию для нашей задачи: "Дана коллекция из элементов, нужно создать новую коллекцию и поместить в неё только те элементы, которые удовлетворяют некоторому данному условию".
    2. Выделяем из условия две новые абстракции: Коллекция элементов и Условие (предикат).
    3. Создаём функцию, которая будет принимать себе как аргумент коллекцию элементов и некоторый предикат
    4. Реализуем интерфейс предиката - "число чётное и больше 0" и "сообщение свежее и важное"

    Результат: Мы изобрели функцию filter
    const array = [-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
    const predicate = num => num > 0 && num % 2 === 0;
    const result = array.filter(predicate);

    Вариант с абстракциями выглядит сложнее (так и есть) и заставляет больше думать на этапе проектирования, но позволяет избежать дублирования кода и, иногда, упростить работу с кодом.

    В качестве упражнения можете попробовать реализовать такую функцию в таких условиях, в которых у вас нет функций высшего порядка, а массивы и очереди не имеют какого-то общего интерфейса, чтобы проитерировать каждый элемент.
    Подсказка: тут вам пригодится паттерн "адаптер" и "стратегия" (хорошую книгу про паттерны уже упомянул VicTHOR)
    Ответ написан
    Комментировать
  • Можно ли сделать индексаторы динамической длиный?

    Такое ощущение, что вам нужен Dictionary<int, Person>, вместо массива, тогда не нужно будет динамически расширять массив, когда это надо (и не будет создаваться лишнее пустое место, если вы захотите пропустить пару сотен элементов)
    Ответ написан
    Комментировать
  • До какого уровня нужно выучить программирование, чтобы получить хоть какую-нибудь работу?

    Учите что нравится, осматриваясь на требования заказчиков. И не зацикливайтесь на фрилансе - это далеко не самый простой и быстрый способ найти какую-нибудь работу (и не самый приятный, в большинстве случаев)

    Из моего опыта, самый быстрый способ, какой я наблюдал - за полгода можно научиться до хоть какого-то уровня в C#/Js/SQL, чтобы найти первую работу, а там уже при достаточном уровне любопытства развитие идёт гораздо быстрее (например я, по ощущениям, за первый месяц на первой работе получил примерно такой-же объём знаний, что я получил за пару лет учёбы до этого).

    Сначала имеет смысл определиться, какое направление больше всего привлекает, попробовать по-немного разные сферы, а потом учиться в ней (не страшно, если на этом этапе будут ошибки - перейти в другое направление не сложно)
    Ответ написан
    Комментировать
  • Какие перспективы у профессий разработчик бд (oracle) и веб-разработчик? Что выбрать?

    По поводу фронтенда:
    Конкуренция большая, но спрос тоже большой. Если добавить к знанию ноды и js ещё typescript, и знание какой-нибудь популярной технологии для бэкенда (Java/C#/Python/PHP), то конкуренция уже будет не особа страшна.
    Слухи о нестабильности веба сильно преувеличены.
    По поводу оракла:
    По моим личным ощущениям, сейчас очень мало (почти 0) новых компаний выбирают оракл, в качестве своей СУБД, по тому остаются всякие банки и прочие, кто уже давно использует его и не станет переезжать на условный постгрес. Платят достаточно много, но лично мне бы это удовольствия не принесло. Если вам оно нравится, то можете попробовать себя в этом направлении.
    > Может ли быть такое, что лет через 5 разработчики бд будут совсем не востребованы?
    Вообще, они и сейчас мало востребованы, тк новые продукты стараются выносить всю сложную логику из БД на сторону приложения, а накинуть индексы какие надо способен и обычный разработчик.
    Ответ написан
    1 комментарий
  • На чем писать кроссплатформенные десктопные приложения чтобы не было мучительно больно?

    > Electron. Главный недостаток - считается аццкой машиной, которая будет тормозить на любом железе.
    В том и дело, что только считается. Если нормально готовить и не возлагать на него непосильные задачи, то всё будет ок.
    > С# - давным давно имел с ним дело. Недостатки - условно кроссплатформенный, возможно, сложнее двух предыдущих.
    Вполне кроссплатформенный, но с кроссплатформенным gui имеются некоторые проблемы. Из наиболее адекватного есть Avalonia, которая похожа на WPF, но чуть удобнее.
    Ещё как вариант есть Java с её JavaFX и swing, но это на любителя.
    Больше я более-менее рабочих кроссплатформенных вариантов не знаю. Вывод делать не буду, тк опыта с кроссплатформенным десктопом у меня нет
    Ответ написан
    1 комментарий
  • Будет ли работать Видеокарта GeForce GTX 1660 Ti на частоте 144 Гц?

    1. Читаем спецификацию видеокарты, ищем строчку про версию hdmi
    - Видим, что там 2.0b
    2. Гуглим https://ultrahd.su/video/raznica-hdmi-1-4-hdmi-2-0...
    - Видим таблицу с совместимыми разрешениями и фпс
    3. Делаем вывод
    - Да сможет, вплоть до 2К (QuadHD), если монитор и кабель поддерживают hdmi 2.0
    Ответ написан
    1 комментарий
  • Как настроить канал в Slack с таким функционалом?

    Вы можете автоматически создавать каналы для каждого пользователя из user1, user2, user3. И создать ещё 1 канал, в который будут пересылаться сообщения из них. Можно пересылать и в обратную сторону, но, чтобы было красиво, нужно пересылать их с токеном пользователя (либо ставить опции в сообщения, чтобы бот мимикрировал под пользователя - ставил нужное имя и аватарку).
    Но так, чтобы какие-то сообщения были видны, а какие-то нет в рамках одного канала - так нельзя
    Ответ написан
    2 комментария
  • Почему студия не переходит к коду при возникновении исключений?

    1. Нужно запускать в дебаге
    2. Нужно поставить галку в настройках break on exceptions
    3. Чтобы отлаживать не только свой код, то ещё надо убрать галку "только мой код"
    Ответ написан
    Комментировать