Задать вопрос
  • Возможно ли идеальное шифрование?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Идеальным считается Шифр Вернама. В принципе это идея Книги Кодов или одноразового блокнота.
    При его использовании Алиса и Боб могли-бы спокойно переписываться и быть уверенными что никто
    их не читает. Но здесь возникает вопросы.

    Как Алиса и Боб ей обменяются?. Совершенно очевидно что
    классические цифровые каналы здесь не подходят. Нужна личная встреча. Иначе слабым местом
    в протоколе становится не Вернам а тот способ которым произошел обмен.

    Как ее сгенерируют?
    Нельзя использовать классические ГПСЧ иначе они станут еще
    одним слабым местом. Очевидно что книга кодов должна создаваться очень оригинальным
    и неповторимым методом который не дает злоумышленнику (Кларку например) никаких
    гипотез. Аналоговый шум радиоэфира. Рулетка. Игральные кости. Карты. Короче
    любые источники энтропии которые никак не связаны с цифровым миром где Кларк
    может строть гипотезы. Кроме того книга кодов (КК) должна быть достаточно
    длинной (я-бы рекомендовал терабайты) чтобы Алиса и Боб хотя-бы на пару
    лет могли не встречаться повторно для обмена новой книгой.

    И надежность самого десктопа Алисы и Боба. Наука криптография (К) полностью
    не изучает этот вопрос. Тоесть К является как-бы частью ИБ и полностью доверяется ей.
    И любой троян на десктопе Алисы может полностью обнулить все наши утверждения
    о надежности Вернама и книги кодов потому что книга кодов уже скомпрометирована
    и Алисе с Бобом надо договариваться снова о следующем протоколе.
    Ответ написан
    Комментировать
  • Как работает Jinja?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Jinja
    Седой и строгий
    Jinja, как и любой другой шаблонизатор, выполняется на бэкенде. Конкретно Jinja ещё и про html не знает вообще ничего, для него шаблон - это набор инструкций и какой-то текст, а результат работы - просто строка.
    Ответ написан
    Комментировать
  • Как посчитать сколько раз повторяется значение обьекта?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    [value.language]: i
    Вы ничего не считаете, а записываете индекс элемента в массиве. Си у вас идёт в нулевом элементе, вот и получается 0.

    Решение очевидно
    Нужно поменять местами первый и второй элемент массива, тогда будет формироваться корректный объект. (нет)
    Ответ написан
    Комментировать
  • Использует ли WSL виртуализацию Hyper-V?

    Ответ написан
    Комментировать
  • Функции в питоне. Как избавиться от None?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Что возвращает функция print()?
    # s=print("Ниже нуля:", count1,'Выше нуля:',count,'Равно нулю',count2)
    s = f"Ниже нуля: {count1}, Выше нуля: {count}, Равно нулю: {count2}"

    https://stackoverflow.com/questions/28812851/why-i...
    https://stackoverflow.com/questions/7053652/why-is...
    Ответ написан
    1 комментарий
  • В чём проявляется зависимость c++ от железа и касается ли это Rust?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Многие пишут, что C++ - низкоуровневый язык и программы могут не работать на разных платформах в отличии от той же Java и касается ли эти проблемы Rust?

    Касается, и это не проблема, а фича.

    C/++, rust и go требует компиляции под конкретное железо. Для Java и C# необходима компиляция в промежуточный код (java байт-код и CIL соответственно) под их виртуальную машину (JVM и .NET соответственно). Виртуальная машина позволяет практически не заботиться о том, на каком железе будет выполняться написанное приложение, если конечно данное железо/os поддерживает эту виртуальную машину.

    Однако, Java и C# могут быть так же скомпилированы сразу в машинный код (AOT), но это не является обязательным. Данная компиляция так же производится под конкретное железо.
    Ответ написан
    Комментировать
  • Почему printf() выводит нули после точки?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    потому что int cusBal[10]. У вас массив целых чисел, вы его инициализируете константой 35.50. При этом происходит приведение к типу int и часть после точки с запятой теряется.

    Вторая проблема, вы эту int переменную выводите через "%.2f". Так что вам еще очень повезло, что оно вывело вообще что-то похожее на нужное число.

    Об обеих ошибках компилятор вам выдавал предупреждение (если он правильно настроен). Их все надо внимательно прочитать и убедиться, что они все безобидные, а лучше, чтобы их вообще не было.
    Ответ написан
    Комментировать
  • #Define TRUE FALSE. Что произойдёт?

    GavriKos
    @GavriKos
    1. Читаешь что такое define и когда он срабатывает
    2. Пробуешь сам в онлайн-компиляторе.

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

    @kaka888
    C, C++, Qt, Python, Flask, aiogram, MySQL, Redis..
    Дык попробуйте скомпилировать свою программу и увидите следующую ошибку:
    main.cpp: In function ‘int main()’:
    main.cpp:19:35: error: ‘a’ was not declared in this scope
       19 |                 arr[i] = new int [a];
          |                                   ^

    Здесь сказано, что переменная `a` не определена. Её и правда нигде в коде нет.

    Память, выделенная для подмассивов внутри arr, не освобождается = утечка памяти. Вы же выполняете сначала один new, а потом в цикле выполняете ещё new для каждого подмассива. Освобождать память с помощью delete надо по такой же логике - сначала для подмассивов, а потом только для самого arr - delete[] arr.
    Ответ написан
  • Зачем использовать кучу если есть стек? а так же где применяются указатели и ссылки?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Проблема стека в том, что там лежат только локальные данные, которые исчезнут вместе с выходом из функции. Кроме того, обычно размер всех переменных на стеке известен во время компиляции. Некоторые языки умеют выделять на стеке массивы переменной длины, но даже не все C++ компиляторы так умеют. В самом стандарте языка c++ - таких масивов нет. Поэтому стек часто не подходит.

    Помимо стека и кучи, есть еще глобальные переменные - но там проблема в том, что все они жестко определены во время компиляции.

    Т.е. если вам нужны данные доступные вне какой-то функции, да еще их точный размер и/или количество неизвестно на этапе компиляции - вам нужно что-то кроме стека и глобальных переменных. Это и есть куча.
    Ответ написан
    4 комментария
  • Выбор загрузки дистрибутивов с Bluetooth клавиатуры?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Вам не нужно устанавливать три разные ОС: достаточно поставить дебиан с xfce, затем поставить на него коди и ретропай. Если хотите четко разделить пространства - то просто заведите три отдельных пользователя и в каждом сделайте разную оболочку - коди/ретро/xfce. Для коди и ретро настраиваете вход без пароля (для рабочей учетки - по желанию), а так же показ списка пользователей на экране входа. И не надо городить костыли с несколькими ОС. Под систему и ретро игры сразу используйте SSD и обычный HDD под фильмы и прочее.
    Ответ написан
    2 комментария
  • Почему экраны имеют разрешения не кратны степени 2? Почему 1080, а 1024, если вместо умножения на 1080, можно сдвинуть 10 байт?

    @d22b
    1080 или 1980


    Потому что делятся на 9 (в обеспечение формата 16:9). А ранее были 600 и 768 делящиеся на 3 (в обеспечение формата 4:3).
    Ответ написан
    Комментировать
  • Почему экраны имеют разрешения не кратны степени 2? Почему 1080, а 1024, если вместо умножения на 1080, можно сдвинуть 10 байт?

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

    Производители дисплеев не производят отдельные дисплеи, это невыгодно.
    Вместо этого они оперируют понятием mother glass:
    mother-glass.jpg
    И уже эта стеклянная подложка нарезается на отдельные экраны, которые необходимы заказчику.

    Размеры "материнского стекла" более-менее стандартизированы в зависимости от поколения. Известны их размеры и диагональ (примерно от 50 см до 5 м).

    Это позволяет в т.ч. и заказчику расчитать сколько нужных ему дисплеев поместится на одном листе и подогнать размеры так, чтобы из одной большой матрицы получить максимум готовых изделий, минимизировав "обрезки".
    Ответ написан
    Комментировать
  • Возможно ли получить сертификат от Lets Encrypt без nginx?

    ky0
    @ky0 Куратор тега Nginx
    Миллиардер, филантроп, патологический лгун
    Можно подтвердить владение доменом через DNS, у большинства крупных DNS-хостингов есть плагины к certbot/acme.
    Ответ написан
    Комментировать
  • Возможно ли получить сертификат от Lets Encrypt без nginx?

    @Drno
    certbot certonly —standartalone
    Ответ написан
    Комментировать
  • Возможно ли получить сертификат от Lets Encrypt без nginx?

    @dronmaxman
    VoIP Administrator
    docker run -it --rm \
      -v "./letsencrypt:/etc/letsencrypt" \
      -v "./lib/letsencrypt:/var/lib/letsencrypt" \
      -p 80:80 -p 443:443 \
      certbot/certbot certonly \
      --standalone \
      --preferred-challenges http \
      --agree-tos \
      --email myemail@gmail.com \
      -d example.org
    Ответ написан
    Комментировать
  • Как сменить стэк?

    Jacen11
    @Jacen11
    Если у кого-то есть достаточно опыта, он сможет изучить новый без проблем, т.к. задачи по сути те же самые (если взять web) и современные фреймворки довольно однотипные.

    ну раз может, то никаких проблем в прохождении собеседования не будет и никаких сложностей со сменой стека нет. В чем вопрос тогда? Смотрят всегда на реальные знания, в резюме все равно можно написать что угодно, а можно даже правду написать, но и с 15 лет опыта быть на уровне джуна
    Ответ написан
    2 комментария
  • Как сменить стэк?

    Maksim_64
    @Maksim_64
    Data Analyst
    Непонятно, как можно работать java разработчиком n-лет и так формулировать вопрос. Стаж коммерческой разработки он общий. Остальное это твои навыки которые, тебе возможно придется подтверждать на собеседовании.

    Присутствие всякой ерунды или не связанных с реальностью требований в вакансии не редкость, на это никто внимания особо не обращает (если только в негативном смысле, что бы сразу отсеять компанию). Все решается на собеседованиях.
    Ответ написан
    Комментировать
  • Что имеют в виду, когда говорят "смотрит в интернет"?

    ValdikSS
    @ValdikSS
    Чаще всего, как Valentin Barbolin отметил, это означает, что устройство доступно непосредственно из интернета, т.е. у него есть выделенный IP-адрес.
    Но фраза не имеет конкретного смысла и может менять значение в зависимости от контекста. Это, например, также может означать доступ в интернет в целом: «тв смотрит в интернет» = ТВ имеет доступ в интернет. Если порт смотрит в интернет, то порт был проброшен на NAT/межсетевом экране до устройства, и т.п.
    Ответ написан
    1 комментарий