• Как модифицировать контроллеры OpenCart?

    madmages
    @madmages
    Человек прямоходящий
    Если тебе нужен функционал, который опенкарт не предоставляет из коробки то тебе не нужен опенкарт. Но если ты считаешь что все же нужен то значит тебе нужно ядро опенкарта , которое тебе уже нужно допиливать самому до того вида , который тебе нужен( и тут подразумевается что тебе не нужны обновления опенкарта, разве только критические моменты закрывать, которые сам же можешь скопировать к себе ). Сам работаю с опенкартом уже 4 месяца к ряду. Хороший инструмент для разработчика, но средний магазин из коробки.
    Ответ написан
    1 комментарий
  • Алгоритм поиска пустых прямоугольников?

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    Вроде бы, всё просто. Никакой NP-полноты.
    1. Разбить, как вы и описали, по гайдам на мелкие. Это максимальное число полигонов.
    2. Взять любой, и начать присоединять к нему смежные, насколько возможно.
    3. Взять следующий пустой не затронутый.
    4. Процесс останавливается, когда больше ни к одному 4-угольнику нельзя присоединить еще один.

    Поверхностно кажется, что так получится наименьшее возможное число. Хотя не гарантируется максимизация площадей. Хотя, пожалуй, такой подход может не найти оптимальный вариант, когда границы нескольких исходных блоков легли точно на одной линии. Тогда выиграет вариант, захватывающий обе пустоты. Представьте силуэт буквы «Т». Его можно замостить всего двумя прямоугольниками. Но алгоритм может прозевать такую возможность и предложить 3 блока.

    Представьте себе Г-образный набор блоков. Как ни крути, там не менее 2 в итоге получится. Заметьте, что в обоих вариантах у вас получилось по 9 прямоугольников.

    П.2 подробнее. Тут возможны разные стратегии. В частности:
    • Можно от блока «пойти» в одну сторону, присоединяя соседей, пока не упрётся в непустую область. Затем попытаться расшириться во вторую сторону всеим набранными блоками, до упора. Затем в третью и четвертую.
    • Можно идти спиралью. 1 шаг наверх, 1 шаг вправо, 1 шаг вниз, 1 шаг влево и т.д. пока подряд 4 шага ни один не даст прироста.
    Ответ написан
  • Алгоритм поиска пустых прямоугольников?

    profesor08
    @profesor08
    Бегаешь по прямоугольникам, если грани формирующие угол соприкасаются с пустотой, то тяни одну из граней до упора. Так получишь еще один прямоугольник. Его надо запомнить. Аналогично проделать со всеми углами. Далее объединяешь два соседних получившихся прямоугольника в один, если их соприкасающиеся грани одинаковые. Так ты получишь наименьшее количество прямоугольников из пустой области. Конечный результат зависит от того, в какой последовательности ты все будешь делать, главное не плоди слишком много мелочи, и старайся из одного угла тянуть только одну грань.
    Ответ написан
    Комментировать
  • Что дает произведение 2х векторов в 2Д пространстве?

    @AlexSku
    не буду отвечать из-за модератора
    Для нормализованных векторов (имеющих длину 1) отражает угол между векторами (арккосинус). Получили 0 - векторы перпендикулярны, 1 - смотрят в одну сторону, -1 - в противоположные.
    Ответ написан
    Комментировать
  • Как можно заразиться вирусом просто посещая сайты?

    @Mercury13
    Программист на «си с крестами» и не только
    Сейчас это крайне тяжело. Заражение возможно через четыре канала:
    • Уязвимости конкретного браузера. Кстати, это одна из причин, почему каждая вкладка Хрома — отдельный (и низкопривилегированный) процесс: если процесс хакнут, меньше шансов, что дойдёт до овладения компьютером.
    UPD. Это такой набор данных (например, специально созданный GIF/JPEG/HTML), который, например, пробивает в браузере буфер.
    • Уязвимости плагинов. Уязвимости в Java — это настолько обсосанная вещь, что и говорить не буду; вроде от Java в вебе отказались даже сами Oracle. Flash каждую неделю обновляют. Уязвимости плагинов плохи двумя вещами: 1) Пускай сейчас в мире один браузер — есть ещё два десятка прихлебателей и три браузера «труба пониже, дым пожиже». А Флэш один на всех; 2) Старое плагинное API, оставленное только Флэшу,— большая дыра в безопасности.
    • Уязвимости прочего софта. Казалось бы, качаешь PDF — а это эксплойт для Adobe Reader.
    • «Троянские кони» — но это уже надо своими руками запустить EXE.
    Кстати, в нашей пиратской культуре считается, что UAC надо побыстрее отключить, и во всех «левых» дистрибутивах он выключен. По-моему, это в корне неверно.
    Ответ написан
    8 комментариев
  • Как расшифровать этот php код?

    BuriK666
    @BuriK666
    Компьютерный псих
    eval меняем на echo и немного форматирования. https://pastebin.com/i6jqZHcD
    Ответ написан
    7 комментариев