• Как найти линейное преобразование плоскости?

    @Karpion
    У Вас в задаче заложен ответ!

    Пусть координаты точек первой картинки = P[i], второй = V[i] (каждая координата = вектор с двумя значениями).

    Далее надо записать линейное преобразование:
    P[i] -> A + B*P[i]
    (A и B тоже имеют по две компоненты; A = вообще нормальный обычный вектор).

    Ищем разницу, возводим в квадрат:
    (A + B*P[i] - V[i])^2
    суммируем это по i (по всем точкам).

    Теперь берём четыре частные производные по каждой компоненте A и B, приравниваем их к нулю. Получаем четыре линейных уравнения.
    Ну а решать линейные уравнения - должен уметь всякий.

    Upd1: Что такое "перспектива" - я не понял. Наклон фотоаппарата, что ли?
    Если B - это одна компонента, то алгоритм остаётся прежний.

    Upd2: Если надо учитывать ещё и возможность поворота на определённый угол - будет сложнее; но преобразование всё равно линейное.
    Ответ написан
  • Как найти все целочисленные точки отрезка?

    @Karpion
    Допустим, x1, y1, x2, y2 - целые.
    Пусть x1=y1=0 (достигается: x2=-x1; y2=-y1;).

    Ищем k=НОД(x2,y2) (там по ссылке есть алгоритмы).

    Делим x2 и y2 на к - это координаты первой точки.
    Умножаем координаты первой точки на 2,...,(k-1) - получаем все остальные точки (конечные точки и первая точка считаются уже найденными, их не выводим; если надо все - то ряд будет 0,1,...,k).
    Ответ написан
    Комментировать
  • Почему при заполнении input его значение остаётся пустым?

    @Karpion
    Если с полем "mail" всё нормально - ищите опечатку. Сравните поля ввода для почты и телефона.
    Ответ написан
    Комментировать
  • Как составить регулярку?

    @Karpion
    1) Сначала удалить "всё, что не цифры, точки и запятые".
    2) Заменить "( цифры [точка запятая] цифры ) [точка запятая]" на \1 (т.е. на содержимое скобок). Сделать это глобально.
    Ответ написан
    Комментировать
  • Как через регулярные выражения в linux найти строчки содержащие url?

    @Karpion
    Ну, для начала - этот шаблон нельзя брать в двойные кавычки, тут нужны апострофы - ибо кавычки не экранируют бэкслэши.

    Затем вызывает подозрение запись "[http\:]" - наверно, тут нужна вся строка "http", а не "любая из букв".

    Про "A-z" тут сказали.

    "/etc/" - это поиск в теле директории, т.е. среди имён файлов (а не в телах файлов).
    Ответ написан
    Комментировать
  • Как заставить wget качать из конвейера?

    @Karpion
    К уже указанным вариантам я ещё расскажу про файл /dev/stdin - во FreeBSD он есть, в других системах не знаю.

    Или надо глянуть ключи у wget - может, там есть ключ, переводящий его на stdin.
    Ответ написан
    1 комментарий
  • Для чего предназначен IKEV2 и L2TP?

    @Karpion
    "IKE (Internet Key Exchange) — стандартный протокол набора протоколов IPsec" ((C) Википедия)
    L2TP - тоже входит в эту группу, вместе с PPTP, PPPoE и прочими. А функционально это всё = VPN, нужный для предотвращения MiTM-атак.

    Дальнейший ответ зависит от того, знаете ли Вы все эти умные слова, которые я тут перечислил. Если не знаете - то в Википедии есть начальные знания. А что останется неясно - спрашивайте, расскажу что знаю.
    Ответ написан
  • Как запомнить значение переменной после перезагрузки страницы?

    @Karpion
    Ответ сильно зависит от того, зачем это нужно. Как вариант - записать в cookie.
    Однако, допустим, у юзера открыто несколько окон с этой страницей - тогда непонятно, как различать эти переменные от разных страниц.

    Есть ещё разные варианты перезагрузки страницы - например, переход куда-то на другую страницу (в т.ч. на другой сайт) и возврат обратно.

    Это не ответ, а только указание на возможные сложности.
    Ответ написан
    Комментировать
  • Как ограничить размер samba шары?

    @Karpion
    Можно настраивать квоты на уровне Самбы. Или можно настраивать системные квоты - для юзеров.

    Вообще говоря, извратиться можно ну очень сурово - например, создать файл нужного размера и организовать внутри него файловую систему. Т.е. смонтировать файл как раздел.
    Ответ написан
    Комментировать
  • Как получить опыт разработчика harware Unix?

    @Karpion
    Всё взаимодействие железа с Unix происходит через драйверы (впрочем, это так во всех приличных операционках). Т.е. - пишите драйверы, изучайте написанное другими.
    Ответ написан
    Комментировать
  • К чему привязыватся при допущении ошибки в IPTABLES?

    @Karpion
    Допустим, у нас есть заведомо годный рабочий_конфиг и экспериментальный_конфиг сомнительной работоспособности. Дальше делаем примерно так:

    ( sleep 5 минут ; применить рабочий_конфиг ) & # в асинхронном режиме (через амперсенд) запустить резидентную программу (форк шелла), которая поспит 5 минут и применит рабочий конфиг
    применить экспериментальный_конфиг

    У Вас есть пять минут на тестирование.

    Но надо убедиться, что при отваливании терминала резидент не помрёт от сигхапа. Так что надо бы применить программу nohup.

    Почитайте доки по ipfw - там эта тема разобрана. Собственно, я свой ответ строил на том, что запомнил именно оттуда.
    Ответ написан
    2 комментария
  • Нужен ли ASSEMBLER специалисту по информационной безопасности?

    @Karpion
    Знать ассемблер не нужно, но вот иметь представление о нём - необходимо. Хотя бы потому, что без этого невозможно понять, каким образом возникают уязвимости типа MeltDown.

    Необходимый уровень знания ассемблера - зависит от специализации внутри профессии "ИБ".

    Скорее всего, программировать на ассемблере не понадобится. Впрочем, ИБ-специалисты довольно редко программируют сами - они больше в чужих программах копаются.
    Ответ написан
    Комментировать
  • Почему Dhcp сервер не запускается?

    @Karpion
    Похоже, выше правильно ответили про "option routers 192.168.0.255;".

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

    @Karpion
    Либо сравнивать каждый элемент первого массива с каждым элементом второго массива.

    Либо отсортировать оба массива и сравнивать так:
    if a[i] .lt. b[j] then
    i++
    else if a[i] .gt. b[j] then
    j++
    else они равны - вот мы и нашли что нужно
    Ответ написан
  • Как сделать логотип на одном уровне с меню?

    @Karpion
    Картинку Вам тут никто не нарисует.

    Что значит "на одном уровне с меню"? Картинка слева, меню справа? Ну, например, так:
    {TABLE}{TR}
    {TD}картинка{/TD}
    {TD}меню{/TD}
    {/TR}{/TABLE}
    (фиг.скобки заменить на меньше/больше)
    Слова внутри таблицы - заменить на то. что Вам туда нужно поместить.
    Ответ написан
  • Php на freebsd почему могут глючить права доступа к файлам?

    @Karpion
    Скорее всего - влияют права директории. особенно SetUID, SetGroup, sTicky.
    Также смотрите функцию, которая создаёт файлы - какой там режим доступа.
    Ну и хорошо бы - пример прав, которые получились неправильные, и какие д.б. правильные.
    Ответ написан
    Комментировать
  • Можно ли исправить это правило Nginx? Если да, то как?

    @Karpion
    Может, проверять локацию в условиях? Как-то так:
    if ($img_extension = ".webp" and location = ...)
    Ответ написан
    Комментировать
  • Как мне организовать вывод данных, имитирующию таблицу, ей не являясь(Не могу придумать как организовать перенос строки)?

    @Karpion
    1) Мне непонятно, откуда берётся ширина каждого столбца. Она известна и жёстко задана до печати таблицы? Или она вычисляется по содержимому таблицы (как в HTML), и тогда её можно узнать только после просмотра всего отчёта (т.е. печать отчёта - двухпроходная)?

    2) Возможно ли, что имя/отчество/фамилия не влезет в столбец? Т.е. возможно ли, что столбец "ФИО" будет три символа? Что тогда делать?

    3) Решение наверняка есть в текстовых браузерах - lynx, links и им подобных.
    Ну и в Perl среди модулей наверняка есть библиотеки для генерации отчётов с Вашими требованиями.

    4) Печать каждой строчки отчёта - это печать нескольких строк текста (в таблице " А должен так:" - две строки текста на первую строку отчёта).
    Допустим, на первый вопрос - ответ "мы знаем ширину столбцов". Тогда алгоритм примерно такой:
    * Создаём массив строк: "1", "25/11", "Иван Иванович".
    * Тут у нас находится метка loop - для организации цикла. Конечно же, реально цикл мы сделаем на нормальных операторах, как учил Никлаус Вирт.
    * Проходим по массиву, пытаемся напечатать содержимое. Первые две строки удалось напечатать полностью, они влезли - поэтому их обнуляем.
    * А вот третья строка не влезла. Печатаем то, что влезло - т.е. "Иван". То, что напечатали - выбрасываем из строки (или, если в Си - играем поинтерами, чтобы не копировать содержимое строк).
    * Да, кстати, выше мы не обнуляем влезшие строки, а точно так же выбрасываем то, что напечатали. Но т.к. влезло всё - то такИ обнуляем.
    * По ходу дела записываем в целую переменную - остались ли непустые строки.
    * После первого прохода у нас осталось: "", "", "Иванович" (т.е. в данном случае - да, непустые строки остались). Повторяем операцию (goto loop).

    Я думаю, Вам д.б. понятно.

    Upd: Критерий переноса - я за Вас придумать не могу. А в Вашем вопросе про это нет.
    Ответ написан
    3 комментария
  • Как не отпугнуть заказчика плохим английским?

    @Karpion
    У меня английский совсем слабый. Я обычно говорю:
    "I speak English very little. Speak slow, please."

    Правда, это не на собеседовании; а типа объяснить туристу, как ему добраться.
    Ответ написан
    1 комментарий