Задать вопрос
  • Как не нарушить закон при установке ПО клиентам?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В случае Windows есть специальный вариант установки для сборщиков систем. В этом случае при включении компьютера первым делом будет выдано лицензионное соглашение, запрос на его принятие пользователем и запрос на ввод ключа или активацию через учётную запись Microsoft.
    Для остального ПО, принимая во время установки соглашение, вы лишаете пользователя права выбора. А без принятого соглашения большинство программ просто не установятся. Предустанавливать можно только те программы, которые показывают лицензионное соглашение не во время установки, а при первом запуске.
    Ответ написан
    Комментировать
  • Как не нарушить закон при установке ПО клиентам?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Могу ли я установить ПО или ОС, а лицензию не ставить?

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

    Если под "подводными камнями" имеется ввиду незаконная активация ПО (взлом, кряк итп), то:
    - УК РФ Статья 272. Неправомерный доступ к компьютерной информации.
    - УК РФ Статья 146. Нарушение авторских и смежных прав.

    Кстати, активация ПО лицензией, которая для этого не предназначена (например, лицензия windows за 100 рублей), так же попадает под статьи выше.
    Ответ написан
    1 комментарий
  • Почему в наутилусе папка распаковывается за 1 секунду, а в Windows 1 минуту?

    @rPman
    Потому что в windows файловая система с настройками по умолчанию работает ЗНАЧИТЕЛЬНО хуже чем в linux, да и на синтетике даже в идеальных условиях там заметный процент разницы. И да, я знаю что wsl работает поверх виндового ntfs, даже тут это быстрее (в майкрософт поняли что если они не сделают wsl то они окончательно потеряют разработчиков, а они определяют в конечном счете сколько будет у ОС пользователей, поэтому на удивление сделали это хорошо)

    А дальше могу гадать - на windows включен штатный антивирусник, он КАЖДЫЙ создаваемый файл сначала проверит и только потом позволит завершить его запись и перейти к следующему.
    Ответ написан
    6 комментариев
  • В каких случаях возможно использование несертифицированного Web Application Firewall?

    @Refguser
    Решения для бизнеса: от создания ИМ до...
    В каких случаях могут использоваться такие решения?

    В любых, когда не требуется (никто не потребует) сертификации ФСТЭК.
    Ваш КЭП.

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

    @tukreb
    Вы не должны указывать куда пропали деньги, так как они не должны ни куда пропадать вообще.
    Пользователь выбирает тип валют в которой будет хранить и курс никак на это влиять не должен.
    Если пользователь хочет хранит в нескольких видах валюты, значит храните в нескольких типах валюты.
    Ответ написан
    8 комментариев
  • Как оптимизировать код с++ с рекурсией в времени?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Можно попробовать сделать микрооптимизации: функция F реализуется одним циклом (делите, пока делится на 10, потом берите последнюю цифру). S тоже можно считать циклом, а не рекурсией.

    Но скорее всего, этого не хватит. Это решение за O(q*log(q)). Ограничения на числа в условии не видно, но если там что-то порядка 2000000000, то ваша программа будет считать несколько секунд.

    Надо хорошенько подумать и применить математическую хитрость. Надо как-то считать числа в интервале p...q пачками, а не каждое отдельно.

    Что такое функция F? Это последняя ненулевая цифра в числе. Давайте вместо суммы значений F счиатать, сколько чисел из интервала дадут вот такое вот значение? Ну просто по последней цифре сложно сказать, сколько там чисел, а вот если еще зафиксировать количество пропущенных в конце нулей, то уже становится понятно, как подсчитать это. Вот допустим, вы считаете последнюю цифру d и там должно быть 3 нуля. Тогда вы ищети числа вида "xxxd000". Или их можно представить в виде d*1000+x*10000 для произвольного неотрицательного x. И вот вам надо подсчитать сколько таких чисел в интервале [p,q]. Ну решите 2 уравнения: d*1000+x*10000 >= p и d*1000+x*10000 <= q

    Таким образом вы за несколько арифметических действий и одну проверку можете подсчитать, сколько чисел вида "xxxd000" будут в интервале. Осталось циклом перебрать d от 1 до 9 и количество нулей от 0 до длины q. И вот у вас решение за O(log(q)).

    Edit:
    Вот код быстрого решения:
    int S(int p, int q) {
      int sum = 0;
      for (int d = 1; d < 10; ++d) {
        for (int tens = 1; tens <= q; tens *= 10) {
          int left = p - d*tens;
          if (left < 0) left = 0;
          else left = (left + 10*tens-1)/(10*tens);
          int right = q - d*tens;
          if (right < 0) right = -1;
          else right /= 10*tens;
          sum += d*(right - left + 1);      
         }
      }
      return sum;
    }
    Ответ написан
  • Почему эластику стало не хватать место в докере?

    2ord
    @2ord
    Лучше вынести данные Эластика в отдельный том. Читай про Docker volumes.
    https://gist.github.com/anjilinux/f716adba057a2955...

    Еще попробуй добавить в docker-compose.yml в environment:
    - "cluster.routing.allocation.disk.watermark.low=90%"
          - "cluster.routing.allocation.disk.watermark.high=95%"
          - "cluster.routing.allocation.disk.watermark.flood_stage=97%"
    (тег кода портит отступы)
    Fix watermark errors
    Ответ написан
    1 комментарий
  • Как автоматизировать установку и настройку VPN сервера?

    @Drno
    bash скрипт с набором нужных команд. Либо Ансибл - если надо массово устанавливать(хотя можно и parallel-ssh использовать)

    Vless элементарно упаковывается в докер. Нужный файл json монтируется в файле docker-compose yml

    Итого...
    ставим нужный софт - докер,компос, fail2ban итд по желанию
    копируем файлы для докер компос
    стартуем docker-compose up -d -f my.yml

    всё...

    краткий пример yml -
    version: '3'
    services:
      xray-turk:
        image: teddysun/xray:latest
        volumes:
          - /opt/xray-turk/config.json:/etc/xray/config.json
          - /opt/xray-turk/geosite.dat:/usr/local/share/xray/geosite.dat
        ports:
          - "443:443"
        restart: unless-stopped


    краткий bash для установки софта (который лично мне нужен) (да я знаю что там старый докер, но меня устраивает) -

    #!/bin/bash
    
    # Обновление пакетов
    sudo apt-get update -qq && sudo apt-get install jq fail2ban mc htop vnstat wget git curl rsync apt-transport-https ca-certificates software-properties-common -qq -y;
    
    # Добавление ключа репозитория Docker
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
    # Получение кодового имени текущей версии Ubuntu
    codename=$(lsb_release -cs)
    
    # Добавление репозитория Docker
    sudo add-apt-repository -y "deb [arch=amd64] https://download.docker.com/linux/ubuntu $codename stable";
    
    # Обновление пакетов после добавления репозитория
    sudo apt-get update;
    
    # Установка Docker
    sudo apt-get install docker-ce -qq -y;
    
    # Установка Docker Compose
    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    
    # Добавление прав на выполнение для Docker Compose
    sudo chmod +x /usr/local/bin/docker-compose


    Желание комерческой поддержки - милости просим в ТГ )
    Ответ написан
    Комментировать
  • Что я делаю не так Python?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    знатоки, которые подскажут, что я забыл

    Вы забыли изучить особенности работы вашей операционной системы с типами файлов.
    Вам нужно прописать ассоциацию *.py файлов с python.
    Однако в любом случае это странный способ запускать питоновские скрипты. Обычно это делают в консоли через venv.
    Но так как вы хотите тоже можно, конечно. Для очень специфических нужд...
    Гуглите, короче, как прописывать ассоциации файлов в вашей системе.
    Я в винде ничего не делал уже лет 10, не помню где там оно.
    Ответ написан
    Комментировать
  • На чём писать клиентское приложение с GUI?

    @Drno
    Поставить клиентам "железку" типа распбери пи или неттопа, с развернутым веб приложением? и пусть себе ходят по локалке...
    Ответ написан
    3 комментария
  • На чём писать клиентское приложение с GUI?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    - Avalonia - если надо dotnet с обоих сторон и кроссплатформенность.
    - MAUI - если надо dotnet с обоих сторон и кроссплатформенность без линукса.
    - WebView2 - если надо dotnet на сервере, и css/html/js на клиенте, только винда.
    - ElectronJS или Tauri - любой сервер, css/html/js на клиенте, кроссплатформенность.
    Ответ написан
    3 комментария
  • Как работают пакеты и крейты?

    bingo347
    @bingo347
    Crazy on performance...
    Крэйт - это в первую очередь дерево модулей. Каждый крэйт содержит как минимум 1 корневой модуль (обычно это main.rs или lib.rs, но так же это могут быть модули доп бинарников, модули интеграционных тестов, модули примеров). Так же к крэйту относятся модули, которые объявили в других модулях этого крейта (ключевое слово mod).
    Помимо этого крэйт - это сущность которой оперирует компилятор rustc, крэйт является единицей компиляции, то есть в rustc на компиляцию попадает крэйт целиком (на вход подаём корневой модуль, а он уже сам бегает по всему дереву согласно объявлениям mod).

    Пакет - это сущность которой оперирует cargo. Компилятор rustc ничего не знает про пакеты. По простому пакет это папка с файлом Cargo.toml, в котором есть секция package (бывают ещё Cargo.toml объявляющие только workspace). Пакет состоит из крейтов, притом должен быть как минимум 1 крейт бинарника или библиотеки, а библиотечный крейт может быть только 1 или отсутствовать вовсе.
    Пакет - это то, что публикуется в registry (такие как crates.io).
    Так же в зависимостях мы указываем именно пакеты (но только те, что содержат крэйт-библиотеку).
    Так же именно пакеты указываются в команде cargo install, при этом будут собраны все бинарные крейты входящие в пакет, а получившиеся исполняемые файлы будут помещены .cargo/bin
    Ответ написан
    2 комментария
  • Нужно ли вынимать процессор из сокета при прошивке БИОС программатором?

    @rPman
    Питание на процессор подается только после очень сложного многоступенчатого процесса проверки, поэтому ничего с ним не случится.

    Но, возможна ситуация, когда контакт программатора слетел и подал питание не туда, в этом случае существует вероятность что-нибудь сломать, и не только процессор но и какой-либо другой чип на плате (там есть компоненты с требованиям к питанию 3v).
    Ответ написан
    Комментировать
  • Как понять что я выучил основы C#?

    @Miheev2
    А зачем его начали учить вообще?
    Что бы работать? Так идите на собеседование, там проверят. Так и узнаете.

    Если написать какой то конкретный софт, пробуйте его написать, может для него уже хватит.
    Ответ написан
    3 комментария
  • Нужна ли военная кафедра it специалисту?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Судя по тому, что в ИТ огромное количество специалистов без военной кафедры, она не нужна.
    Ответ написан
    Комментировать
  • Как проверить BIOS на вирусы?

    ValdikSS
    @ValdikSS
    Как проверить BIOS на вирусы?
    Получением дампа флеша и сравнением с эталонным образом этой же версии прошивки этого же устройства, не считая изменяемых областей, вроде nvram.

    Какие прямые или косвенные факты указывают на заражение BIOS ?
    Наличие дополнительных или измененных PEI/DXE-файлов.
    Ответ написан
    Комментировать
  • Можно ли включить субтитры в Яндекс.Браузер для русскоязычных видео на английском?

    @TimurRyabinin
    Здравствуйте! Я из Яндекса. Сейчас не получится перевести субтитры с русского языка на другие. Уже поделился вашим пожеланием с командой — подумаем с ними над реализацией.
    Ответ написан
    Комментировать
  • Почему не получается объединить коммиты?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Вы сами процитировали причину:

    Нельзя начать пересборку ветки (cannot rebase), пока есть незакоммиченные изменения в рабочем каталоге (You have unstaged changes).

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

    Поэтому гит предлагает закоммитить или спрятать несохраненное (Please commit or stash them)

    Команда git stash по факту тоже создает коммит, но он не привязан ни к какой ветке и рабочий каталог становится чистым. Затем вы делаете свои нехорошие дела и восстанавливаете stash обратно в рабочий каталог.
    Ответ написан
    Комментировать
  • Как переписать код на более современный JS?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Подскажите пожалуйста как переписать код на более современный код JS.

    Зачем?
    нашел такой код он работает, при клике добавляет 2 динамических класса на 2 разных блока

    Не добавляет, а переключает.
    но пишут на форуме что код устаревший

    На заборе пишут, что пора прыгать из окна.
    Как исправить?

    addEventListener()
    Ответ написан
    Комментировать
  • Как понять токен рефрешится или нет?

    GigaLORDex
    @GigaLORDex
    Бизнес-Системный аналитик
    Дык по мимо фронта есть (должна быть) тех.документация и есть бэковики (там как раз заложен тайминг токенов).
    Ответ написан
    Комментировать