• Как пишется ПО для дронов или БПЛА и что почитать чтобы это узнать?

    0. Направление не новое и хорошо изученное.

    1. Зависит от того, какое именно ПО.
    Что-то пишется на Си, что-то на языках высокого уровня, а что-то реализуется на уровне железа (плис/fpga/asic)
    Для моделирования каких-то процессов может использоваться уже упомянутый матлаб, например.

    2. Изучать нужно теорию управления и физику, тк по сути всё управление моторами базируется на ней - а это по сути основная и единственная задача, как удержать дрон в воздухе, не сталкиваться с препятствиями при движении, а в случае отсутствия движения - оставаться на месте.
    По разработке - собственно Си для микроконтроллеров и verilog для железа. По хорошему ещё электронщиком нужно быть.
    Не сильно от обычной embedded разработки отличается, выходит.

    А на высоком уровне - там уже на конкретную задачу нужно смотреть. Где-то может даже ML и компьютерное зрение понадобится.
    Получается тоже не так уж много отличий от обычной разработки.
    Ответ написан
    Комментировать
  • Есть ли XSS уязвимости в самописном санитайзере?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Если говорить с практической точки зрения, то лично я бы не стал ковыряться в этом говнокоде, а выкинул его целиком. И сделал нормально:
    1. перед сохранением в базу текст вообще не трогал
    2. (опционально - валидация, которая не трогает текст, а может только выдать ошибку, что он не соответствует требованиям)
    3. перед выводом:
      • сделать ему htmlspecialchars()
      • и отрендерить в маркдаун, чтобы вместо этих пещерных <b> и <br> поддерживалось натуральное форматирование переводов строк, списков, выделения, и прочего.



    Ответ написан
    3 комментария
  • Есть ли простой для восприятия алгоритм ассимитричного шифрования?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    База асимметричного шифрования весьма проста. Для RSA:
    Берём два простых числа p и s, например
    p = 19
    s = 13
    Вычисляем их произведение n и функцию Эйлера f:
    n = p * s = 247
    f = (p - 1) * (s - 1) = 216
    Подбираем коэффициент k и экспоненту e так, чтобы значение d = (k * f + 1)/e было целым
    k = 9
    e = 5
    d = 389, целое
    Пара (e, n) даёт нам ключ для шифрования, пара (d, n) - ключ для дешифрования.
    crypted = messagee % n
    decrypted = cryptedd % n
    Очевидно, что из за операций по модулю мы можем шифровать сообщения в диапазоне [0, n - 1].
    message = 200
    crypted = 2005 % 247 = 174
    decrypted = 174389 % 247 = 200
    Основная сложность в том, что для защиты от подбора ключа нам нужны очень большие простые числа и значения n. Вот тут и возникают алгоритмы вычисления степеней, модулей и прочих операций с 1024-, 2048-, 4096-разрядными числами.
    Ответ написан
    4 комментария
  • Как называется вот такой эффект?

    @NoobKoder Автор вопроса
    Пытаюсь в программирование
    Сам нашёл, кому нужно это mix blend mode на css
    6361292728e4c764442768.png
    Ответ написан
    Комментировать
  • Как восстановить данные на Android?

    @rPman
    Этот смартфон поддерживает карты памяти. Если изображения находились там, то достаточно извлечь эту карту памяти и подключив к компьютеру, восстановить классическим способом.

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

    Любые другие действия с высокой вероятностью уничтожат данные или сделают их восстановление сложнее/дороже. Например установка приложения затрагивает нужную память и записывает файлы приложения поверх удаленных файлов, предотвращая их восстановление (это вероятностный процесс, не предугадаешь заранее).
    Ответ написан
    1 комментарий