Задать вопрос
  • Почему клавиатура бьет током?

    @VT100
    Embedded hardware & software.
    В порядке убывания:
    • Бьётся током при очередном взятии клавы в руки после прогулки по дому? Уменьшить количество синтетики, увеличить влажность, "разряжаться" от статического электричества на корпус ПК (если возможно), а не на клаву.
    • Стационарный ПК постоянно бьётся током? Нет заземления в розетке, в которую включен сетевой фильтр.
    • Ноутбук постоянно бьётся током? Шнур БП не 3-контактный или см. п. 2.
    Ответ написан
    Комментировать
  • Как по нажатию виртуальной кнопки зажечь лампочку?

    Программа на ПК на процессинге:
    https://www.youtube.com/watch?v=uidRiK1IjHo
    https://www.youtube.com/watch?v=IfWxl5LhJE8
    На питоне:
    https://www.youtube.com/watch?v=VGv7qOlzzgQ
    WEB сервер на ESP32 (на английском):
    https://randomnerdtutorials.com/esp32-esp8266-web-...
    То же, но с управлением яркостью:
    https://randomnerdtutorials.com/esp32-web-server-w...
    Ответ написан
    Комментировать
  • Зачем Bearer token принято так нумеровать?

    @Barmunk
    К примеру, в Laravel sanctum этот номер является id в таблице токенов.
    На основе этого, можно написать метод по поиску инстанса модели по токену.

    public static function findToken($token)
        {
            if (strpos($token, '|') === false) {
                return static::where('token', hash('sha256', $token))->first();
            }
    
            [$id, $token] = explode('|', $token, 2);
    
            if ($instance = static::find($id)) {
                return hash_equals($instance->token, hash('sha256', $token)) ? $instance : null;
            }
        }

    https://github.com/laravel/sanctum/blob/2.x/src/Pe...
    Ответ написан
    4 комментария
  • Есть ли вероятность восстановить данные после шифровальщика?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    при наличии исходного файла и одного зашифрованного файла есть возможность высчитать ключ?

    Считайте, что нет. Я боюсь спороть чушь, ибо дело было совсем давно, но мы изучали схожую задачу для WinRAR 4 и зашифрованных им файлов. Тогда, по-моему, пришли к выводу, что при наличии незашифрованного файла 128-битное шифрование становится примерно 100-битным.

    Вам стоит сделать следующее:

    Извлеките из ноутбука жёсткий диск / SSD, подключите его к другому компьютеру, на тот компьютер скачайте бесплатный R.saver, и сделайте полное сканирование вашего диска.
    В зависимости от того, как работал вирус, сколько свободного места было доступно, и как долго после атаки пользовались ноутбуком, есть шанс восстановить данные, удалённые шифровальщиком, но не перезаписанные впоследствии.
    Если у вас ССД, то оптимальным было бы отключить компьютер как можно раньше, чтобы файлы не удалил TRIM.

    Также либо отложите этот диск в сторону до лучших времён, либо сделайте его посекторную копию (несжатую), либо скопируйте куда-то все файлы. В случае SSD вариант хранить диск не подходит - ячейки памяти будут терять заряд без использования.
    Это для того, чтобы если какая-то из спецслужб возьмёт сервер злоумышленников и выложит ключи, вы могли ими воспользоваться.
    Ответ написан
    Комментировать
  • Как подключить экран фотопарата? сделать видео вход на экран от CAMEDIA C-5060?

    Zoominger
    @Zoominger
    System Integrator
    Почитайте специализацию на экранчик.
    Посмотрите, какой там коннектор используется.
    Сколхозьте свой коннектор, только учтите, что где-то будет подаваться видеосигнал, а где-то - питание.
    Напишите свой драйвер для работы этого экранчика под Windows.

    Ну или просто на Али закажите за копейки полностью аналогичный, но уже с распаянным HDMI.

    spoiler
    И да, под женскими никами писать это год эдак 2005-ый, моё почтение.
    Ответ написан
    Комментировать
  • Можно ли для придания интерактивности на вэб-страницах в место javascripta использовать java?

    @alexalexes
    Стандарт html верстки не запрещает использования какого-то другого языка программирования, кроме js.
    <script type="text/ваш-язык-программирования"></script>

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

    HemulGM
    @HemulGM Куратор тега Windows
    Delphi Developer, сис. админ
    WMi, root\cimv2, sccm_certificates

    Вот тут можешь скачать релиз для выполнения запросов к WMI
    https://github.com/RRUZ/wmi-delphi-code-creator

    Вот тут ещё инфа
    https://social.technet.microsoft.com/Forums/en-US/...
    Ответ написан
    1 комментарий
  • Arduino улучшение редактора?

    Ардуино ИДЕ не поддерживает плагины. Если нужен профессиональный редактор кода, берите профессиональный редактор и добавляйте в него поддержку ардуино. Самый популярный вариант - Visual Studio code + platfirmio.
    Еще есть Ардуино про иде, версия 0.1.4 на сегодня последняя. Особых подвижек в развитии не заметно, но вдруг когда нибудь допилят?
    Ответ написан
    1 комментарий
  • Какие есть бесплатные сайты с 3d моделями для инженерной разработки изделий?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Практически во всех кадах есть стандартные наборы метизов и примитивов.
    До кучи смотрите на форумах коммунити по программам.

    Кроме того на многих сайтах продающих комплектуху есть уже готовые модели
    как пример
    https://darxton.ru/catalog_item/minirels-mgn9-hiwi...
    Ответ написан
    Комментировать
  • Алгоритм перевода RGB-компонент в длину волны?

    @U235U235
    Нужно преобразовать значение RGB в систему XYZ, затем на диаграмме xy (цветовой локус, CIE 1931) провести луч из точки белого (для заданого источника света A, C, D65...) через заданую точку xy. Точка пересечения луча с кривой спектральных цветов даст доминирующую длину волны. Для пурпурных цветов луч проводится в противоположную сторону. Обычно для них ставится штрих у лямбды. С програмной точки зрения можно использовать сплайны. Литература: Джадд, Вышецки. 614b2c0f414c6310716842.jpeg
    Ответ написан
    Комментировать
  • Как вычислить ценовой рейтинг товара?

    wataru
    @wataru Куратор тега Математика
    Разработчик на С++, экс-олимпиадник.
    Это называется интерполяция. Вы знаете, что f(a) = 10, f(b)=5. Вам надо найти f(c), при чем f должна попадать под здравый смысл (монтонная, непрерывная функция).

    например, можно взять линейную инерполяцию, тогда f(x) = 10-(x-a)/(b-a)*5.
    Ответ написан
    1 комментарий
  • Как работает данный код?

    @antares4045
    ну вообще, писавший этот код, вероятно не очень здоров
    для начала предлагаю разобраться с деструктуризацией

    если вы напишите
    a,b = 2,3
    то в переменной a окажется значение 2
    а в переменной b -- значение 3

    это же можно использовать в циклах:
    words = [(0,'What'),(1,'the'),(2,'heck?')]
    for key,word in words:
        print('key:', key)
        print('word:', word)
        print()

    вывод:
    key: 0
    word: What

    key: 1
    word: the

    key: 2
    word: heck?


    если же при разборе кортежа, какой-то элемент вам не нужет, то можно просто использовать нижнее подчёркивание

    words = [(0,'What'),(1,'the'),(2,'heck?')]
    
    for _,word in words:
        print(word)


    Но автор вашего примера решил сделать нечто странное:
    {} -- создание пустого dict
    [()] -- присвоение в него по ключу "пустой кортеж" значения

    учитывая, что исходный dict никуда не сохраняется, это можно считать отчисткой, только вот зачем?
    a = {}
    a[()] = 5
    print(a)


    {(): 5}
    Ответ написан
    Комментировать
  • Как убрать в айфонах треугольник в input?

    GrinMorg
    @GrinMorg
    Если ответ помог, отметь решением
    Попробуйте
    .class {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
    }
    Ответ написан
    2 комментария
  • Можно ли паять резистор к цельному проводу?

    Stalker_RED
    @Stalker_RED
    Можешь вообще не паять, а собрать все на макетной плате.

    Можешь в воздухе (на весу) скрутками скрутить, а потом их пропаять.

    Можешь применить монтаж накруткой.

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

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

    Можно не маркером рисовать, а распечатать лазерным принтером на бумаге, затем приложить ее к фольгированному слою и прогладить утюгом. Выйдет красивее, набив руку можно почти фабричный вид получать.

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

    @deliro
    Как понять микросервисы?

    Прочитать соответствующую книгу (а лучше ещё парочку про DDD или хотя бы посмотреть этот доклад)

    Затем ответить на несколько вопросов:
    1. Почему вы решили, что микросервисы что-то вам дадут?
    2. Есть ли у вас настоящие причины для микросервисной архитектуры? (А именно: зоопарк технологий с невозможностью написать 99% на одном языке; более тысячи разработчиков; сложность выкатки монолита в виде часов прогонов CI/CD — тестов, билда, деплоя, стопоров выкатки в виде кучи проблем из-за разработчиков; вы такие же большие как гугл, убер, амазон и т.п.). Или вам просто нравится модное слово "микросервисы"?

    Не получится создать хорошую микросервисную архитектуру без умения создать хороший модульный монолит. В этом случае вы получите не только все проблемы плохого монолита: высокая связанность, каскадные падения, долгий CI/CD; но и все проблемы микросервисов: их надо оркестрировать (у вас же есть команда, которая будет поддерживать инфраструктуру?); каждому микросервису нужно своё CI/CD (и хорошее); сеть может (и будет) лагать и обрываться; длительность запросов увеличится на порядок(ки) (особенно если выбрать какой-нибудь JSON-RPC over HTTP); нужно предусмотреть failover strategy (например, идемпотентные ретраи. Вы же уже знаете про correlation id, саги и что делать, если прилетел network error на запрос в другой сервис "списать 10 баксов"?) и circuit breakers; трейсы и логи, которые не пришлось бы искать по сотням .log файлов от каждого сервиса; бизнес-логика расползётся по разным микросервисам и нарушит SRP (пофиг, что нарушит, важнее то, что это починить будет сильно сложнее). Список можно продолжать долго.
    Ответ написан
    11 комментариев
  • Как составить регулярное выражение, чтобы получить форматированную строку в JavaScript?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const printf = (str, ...params) =>
      str.replace(/\$(\d+)/g, (m, g1) => params[~-g1] ?? m);
    Ответ написан
    1 комментарий
  • Как написать регулярное выражение которое будет разбивать по 3 символа цифры?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    export const format_number = (str, delimiter = '\u202f') => {
      // \u202f — неразрывный узкий пробел
      return str.toString().replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1' + delimiter);
    };
    Ответ написан
    Комментировать
  • Какой должен быть Git у начинающего разработчика?

    @mkone112
    Начинающий питонист.
    Тут как с селезенкой. Можно жить и без нее, но лучше с ней, а еще лучше чтобы она была здорова. Вот и гитхаб - лучше иметь, и лучше иметь в нем качественные проекты. Хорошие репы позволяют получать гораздо больше откликов, чаще пропускать этап тестового, порой проще проходить собесы (рассказ о реализации своего проекта - это игра на поле кандидата). А вот если в нем всякий хлам - лучше без него.
    Ответ написан
    Комментировать
  • Как сделать функцию RANDBETWEEN срабатываемой по дате?

    oshliaer
    @oshliaer Куратор тега Google Sheets
    Google Products Expert
    Формула, для реализации этого процесса потребует итерационных вычислений и очень сложную формулу.

    Попробуйте использовать триггер для функции generateValue:

    function generateValue() {
      var spreadsheet = SpreadsheetApp.getActive();
      var from = 1;
      var to = spreadsheet.getRange('Sheet1!C5').getValue();
      var rand = randBetween_(from, to);
      spreadsheet.getRange('Sheet1!D5').setValue(rand);
    }
    
    
    function randBetween_(from, to){
      return Math.floor(Math.random()*(to - from + 1) + from);
    }


    Оригинальное решение содержит подобную задачу, только первое значение from для randBetween_ равно 1, а второе to берется из Таблицы. Триггер настроен таким образом, что данные в ячейке D5 обновляются периодически.
    Ответ написан
    Комментировать