Задать вопрос
  • Как сделать переход по goto в пустую строку в C#?

    Потому что label должен стоять около какого-нибудь выражения.
    Если выражения нет - это на самом деле return, а не goto
    Ответ написан
    Комментировать
  • Есть схема БД для медицинского центра. Реализованы ли здесь первые три нормальные формы?

    (я не только корректность схемы тут рассматриваю)
    Вроде всё ок, только видно некоторое дублирование данных в пациенте и сотруднике.

    Можно (не обязательно) попробовать ввести сущность "человек" (название черновое), у которого будет информация о паспорте, имени, и прочем.
    И пусть пациент/сотрудник ссылается на него.

    Можно так достаточно интересную связь сделать, когда один и тот же человек является одновременно и сотрудником и пациентом. (И например ввести запрет на выписывание лекарств самому себе)

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

    Таблица с лекартсвами выглядит как справочник, тк никаких связей с другими таблицами не имеет.

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

    Можно попытаться формализовать планы лечения - но это отдельная очень большая задача.

    К таблице с адресами ещё есть смысл добавить номер ФИАС/КЛАДР/ГАР (уже запутался в этих системах) - это распространённая практика в России.

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

    Не совсем понятно, почему к одному пользователю привязано несколько пациентов.
    Если это на случай, когда, например, в аккаунт родителя добавляется ещё и его ребёнок, то, возможно, есть смысл добавить возможность добавлять этого ребёнка в аккаунты обоих родителей.
    Но тут ещё нужно подумать над тем, как соблюсти врачебную тайну, если произойдёт ситуация, когда родители разведутся - это скорее вопрос к бизнес-процессу, а не к данным.

    Не совсем понятно, что скрывается за ролями, и почему у пользователя не может быть нескольких ролей.

    Также не понятно, почему позиция жёстко привязана к отделу.
    Кажется, есть смысл ввести отдельно таблицу для позиций (в оргструктуре) и должностей (специализации и грейды врачей)
    + Часто оргструктуры имеют древовидную форму с отделами/подотделами/филиалами
    + Часто есть деление на юридическую структуру (которая записывается во всяких юридически значимых документах) и ресурсную оргструктуры, которая описывает реальный бизнес-процесс.

    Вместо флага is_doctor в позиции следует всётаки какой-нибудь enum сделать, ибо потом захочется делить сотрудников на более чем две категории.
    Ответ написан
    7 комментариев
  • Произошла ошибка при распаковке как решить?

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

    Оба варианта применимы.
    Нужно отталкиваться от конкретной задачи, чтобы сказать, какой будет лучше.
    Иногда может даже будет эффективнее применить и то и другое одновременно.

    Массив в оперативной памяти - быстро, но с выделением большого непрерывного участка оперативной памяти могут быть проблемы.
    При этом её состояние будет сброшено после перезапуска программы.

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

    Лучше сделай резервные копии важных файлов и установи начисто.
    Ответ написан
  • Сколько времени можно питать ноутбук от инвертора из гнезда прикуривателя автомобиля без риска потом не завести двигатель?

    Я бы лучше для ноутбука взял отдельный аккумулятор - такие благо существуют.
    Безопасно работать целый час на зарядке с заглушённым двигателем не получится - аккумулятор может просесть так, что даже не получится завести двигатель.
    10 минут работы двигателя, чтобы дозарядить аккумулятор не хватит.

    И вот почему

    Смотрим ёмкость аккумулятора - она порядка 40-60 ампер-часов. Домножаем на 12в и получаем ёмкость порядка 500 вт*ч
    С учётом всяких потерь на преобразования, на несколько часов хватить таки должно.

    На счёт 10 минут работы от двигателя - фиг его знает:

    В зависимости от степени разрядки АКБ, ее зарядка, до приемлемого состояния, может длится от 15 минут до часа. В зависимости от режима работы генератора. Процесс четко виден по амперметру. Как только ток 2-4А, батарея заряжена.


    +
    Напряжение на клеммах аккумулятора должно составлять не меньше 12,6 В. Это пороговое значение, при котором двигатель запустится..


    + смотрим зависимость напряжения от степени разряда и понимаем, что садить более чем до 90% не следует:
    aeea5581943495cb5e6f1d1d999cf499.jpeg

    Получается, мы имеем порядка 50 вт*ч, которые можно безопасно потратить - после этого сразу придётся заводить двигатель. домножаем их на условные 80% потерь и получаем, что даже на час интенсивной работы ноутбука не хватит.

    + пусковое напряжение может зависеть от конкретной модели машины.
    + это дополнительный износ аккумулятора
    + начальное напряжение полностью заряженного аккумулятора может быть немного выше
    Ответ написан
  • Какую cms использовать для телеграм бота?

    Придётся писать свою
    Ответ написан
    Комментировать
  • Как установить dependencies нод-модулей?

    Чтобы ответ стал более полезным - приложи сообщение об ошибке, package.json, и какой командой собираешь.

    Вообще npm install должен автоматически подгрузить ВСЕ зависимости, включая зависимости зависимостей (транзитивные зависимости).
    Иногда правда придётся явно указать зависимость, но об этом должно говориться в ошибке (обычно пишется, что не хватает какой-нибудь peer dependency)

    node_modules становится
    черной дырой

    От этого никак не уйти)
    Ответ написан
    4 комментария
  • Где заявить о себе и об идее, чтобы найти партнёра?

    Считаю, что эта идея при реализации сделает жизнь многих людей чуть лучше.

    Для получения инвестиций надо ориентироваться не на "сделает жизнь многих людей лучше", а "Есть много людей, которые были бы готовы платить за него"

    Пройдись по всяким акселераторам / инкубаторам, проработай свою идею, сделай презентацию.
    https://vc.ru/flood/60006-kuda-startapu-poyti-za-n...

    Сразу ориентируйся на то, что тебе придётся порядка миллиона вложить из своих денег, если не получишь грант
    Ответ написан
    Комментировать
  • Как правильно записать Guid в юнит тесте?

    Какой тип у ProductId? Если это Guid, то смотри какие у него конструкторы есть.
    Проще всего через Guid.Parse.

    PS:
    А DbContext мокать не нужно. Используй вместо этого EF Core inmemory, либо Sqlite с размещением в оперативной памяти.

    Будет что-то типа:
    var conn = new SqliteConnection("DataSource=:memory:");
    var options = new DbContextOptionsBuilder<ApplicationContext>()
       .UseSqlite(conn)
       .Options;
    
    using var dbContext = new ApplicationContext(options);
    dbContext.Products.Add(new Product { /*...*/});
    dbContext.SaveChanges();
    
    var controller = new CartController(dbContext);
    // ...


    PPS:
    Если ты хочешь тестировать контроллеры - значит ты что-то делаешь не так. Возможны два варианта:

    1. Ты наговнокодил и затолкал бизнес-логику в контроллеры.
    Если так, то выноси логику в сервисы и делай так, чтобы контроллер зависел от сервисов.

    2. Тебе на самом деле нужны интеграционные / api-тесты / e2e-тесты. В таком случае тебе нужно не контроллер конструировать, а поднимать сервер и тестировать при помощи http-запросов. В таком случае следует ещё и по пути полноценную СУБД поднимать, а не мок.
    Ответ написан
    6 комментариев
  • Как установить SDK 24 в Unity?

    Попробуй установить отдельно через android studio
    Ответ написан
    Комментировать
  • Должен ли я ограничивать длину пароля?

    Не следует, ибо ограничение на длину пароля - это дополнительная информация, которую ты на ровном месте даришь злоумышленнику.
    Лимит на размер запроса можно реализовать на стороне веб-сервера и просто откидывать запросы, где Content-Length слишком большой.
    Ответ написан
    Комментировать
  • Ввёл команду "export"в Qute терминале, что она значит?

    Если рассуждать логически, то оно перечислило тебе все твои переменные среды :)
    Можно вывести их значения например вот так: echo $PATH
    А вот вызывать команды, назначение которых ты не знаешь, даже не попытавшись найти назначение - чревато.

    А узнать, что это конкретно эта команда делает можно при помощи команды help export
    Ответ написан
  • Актуальна ли на данный момент Desktop разработка на C# WPF?

    Dmitry Roo вас немного пугает.
    1. Десктоп всё ещё присутствует во всяком корпоративном сегменте - при разработке приложений конкретно для этого бизнеса.
    2. Десктоп всё ещё существует там, где нет надёжного сообщения с сервером. (например как-то имел "удовольствие" увидеть/поразрабатывать софт для судовых механиков, где бы отслеживались разные процедуры/инспекции/отчёты над корабельным оборудованием, а при появлении стабильного соединения - эти отчёты бы отправлялись на сушу.
    3. Десктоп всё ещё существует там, где тебе обращаться к серверу и не нужно. (пример - уже упомянутые профессиональные инструменты для разработчиков, типа dotMemory или dotTrace)

    А если говорить конкретно про WPF - мне кажется, что сейчас понемногу с него уходят либо на другие языки (Flutter тот же) либо переходят на кроссплатформенную Avalonia.
    Ответ написан
    1 комментарий
  • Что делаю не правильно с SSH?

    Тот SSHClient, который ты инициализируешь в InitSSH - это локальная переменная.
    Тебе следует обращаться к this.SSHclient => нужно ещё создать поле в классе с таким именем и типом.
    Ответ написан
  • Почему этот простой JS код в React-е не работает?

    ChatGPT-программисты... (с) Mikhail Osher

    Тебе нужно обрабатывать клик и отслеживать состояние внутри компонента:
    import React, { Component } from 'react';
    import styles from './Header.module.scss'
    
    const Header = () => {
      const [active, setActive] = useState(false);
      const onAccordionClicked = () => setActive(!active);
    
      return (
                <header className={styles}>
                    <div>
                        Hounter
                    </div>
                    <nav>
                        <ul>
                            <li style={{width: '96px'}}>About Us</li>
                            <li style={{width: '78px'}}>Article</li>
                            <li id='li_btn' style={{width: '122px'}}
                                 className={styles.accordion + active ? styles.active : ""}
                                 onClick={onAccordionClicked}>
                                Property 
                                <a className={styles.panel} href='#'>House</a>
                                <a className={styles.panel} href='#'>Villa</a>
                                <a className={styles.panel} href='#'>Appartment</a>
                            </li>
                        </ul>
                        <button className={styles.btn}>Sign Up!</button>
                    </nav>
                </header>
            );
    };
    
    export default Header;
    Ответ написан
    Комментировать
  • Где найти нормальный ноутбук в связке AMD (проц + дискретка)?

    Xiaomi RedmiBook Pro 15 или Lenovo Yoga 7 Gen 7 14"
    Такие варианты мне показал яндекс маркет.
    Ответ написан