Задать вопрос
  • Как посмотреть последние установленные в винду сертификаты?

    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 обновляются периодически.
    Ответ написан
    Комментировать
  • Как сделать, чтобы в ячейке первая буква была Заглавной?

    oshliaer
    @oshliaer Куратор тега Google Sheets
    Google Products Expert
    Нужно добавить следующий код в проект скриптов Таблицы

    /**
     *
     * @param {GoogleAppsScript.Events.SheetsOnEdit} e
     */
    function onEdit(e) {
      const allowRanges = [
        { sheetName: 'Заглавная буква', cells: ['B2', 'B3', 'B4'] },
        { sheetName: 'Стартовая страница', cells: ['B2', 'C2', 'D2'] },
      ]; // Список
      const sheetNames = allowRanges.map(r => r.sheetName);
    
      if (e && e.range) {
        const sheet = e.range.getSheet();
        if (
          sheetNames.indexOf(sheet.getName()) > -1 &&
          allowRanges.find(r => r.sheetName === sheet.getName()).cells.indexOf(e.range.getA1Notation()) > -1
        ) {
          const value = '' + e.range.getValue();
          e.range.setValue(value.slice(0, 1).toLocaleUpperCase() + value.slice(1).toLocaleLowerCase());
        }
      }
    }


    Чтобы программа реагировала правильно, нужно настраивать строку

    const allowRanges = [
    { sheetName: 'Заглавная буква', cells: ['B2', 'B3', 'B4'] },
    { sheetName: 'Стартовая страница', cells: ['B2', 'C2', 'D2'] },
    ]; // Список

    на все ячейки, где вы собираетесь отлавливать эти изменения

    60f514d1c79fe510480422.gif

    Пример в Таблице https://docs.google.com/spreadsheets/d/19bQjuZpRaE...

    Не работает для группы ячеек
    Ответ написан
  • Как вызвать метод без вызова конструктора?

    @infinityfreenom
    Ответ написан
    Комментировать
  • Что делает эта команда: gcc -I my_dts -E -nostdinc -undef -D__DTS__ -x assembler-with-cpp -o system.dts system-top.dts?

    @res2001
    Developer, ex-admin
    my_dts - подкаталог в текущем каталоге, там gcc будет искать дополнительные файлы, которые используются в директиве #include, компилируемого файла, т.к. my_dts это параметр ключа -I. Если такого каталога нет - gcc никак об этом не сообщит, но возможно будут какие-то ошибки при сборке.
    Опция -E заставляет прервать компиляцию после обработки препроцессором.
    Т.е. в данном случае просто используют препроцессор Си для файлов dts. DTS - device treee source. В DTS файлах описывают железо на котором загружается ОС. Они используются, например, в u-boot, в ядре линукс и т.п.
    Выходной файл задается опцией -o.
    Ответ написан
    Комментировать
  • Почему массив не изменяется через цикл for..of?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Не меняется, потому, что в JS примитивные типы (число, строка) передаются «по значению». Внутри цикла оказывается копия значения, никак не связанная с оригиналом. Поменять это значение в цикле — оно не изменяется в источнике.

    Другое дело объекты – они передаются «по ссылке», и их содержание можно менять:
    let a = [{v: 1}, {v: 2}, {v: 3}];
    for (let obj of a) {
      obj.v += 1;
    }
    a // [{"v":2},{"v":3},{"v":4}]

    Подробнее про Копирование объектов и ссылки
    Ответ написан
    Комментировать
  • Как читать документацию по node.js?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    на официальномй сайте, проматываю чуть ниже и вижу

    fs.writeFile(file, data[, options], callback)#
    History:
    • file <string> | <Buffer> | <URL> | <integer> filename or file descriptor
    • data
      <string> | <Buffer> | <TypedArray> | <DataView> | <Object>

    • options <Object> | <string>
      • encoding <string> | <null> Default: 'utf8'
      • mode <integer> Default: 0o666
      • flag <string> See support of file system flags. Default: 'w'.
      • signal <AbortSignal> allows aborting an in-progress writeFile

    • callback <Function>
      • err <Error> | <AggregateError>



    When file is a filename, asynchronously writes data to the file, replacing the file if it already exists. data can be a string or a buffer.

    When file is a file descriptor, the behavior is similar to calling fs.write() directly (which is recommended). See the notes below on using a file descriptor.

    The encoding option is ignored if data is a buffer.

    If data is a plain object, it must have an own (not inherited) toString function property.
    ...


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

    ЗЫ: уважаемый ТС, я понимаю что вопрос скорее всего был задан из-за вашей невнимательности, но тем не менее ответ вы получили, отметьте его решением)))

    Вот вам способ быстро найти информацию на странице:
    - открыв нужную страницу с большим объемом текста, перемотайте страницу в начала (до оглавления) и затем нажмите комбинацию кнопок CTRL+F (поиск по тексту страницы) и в появившемся окошке вбивайте искомый текст (в данном случае fs.write). После этого нужные пункты оглавления подсветятся желтым и вы легко найдете нужный.
    Ответ написан
    12 комментариев
  • В чем отличие Tc, Ta в datasheets?

    @VT100
    Embedded hardware & software.
    Вероятно, под Tc понимается температура кристалла. А под Ta - окружающей среды (с учётом рекомендованных условий монтажа - на стандартном стеклотекстолите с толщиной меди 35 мкм и её площадью 1 кв. дюйм).
    Конкретику-бы.
    Ответ написан
    2 комментария
  • Можно ли в гугл форме создать блок вопросов для записи второго ответа одной отправкой формы?

    oshliaer
    @oshliaer
    Google Products Expert
    Я бы сгенерировал ссылку на Форму для каждого ученика индивидуально, т.е. т.о. чтобы постоянные данные как ФИО и др были бы уже заполнены. Но тут стоит вопрос, существует ли этот список данных для предзаполнения.
    Ответ написан
    Комментировать