• Почему связи в таблице работают неправильно?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Господи, изучите сначала теорию о работе с базами данных, перед тем как задавать такие вопросы, потому что это просто смешно уже...

    Во первых, если вам нужно установить связь между этим
    public List<CodeSnippet> LikedCodeSnippets { get; set; } = new List<CodeSnippet>();


    И этим
    public List<User> UsersWhoLiked { get; set; } = new List<User>();


    Вам нужна дополнительная таблица. Почему? Потому что тут связь много-ко-многим. Вот она:
    public sealed class UserCodes
    {
        public int UserId { get; set; }
        public User User { get; set; }
    
        public int CodeId { get; set; }
        public CodeSnippet Code { get; set; }
    }


    Через эту таблицу далее конфигурируете связь много-ко-многим

    Что значит эта запись?
    public User User { get; set; } = null!;

    В чём смысл говорить, что она null и ставить ! как обозначение того, что она not null?
    Ответ написан
    2 комментария
  • Какие проекты для обучение взять для WPF?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    1.
    Реализация Coingeko API с монетами и их ценой. Вам нужно реализовать аналог торговой биржы криптовалютой с аккаунтами и кошельком, а так же возможность локально (В рамках одного приложения) продавать и покупать валюту, пополять счёт или выводить деньги через сервисы посредники с процентом

    2.
    Как уже сказал Сергей Соловьев , вариант со складом достаточно хороший но так же и сложный. Вариант: готовый продукт для управления складом. Возможность создавать учётные записи пользователей, которые привязаны к неким местам работы (офис, склад, магазин и т.д.). Нужно вести учёт поставок товаров и их отход. Данные нужно реализовать при помощи таблиц с возможностью добавление новых колонок (Dynamic data). К каждой таблице привязать возможность взаимодействовать с глобальным учётом товаров (поставок). Возможность генерации отчётов ( .pdf, .xlsx, .doc, .docx, .html) и парсинга отчётов (поставка товара, месячный либо годовой отчёт)

    3.
    Диспетчер задач:
    - Текущие процессы
    - Фоновые процессы
    - Сетевая нагрузка
    - Нагрузка процессора
    - Нагрузка ОЗУ

    - Возможность убить процесс
    - Возможность создать процесс (Открыть указанную программу)
    - Наблюдение за процессом (Показатель нагрузки относительно времени)
    Ответ написан
    Комментировать
  • Какая отрасль программирования занимается анализом видео и картинок машин с дорог(штрафы ставит)?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Любая. Вот вы работаете в компании, занимаетесь разработкой ИИ для анализа фото. Вот приходит заказ на проект. Суть проекта в том, что другая компания сделала софт, который делает снимок машины, которая едет и сохраняет их. Вам теперь нужно сделать софт, который анализирует картинки. Всё. Если вы там какой-то синьйор и можете это сделать, вас посадят на этот проект.

    Повторюсь, для этого нет направления, есть просто навыки
    Ответ написан
  • MS SQL, почему медленно выполняется запрос когда передаю много параметров?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Вероятнее всего проблема может быть связанна с данными, которые передаются. Если вы передаёте сам запрос на выполнение в БД, вам нужен другой вариант. Если вы утверждаете, что запрос в БД выполняется 2 секунды, а через C# 27, выход - используйте stored procedure
    Ответ написан
  • От чего появляется 405 http code?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Если у вас экшен (endpoint) на сервере помечен как HttpGet, а вы отправляете HttpPost запрос. Наоборот так же работает, если отправляете HttpGet запрос на эндпоин, который принимает HttpPost запросы.

    Либо если вы пытаетесь отправить запрос куда-то, где нет принимающего экшена. В вашем случае, после билда формы, у вас не указал экшен. Значит запрос отправляется на стандартынй роут контроллера, на котором у вас нет экщена.

    Второй момент, не используйте для отправки формы, это уже застарелая штука и не очень эффективная. Лучше используйте отправку через Java Script или Ajax

    Ещё UPD. Вы указываете роут для вашего эндпоинты. Если вы используете asp.net core MVC, лучше его убрать, т.к. он вам не нужен для отправки через форму. Скорее всего именно эта штука и сбивает отправку
    Ответ написан
    Комментировать
  • Как удалить элемент из массива в local storage по его индексу?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    localStorage.removeItem('productInfo')
    Ответ написан
  • В каких случаях создавать новые контроллеры?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Если вы работаете с Entity Framework, возьмите себе правило "Одна Entity - Один Controller". Потом сюда можете добавлять контроллеры для логических единиц в виде следующих:
    • Авторизация. Для подобных действий в системе всегда должен использоваться отдельный контроллер. Регистрация, вход в систему, выход из системы, проверка существования пользователя, получить текущего авторизированного пользователя и т.д.
    • Файлы. Загрузить, удалить, получить, конвертировать и т.д.
    • Статистика. Обновить статистику, получить и т.д.
    • Другие действия, действия с которыми не полностью покрывают взаимодействие с самой Entiy, а только лишь с некими данными, но таких действий может быть очень много (Для примера AuthenticationController)
    Ответ написан
    Комментировать
  • Можно ли с нуля обучится программированию, используя только интернет и не тратив деньги?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Вообще да, потому что самообучение это основа всего. Курсы и другие инфоцыгане должны давать вам ответы на вопросы. Вопросы должны возникать в ходе обучения. Если вы не обучаетесь, то никаких вопросов у вас быть не может. Курсы это на тот случай, когда вы не смогли полноценно обучиться некоторым деталям либо вам нужны комплексные знания либо их закрепление.

    Но курсы никогда не дадут вам того результата, который они обещают. Хотят тут могу немного солгать, потому что есть курсы, которые обещают трудоустройство, и это важно! Есть разница между курсами, которые обещают что: "После наших курсов вы сможете смело написать в своём резюме, что вы претендент за з\п 100500 долларов в час!". Хоть сейчас пишите, толку не будет, только деньги выкинете впустую.

    Другой момент, когда вам нужно комплексно и быстро обучиться чему-то и иметь базу. Да, для этого есть интенсив курсы либо онлайн курсы/уроки. Да, они есть и бесплатные (Онлайн), вопрос в технологии и за сколько продают знания, опыт работы с ней.

    Но получить полноценные опыт, который вы сможете применять и сказать, что вы там очень круто - это невозможно. Почему? Тут даже курсы не помогут. Вам нужен наставник, либо какой-то друг/коллега/знакомый, который сможет дать вам задачу и показать направление движения, куда вам нужно двигаться и что учиться, правильный ли вы сделали задачу или нет, над чем стоит поработать. Это всё берётся не с потолка и не приходит само собою, это обобщённые практики на базе опыта, которые вы не сможете получить просто так. Да, и курсы вам тут не помогут. Они дадут вам общие знания для начала вашего пути, но никак не то что нужно для работы.

    UPD: И как говорилось в других ответах, всё зависит от вас. Программирование это та сфера где вам нужно учиться самому всегда и всего. Если вы этого не умеете и сможете так делать, значит это не для вас. Курсы это всего лишь приманка на деньги для тех, кому программирование не под силу, только поймут они это после того, как потратят целое состояние на обучение на курсах.
    Ответ написан
    1 комментарий
  • Как подружить MVC с реляционной базой данных?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Как подружить MVC с реляционной базой данных?

    Та нормально они дружат через Entity Framework, Dapper либо другие ORM.

    Форма не может передать методу POST сложные типы

    А при чём тут ваш вопрос "Как подружить MVC с реляционной базой данных?", если вы не можете передать с клиента на сервер?

    ModelState требует, чтоб были заполнены и CountryId, и Country одновременно.

    Используйте модели. Просто создайте другой класс (Модель), который будете использовать для get/post запросов (По отдельности, одна модель - один запрос) и вынесите туда всё, что вам нужно. Обычно вам хватит только Id того объект с каким будете работать + поля, которые нужны для создания/обновления/добавления и т.д. Для удаления вам хватит просто Id, для обновления нужны только поля, которые нужно обновить и Id того объекта, который нужно обновлять. И будет вам работа с примитивами )

    Для валидации вообще рекомендую накатить какую-то библиотеку по типу Fluent Validation Api либо Regex (Приоритетно)
    Ответ написан
    Комментировать
  • Почему эта переменная возвращает System.string[] вместо пути?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Ну во-первых, потому что так в документации написано.

    Во-вторых, само название метода GetFiles ничего вам не говорит? Данный метод возвращает список файлов в указанной директории.

    В целевой папке всего один файл

    И что? Значит метод вернёт вам массив с одним элементом. Если вы хотите получить конкретный файл, значит вам нужно что-то на подобии File.Open и т.д.

    значение переменной jar = System.string[]

    Тут по очереди. У вас System.string[] вылез, скорее всего из какого-то Console.WriteLine. Почему? Потому что тип вашего jar и массив типа string. Когда вы пытаете вывести какой-то тип в Console.WriteLine, который не предусмотрен в перегрузках, он будет вам выводить GetType().FullName, т.е. название типа, которое вам и выводится.

    Вообще, очень дурна привычка использовать var, просто не делайте так, а то вы плутаете сами себя и вы не понимаете, что вам должен возвращать метод
    Ответ написан
    8 комментариев
  • NullReferenceException: Object reference not set to an instance of an object?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    В вашем случае, вероятно, компонент TextMeshProUGUI не был найден на объекте, к которому прикреплен скрипт. Исходя из скриншота, вам нужно на объект прикрепить именно TextMeshProUGUI

    662f5c18aea73994361626.png
    Ответ написан
    Комментировать
  • Как создать Сайт на 3-х языках?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Я не знаю, на чём вы пишете, но ответ на ваш вопрос это - локализация. Просто добавьте на свой сайт локализацию. Это отдельная тема при разработке сайтов, обычно реализуется через Key-Value Pair в словарях с переводами. Далее просто найдите как это реализовать на вашем языке программирования (Фреймворке)
    Ответ написан
    Комментировать
  • Как задать img источник из svg inline?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Вы можете вывести изображение в формате svg прямо а html разметку и работать с ним± как с img. Попробуйте открыть svg в любом редакторе текста/кода и перекопировать его содержимое в свой html. Так же рекоменду почитать про svg хотя бы в этой статье
    Ответ написан
  • Как найти работу после курсов по фронтенду?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Как я уже писал в ответе на этот вопрос, с работой в IT сейчас ооочень туго. Перечислю первичные проблемы, которые к этому привели:
    • Быстрый рост количество программистов (И других профессий в IT)
    • Большое количество начинающих ITшников
    • Почти еженедельные прогрессы в технологиях
    • Нереально быстро развивающиеся нейросети
    • Мировой кризис вызванный войной


    Обо всём по порядку

    дело во мне лично, или в моем уровне.

    Просто ДА. Тут играет роль несколько факторов. У вас начинающий стек, который программист с кое-каким опытом осваивает за неделю. Стоит ли это того, что бы нанять программиста-новичка (Верстальщика-новчика) за тех самых 300 долларов (Хотя бы), или просто доплатить их человеку, который уже работает на фирме/компании? Тут ответ очевиден.

    Из этого вытекает два момента. Первое - нереальный рост программистов в сфере IT. Все, кто не связан с IT думаю, что это легко. Если у вас не получилось в другой области, у вас есть два варианта: Идти в IT или открыть свой бизнес. Это логика 90% людей стран СНГ. Если взять для примера студента, который реально знает и хочет чего-то достичь и старается, просто по резюме его выбрать среди 500 откликнувшихся нереально.

    Из этого выходит то, что постоянно повышается минимальная планка для получения работы. Если так смотреть, если вы хотите получить работу после курсов, вам нужно идти на курсы и уже что-то знать, а лучше - много знать. Да, вы правильно думаете, для того, что бы учиться, нужно уже много знать.

    Ещё несколько моментов, почему нет фитбека? Тут опять же есть несколько вариантов. По первых, до этого все (Более 90%) заказы были фактически на фриланс/аутсорсинг, то т.к. сейчас много западных компаний отказывается от работы с программистами со стран СНГ (На это есть ряд причин), идёт ожесточенная борьба за заказы между компаниями. Т.к. нет инвестиций из-за границы (Желательно в валюте) зарплаты начинают падать, хотя и не во всех. Те что остались, их достаточно мало по сравнению с тем уровнем, что был ранее.

    Почему большие компании не желают нанимать программистов-новичков? Во-первых, сейчас очень стремительно развиваются нейросети и владельцам компании на много проце заплатить, условно, 100 долларов за нейронку и дасть её в руки опытному программисту, чем ради этого нанимать 10 разработчиков. То, что вы сейчас научились верстать, нейросети делают в 10 раз лучше и в 1 000 000 раз быстрее, на самых новых front-end фреймворках.

    Т.к. рабочих мест нету, .вы просто никому не нужны, потому что html/css/js это стек, которым владеет 90% программистов в IT. Ваша задача составить конкуренцию, а не выучить что-то что относится к IT. Посмотрите вакансии, посмотрите сколько желающих на это рабочее место. Вы сможете сказать, что вы лучше 95% из них? А нужно, что бы так и было.

    В дополнение к этому, повторюсь, рекомендую прочитать этот ответ
    Ответ написан
  • Как из файла txt записать в Dictionary?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Не используйте File.ReadAllLines и подобные, это ошибка и вы не умеете правильно с ним работать, что бы его так использовать. Исправленный код:

    string fileTagsPath = $@"{AppDomain.CurrentDomain.BaseDirectory}tags\{имя файла}.txt";
    using (StreamReader reader = new StreamReader(fileTagsPath))
    {
        while (!reader.EndOfStream)
        {
            string line = reader.ReadLine();
            string[] lineParts = line.Split(", ");
            replacements.Add(lineParts[0], lineParts[1]);
        }
    }
    Ответ написан
    5 комментариев
  • Как понять что я выучил основы C#?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Вообще вы можете язык очень много лет учить. Что вы знаете о языке C#? Можете написать несколько классов, прокинуть соединение к БД, написать несколько linq запросов? А что на счёт делегатов, событий? Рефлексия учится долго. Потоки, и тут имеется ввиду не просто банальный async/await, а прям взаимодействие с памятью и системными потоками. Знаете? Нет? Учить будете? Само собой, что будете, а стоит ли оно того?

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

    А знаете где она используется? Для примера это Dependency Injection контейнер в asp.net.

    А где используются событие? Для примера это handler'ы в таких фреймворках как Windows Forms и WPF.

    Вы не можете сказать, выучили вы это или нет, пока вы не сможете нормально управляться технологией или фреймворком, где эта тема используется повсеместно
    Ответ написан
    Комментировать
  • Как сделать такую верстку на гридах?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Скорее всего, если смотреть на блоках, тут два блока "верхнего уровня". Первый блок (ZOOM 4, Стоматологическая установка) размещены в ряд, тут проблем нет. Второй блок (E&Q MASTER, Микроскоп, 3D томограф, Пьезотом) может разделяться на две колонки. Соответственно, там придётся делать "замеры" не по ширине, а по высоте
    Ответ написан
  • Как решить проблему подключения БД к WPF проекту?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Да, может, т.к. MacOS не поддерживает работу с MSSQL Server в принципе. Для того, что бы получить доступ через виртуалку, нужно изрядно поизвращаться, так что используйте PostgreSql, либо Sqlite, который уже идёт "из коробки" на маках.

    Тут вопрос второй, как вы хотите запустить БД на виртуалке и достучаться к ней из вашего MacOS? Оно не так просто всё делается, что вы просто запустили и оно всё обнаружило. Виртуальная машина это вообще, считайте, отдельный ПК где-то там далеко от вас. Что бы с ним работать, нужно вообще по сети раскидывать соединение (Я так когда-то делал, не знаю, может кто-то скажет, что есть другие варианты) и стучаться по портам как на удалённый БД сервер. Понятно, что оно у вас не видит
    Ответ написан
  • Как изменить объект с вложенными свойствами?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Прочитал комментарии, могу предложить такой вариант:

    function increaseValues(obj) {
        // Увеличиваем значение value и присваиваем ему activeValue + 1
        if (obj.hasOwnProperty('value')) {
            obj.value = obj.user.activeValue + 1;
        }
        // Рекурсивно вызываем функцию для всех вложенных объектов
        for (let key in obj) {
            if (typeof obj[key] === 'object') {
                increaseValues(obj[key]);
            }
        }
    }
    
    const obj = {
        user: {
            activeValue: 2,
            accountList: {
                112211: {
                    value: 1,
                },
                112212: {
                    value: 2,
                },
            },
        },
    };
    
    increaseValues(obj);
    console.log(obj);
    Ответ написан
    2 комментария
  • Как создать многопоточную программу обращающиеся к API?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    обращаться многопоточно к API


    Многопоточно? Как, блин, потоки с IP связанны? Ну закиньте что-то типа такого:

    while(true)
    {
        requestTo('https://domail.com') // Async operation without await
    }


    UPD:

    Если стоит ограничение, тогда лучше так:

    while(true)
    {
    speep(100); // API waiting
    await requestTo('https://domail.com');
    }
    Ответ написан
    2 комментария