• Почему факториал уходит в нуль?

    impwx
    @impwx
    Разработчик
    Вы можете определить это самостоятельно с помощью пошаговой отладки:
    1. Ставите breakpoint на первой строке в функции
    2. Запускаете приложение в режиме отладчика
    3. Выполняете по одной инструкции (step to next instruction)
    4. Смотрите значения всех промежуточных переменных в каждый момент времени

    Так можно найти момент, в который значение становится неверным, и определить причины, которые к этому привели.
    Ответ написан
    Комментировать
  • А чем компенсировать обратную ЭДС?

    a_volkov1987
    @a_volkov1987
    Инженер-схемотехник
    У вас там два реле и замок? Зачем два реле? Почему не 3 или 4?
    Выход ардуйни выводите на оптроазвязку. Опторазвязка включает сразу мощное реле, которое коммутирует ваш электромагнит.

    125bc1f4a52a4177b3f7a79e31d40e36.png
    Ответ написан
    7 комментариев
  • Почему не включается компьютер с воткнутой веб-камерой?

    Контакты у usb камеры замыкаются.
    Ответ написан
    Комментировать
  • Как сделать систему безопасности виртуальных машин?

    ifaustrue
    @ifaustrue
    Пишу интересное в теллеграмм канале @cooladmin
    Краткий ликбез в то как работает виртуализация, чтобы чуть чуть продвинуть вас в вопросе про решение.
    Начнём с простого, как работает x86 система?
    Очень укрупнённо и упрощённо, она работает тактами. Каждый такт, процессор выполняет какие либо действия, что-то считает, что-то читает, что-то записывает.
    Каждый такт, на процессор поступает набор инструкций и они выполняются.
    В каждом такте у нас есть кусочек памяти, с которой мы можем работать - регистры. Какие-то мы можем читать и записывать, какие-то можем только читать, какие-то показывают нам текущее состояние. Регистров много и они разные.
    У нас есть таблица прерываний - она показывает нам состояние системы, состояние оборудования и устройств ввода и вывода.
    И много всего ещё. Всё это называет Контекст исполнения.
    Помимо прочего, у процессора (опять же если упростить) есть система безопастности основанная на уровнях привилегий процесса. Для Windows (и многих других систем), например, это два уровня: ядро (нулевой уровень, уровень ядра) и пользовательский (User-mode). Процесс (а в данном приближении - инструкции) запущенные на разных уровнях имеют различные привилегии, различный доступ к регистрам и прочим ресурсам и имеют различный Контекст исполнения

    Как работает ОС в штатном режиме?
    Операционная система запускает приложения, передаёт им управление на определённое время, делит процессор между приложениями согласно их приоритетам, их потребностям, наличию фокуса на окне, прерыванием от оборудования или драйверов, забирает процессор, если есть процесс важнее или если есть ожидание чего-либо (чтение, запись диска, сеть и тыды).
    Сама ОС и её драйвера, процессы, службы и прочее - работают в определённом Контексте исполнения, он частично меняется для каждого приложения, но не значительно.
    ОС (её ядро), часть процессов и часть драйверов - работают на нулевом уровне, с максимальными привилегиями, могут писать\читать куски памяти, писать в любое место, могут читать большинство регистров и так далее.

    С точки зрения ОС, что такое виртуальная машина?
    Ничего. Ну то есть прям вот так, для ОС нет никакого процесса или представления, для ОС (хостовой ОС) виртуальной машины не существует.

    А что есть? Ало?
    Есть процесс - гипервизард (если чуть точнее - мониторинг виртуальной машины - VMM). В его задачи входит следить за контекстом исполнения, за прерываниями, забирать управление у гостевой или хостовой ОС. Менять контекст исполнения и возвращать всё назад.

    И как это работает?
    Такт первый, в комнате двое ОС и VMM.
    ОС, вздыхая, присаживаясь на кушетку:
    - Кажется я немного устала и дел на сегодня больше нет
    VMM:
    - Тогда пожалуй мне пора.
    Выходит из комнаты с чайником
    Такт второй, улица, фонарь, двое в тени.
    VMM:
    - Псс, слышь, процессор интересует?
    Некто:
    - О! И маска процессора мне нравится и вообще круто, только регистры что-то не вижу, где, позвольте VT-D?
    VMM:
    - Чё сказал? Брать будешь нет?
    Некто:
    - Да ладно, ладно, я ж только спросил, буду конечно, быть виртуалкой меня ещё поучи
    Так третий. Заключительный
    В комнате накуренно, разбросаны бутылки, пахнет жжёными тряпками. Где-то смеются.
    Мужчина в трусах и с пультом от PS4 уставился в монитор. Дверь срывается с петель и падает на пол.
    VMM врываясь:
    - Всем выйти из сумрака! Это ночной дозор!

    *переводя на компьютерные термины.
    Для ОС VMM это процесс. ОС передаёт ему управление, как обычному процессу. Тот, меняет контекст исполнения (меняет все все регистры. Или почти все все регистры) и передаёт управление гостевой ОС, та выполняет какую-то свою работу (заведомо зная что она виртуализирована). Дальше гипервизард ставит гостевую ОС на паузу и возвращает всё назад. ПОсле этого хостовая ОС получает свой контекст исполнения и делает свою работу.
    И так такт за тактом.
    Поступило прерывание? Проверили кому оно, сменили контекст исполнения, доставили прерывание, почистили таблицы, вернули назад.
    **на самом деле всё чуть сложнее. И с прерываниями, и с уровнями доступа, и с регистрами, и с оборудованием, и тыды, но это выходит за пределы вопроса (и мне лень).
    ***речь идёт про аппаратную виртуализацию.

    Возвращаясь к вашему вопросу. Как вы хотите из хостовой системы увидеть, что творится в ОС гостя без "особого вмешательства"?

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

    MaxDukov
    @MaxDukov
    впишусь в проект как SRE/DevOps.
    бесплатный совет:
    прочтите 152-ФЗ, 1119 постановление правительства, 21 приказ ФСТЭК. Если к ИСПДн предполагается предоставлять доступ извне - то по-хорошему стоит посмотреть на 378 приказ ФСБ. Первое, что придется сделать - написать или найти готовые политику, всякие регламенты и т.д. Далее список ПДн и ( а может и до того) - регистрация в РКН. Классификация ИСПДн.
    "Сертификация ЦОД в ФСТЭК" - звучит грозно. Для защиты ИСПДн у себя надо выполнить указанные выше приказы. Железо можно использовать любое - но средства защиты дешевле для нервов использовать атестованные. Атестация шлюза - в зависимости от того, как какое средство защиты Вы планируете его представлять.
    Ответ написан
    Комментировать
  • Флешка работающая на 2 компа одновременно?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Да, можно. Это называется NAS - сетевое хранилище. Работает по сети, позволяет расшаривать любые носители информации. Флешку можно подключить к одному ПК и рашарить по сети и подключить как сетевой ресурс на другом ПК.
    Ответ написан
    Комментировать
  • Откуда можно выпаять SRAM память?

    15432
    @15432
    Системный программист ^_^
    SRAM используется там, где есть CPU, нужно хорошее быстродействие, компактность и простота (+ не нужно сильно много памяти).

    Можно поискать в старых игровых приставках / компьютерах (GameBoy, NES)
    Ещё можно глянуть в продвинутых музыкальных центрах, проигрывателях, принтерах... В общем, в относительно сложных старых устройствах. В современных уже скорей всего DRAM стоять будет.
    Искать многоногие микросхемы типа таких.
    IMG_2003_2.jpg
    Ответ написан
    Комментировать
  • Верно ли что если в RSA поменять местами ключи, то это уже реализация ЭЦП?

    Ocelot
    @Ocelot
    Отличие в том, у кого есть доступ к тому и другому ключам, и кто, соответственно, может выполнить шифрование/расшифровку.
    1) Передача сообщения: зашифровать может кто угодно (открытым ключом), расшифровать - только один (закрытым ключом).
    2) ЭЦП: зашифровать (подписать) может только один, расшифровать (проверить подпись) - кто угодно.
    Ответ написан
    Комментировать
  • Что такое дзен программирование?

    @aresouji
    Конкретных примеров нет, но:

    1) Код должен быть понятен программисту
    2) Код должен быть закоментирован
    3) Код должен быть покрыт тестами (стремится к тотальному покрытию тестами всего кода)
    4) Код должен отвечать стандартам оформления кода
    5) Код должен следовать соответствующим принципам проектирования, самые известные из которых KISS, DRY, SOLID.

    Важно понимать, что термин true code весьма прозрачен, в нем нет конкретики и он не является каким-то стандартом. Решений может быть миллион и каждое из миллиона может быть хорошим.
    Ответ написан
    3 комментария
  • Будет ли работать javafx2 в windows xp?

    @mitekgrishkin
    javafx нет дела до ОС. Ей главное JVM. Если java 8 поставится, должно работать.
    Ответ написан
    Комментировать
  • Как разбирается простой русский паяльник?

    @vilgeforce
    Раздолбай и программист
    Отправьте его в страну вечной пайки уже и купите нормальный с терморегулятором.
    Ответ написан
    3 комментария
  • Как В HashMap добавить знчаение HashMap?

    zagayevskiy
    @zagayevskiy Куратор тега Java
    Android developer at Yandex
    Во-первых, что это? Дженерики использовать вам запретили, бьют по рукам?
    HashMap<String, HashMap<String, String>> accommodationMapOur = new HashMap<>();

    Давайте разберемся, что мы тут имеем. Имеем Map, в которой ключ - строка, значение - другая Map. Ок.

    HashMap<String, String> accommodationMapOurTwo = new HashMap<>(); //пустая Map
    accommodationMapOur.put("1", accommodationMapOurTwo); //Ok, запихали в первую мапу вторую.
    accommodationMapOur.put("2", accommodationMapOurTwo); //Ok, сделали это ещё раз, не забываем, что в джаве всё - ссылка.

    То есть добавлять надо каждый раз новую Map, не так ли?
    for (int i = 0; i < 100500; ++i) {
        HashMap<String, String> newMap = new HashMap<>();
        newMap.put(String.valueOf(i + 10), String.valueOf(i + 20));
        accommodationMapOur.put(String.valueOf(i), newMap);
    }


    Например, так.
    Ответ написан
    3 комментария
  • В какой сфере веба сейчас не стыдно применять java-апплеты?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Java-апплеты - тупиковый путь эволюции. Поэтому на них все ругаются, считают яву тормозной и глючной. Применять их практически перестали по десятку причин. Банки их используют только как наследие прошлого, от которого иногда очень трудно уйти, тоже по десятку разных причин.
    Сама же ява развивается, цветет и пахнет. Работает и на серверах в качестве вебприложений, распределенных вычислений, кучи всего, что можно делать на серверах. Также ява активно используется в качестве GUI, как программы для доступа к данных, или просто как клиентские приложения с графикой.
    Ответ написан
    Комментировать
  • В какой сфере веба сейчас не стыдно применять java-апплеты?

    gadfi
    @gadfi
    https://gamega.org
    представьте себе сайт для изучения java
    хороший сайт...
    с примерами ....
    вот пример аплета на таком сайте был бы уместен

    все.
    Ответ написан
    2 комментария
  • Нужно ли удалять ненужные экземпляры классов (instances) в Java?

    Нет, это сделает за вас уборщик мусора.
    Но вы можете деликатно намекнуть ему на это присвоив
    объекту ссылку на null.
    Например:
    MyClass instanceOfMyClass = new MyClass();
     instanceOfMyClass = null;

    Но не факт , что уборщик cнизайдёт до этого.
    Ссылка на статьи: первая и вторая
    Ответ написан
    Комментировать
  • Как регуляркой порезать строку?

    And3en
    @And3en
    Software Engineer at Luxoft
    Вы получаете данные в формате JSON. используйте любой JSON reader для Вашего ЯП и будет намного проще.
    Ответ написан
    Комментировать
  • Друг в Штатах неудачно скачал торрент с фильмом. Как спасти 5к баксов?

    Sanes
    @Sanes
    Заведите на компьютере правильный вирус и ссылайтесь на него. Пользователь не является специалистом в сфере ИБ. Можно попробовать съехать на "Один раз, не ..."
    Ответ написан
    Комментировать
  • Где арендовать 10 килобайт дискового пространства для шелл скрипта?

    @SquareWheel
    DevOops
    Я бы искал кого-то, кто уже арендует мощности у подходящего вам хостера, и просился бы к нему.
    Ну или взять-таки 5 гигабайт, на будущее или "чтобы было", как вариант.
    Ответ написан
    Комментировать
  • Что именно значит ошибка?

    petermzg
    @petermzg
    Самый лучший программист
    Это значит, что состояние view вы можете обновлять только из потока в котором view создан. Как правило - основного.
    Передайте параметры в основной поток и из него обновите view
    Ответ написан
    Комментировать
  • Как идентифицировать юзера инкогнито?

    @nirvimel
    Собрание секты верующих в приватный режим браузера в этом треде. Волшебная кнопка "инкогнито" (слово то какое красивое) надевает на юзера шапку невидимку, защищает его от слежки и вообще от всего.

    Так что же такое приватный режим на самом деле?

    Privacy mode or "private browsing" or "incognito mode"[1] is a privacy feature in some web browsers to disable browsing history and the web cache. This allows a person to browse the Web without storing local data that could be retrieved at a later date. Privacy mode will also disable the storage of data in cookies and Flash cookies. This privacy protection is only on the local computing device as it is still possible to identify frequented websites by associating the IP address at the web server.

    https://en.wikipedia.org/wiki/Privacy_mode

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

    Чтобы окончательно развеять сомнения в своей уникальности, включаем приватный режим, проходим этот тест и наслаждаемся результатом (Show full results for fingerprinting -> Ctrl+F эту строку):
    Your browser fingerprint appears to be unique among the xxx,xxx,xxx tested so far.
    Ответ написан
    1 комментарий