• Выполнение php внутри файла xml?

    usdglander
    @usdglander Куратор тега PHP
    Yipee-ki-yay
    Давайте догадаюсь: файл, конечно же, имеет расширение .xml. И заворот всех *.xml на веб-сервер в .htaccess не настроен.
    Ответ написан
    Комментировать
  • Как соединить 2 бинарных файла в git?

    GavriKos
    @GavriKos
    А как вы себе представляете результат работы "сразу двух галочек"?
    Фрагмент из а потом фрагмент из б? Или наоборот? А где гарантия что после такого бинарный файл вообще можно будет прочитать - гит то не в курсе о его внутренней структуре?
    Вот потому, что ответить на все эти вопросы однозначно нельзя, потому же гит и не даст "смержить" бинарные файлы. Выход - брать только один из вариантов, и потом применять к нему изменения в соответствующем софте, понимающем конкретный бинарный формат.
    Ответ написан
    Комментировать
  • Правильо ли я понял суть экранированных последовательностей?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    С помощью служебных символов имеется возможность указать специальные символы, которые называются экранированные последовательности (\n, \t, \a и т.д).
    Не до конца понятен смысл этой фразы.

    Экранированные последовательности представляют служебные символы которые сложно ввести с клавиатуры.
    Нет. Например, \t, \n, \r и т.д. ввести с клавиатуры не представляет собой вообще никакого труда.

    Так уж повелось, с давних времён, во многих языках программирования, программах, файлах конфигурации и т.д. (хотя безусловно не везде это так), символ \ обозначает, что идущий следом за ним символ является специальным или его нужно экранировать. Например, если вы в командной строке линукса напишите \ и нажмёте [Enter] - ввод продолжится с новой строки, в ином случае, нажатие клавиши [Enter] будет означать завершение ввода команды и (вероятнее всего) начала её исполнения. Но, иногда нужно или просто удобно, вводить команду в несколько строк...

    В т.ч. например, в регулярных выражениях, ряд символов носит специальный смысл, в т.ч. такие символы как: . (точка), [, ], (, ), и т.д., и что бы использовать эти символы как "обычные" (что бы они "потеряли" своё специальное значение и стали "простыми" символами), их нужно предварительно экранировать.

    P.S. Мне кажется, Вы как-то очень сложно описали простую вещь, как-то "слишком по научному".
    Ответ написан
    8 комментариев
  • Как выбрать по дочернему, а после родителю .appendTo()?

    0xD34F
    @0xD34F Куратор тега JavaScript
    $('.mod__l').append(function() {
      return ({
        m1: mod__c1,
        m2: mod__c2,
        m3: mod__c3,
      })[$('.mod__input', this).data('mod')];
    });
    Ответ написан
    1 комментарий
  • Почему мониторы 38'' стоят дороже более крупных 43'' с большим разрешением?

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

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    42
    Ответ написан
    Комментировать
  • Что лучше - сессии или кэш?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    а как я знаю, сессию можно своровать

    беда, расходимся (
    Ответ написан
    8 комментариев
  • В чем разница тестов?

    @Yan-s
    Юнит тесты - для тестирования коротких изолированных фрагментов кода, отдельных методов. Проверяем, что элементарный метод работает корректно сам по себе.

    Функциональное тестирование - тестирование функционала системы. Тут проверятся что определенный запрос дает определенный ответ, приводит к определенным результам. Например, что переход пользователя по определенному адресу должен выдать HTML страницу с некими данными. Проверка работоспособности системы с точки зрения пользователя.

    https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D...

    https://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D...
    Ответ написан
    Комментировать
  • Password_widget в Symfony ложит всю систему?

    BoShurik
    @BoShurik Куратор тега Symfony
    Symfony developer
    Поздравляю, теперь вы знаете что такое рекурсия :)
    {% block password_widget %}
        <div class="form-control">
            {{ block('password_widget') }}
        </div>
    {% endblock %}


    Уберите код
    {% form_theme form _self %}
    {% block password_widget %}
        <div class="form-control">
            {{ block('password_widget') }}
        </div>
    {% endblock %}


    и все должно заработать

    Если очень хочется кастомизировать, то
    {% block password_widget %}
        <div class="form-control">
            {%- set type = type|default('password') -%}
            {{ block('form_widget_simple') }}
        </div>
    {% endblock %}

    либо, как вы написали, через password_row, либо как сказано в очень хорошей документации

    Базовые реализации лежат в form_div_layout.html.twig, в FrameworkBundle/Resources/views/Form лежат шаблоны для php-форм
    Ответ написан
    1 комментарий
  • Насколько в России актуален Node.js?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Вы сами дали себе ответ

    смотрю вакансии на разных сайтах, и почти везде требуется php
    Ответ написан
    Комментировать
  • В чем преимущества компиляции в 4 этапа, нежели в 1?

    15432
    @15432
    Системный программист ^_^
    gcc это набор инструментов, каждый из которых своим делом занимается. В первом случае все автоматически перенаправляется следующему в цепочке, во втором пошагово. Возможность полностью контролировать процесс компиляции полезна - может я хочу посмотреть на ассемблерный листинг, или посмотреть на результат оптимизатора и понять почему код в этих параметрах сборки вдруг перестал работать, поискать баги компилятора.. ну или банально пробовать разные параметры линковщика, не затрагивая остальные этапы компиляции.
    Ответ написан
    Комментировать
  • Как защититься от парсельщиков?

    @deliro
    Нет
    Ответ написан
    Комментировать
  • Как защититься от парсельщиков?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Существует несколько способов борьбы.

    Вектор усложнения доступа к информации

    Информация отдается с сервера с постоянной меняющейся структурой. Например блоки меняются местами и CSS генерируется налету, причем классы собираются рандомной цепочкой и имеют абсолютно рандомные названия. Это может повлиять на SEO.
    Если этого мало, то контент рендерится с помощью JS аналогичными алгоритмами. Сам JS тоже генерируется и обфусцируется. Доставка контента происходит через сложные технологии, например через WebRTC DataChannel или WebSockets. Про SEO не может быть и речи, плохо работает через мобильник.
    С подобным подходом прийдется писать парсер под ваш сайт. Скорее всего он будет делать скриншот и скармливать его распознавалке.

    Вектор контроля доступа к информации

    Доступ к информации предоставляется определенному кругу лиц. Например клиентам. Объемы доступа регламентированы и превышение карается расторжением договора или штрафом.

    Вектор ограничения доступа к информации с помощью каптчи

    Для идентификации клиентов используются evercookie+fingerprinting. Используется рейтинг адресов и подсетей.
    Для недоверенных подсетей (ip принадлежат в основном разного рода хостинг-провайдерам) captcha отображается сразу. Аналогично при появлении трафика из необычного места, например внезапный трафик из Индии или Китая.

    Вектор "медленный сервер"

    Анализируются поведенческие характеристики с помощью машинного обучения. Строится эталонная модель.
    Все, кто не попадает под модель, упираются в медленный сервер. Сайт начинает отдавать контент сразу, но очень медленно, например страница может открываться секунд 30. Причем попытка параллельного запроса приводит к ошибке. Если сайт велик, то подобные штуки останавливают парсильщиков на ура. Вдобавок дополнительно контролируются определенные вещи, вроде "пользователь загрузил js и css", провел мышкой там и там.

    Вектор для реального отваживания воришек

    Кроме выше перечисленных способов, есть очень простые, но действенные способы. При обнаружении парсинга, парсильщику отдается неверная/искаженная определенным образом информация. Например, если есть подозрение на конкурента ворующего цены, можно отдать цены чуть выше настоящих и немного подменить название товара, например заменить определенным образом букву "а" на "a". Затем такая штука ищется поисковиком и находится сайт конкурента.
    Далее вопрос решается так, как это удобно бизнесу. Обычно жалуются на нарушение копирайта. Ну или у конкурента внезапно сгорает склад. Тут уж кто на что горазд.

    А это специально для любителей парсить чужие сайты: cломанные пальцы очень сильно мешают набирать на клавиатуре будьте осторожны, в большинстве случаев воровство контента того не стоит.

    Подытожим. В большинстве случаев защита от парсинга вредит SEO.
    Если у вас воруют контент, значит он хороший. Защищайте его с умом. Простые средства вроде копирайта и успешные дела за воровство контента отвадят воришек от вашего сайта. Просто придайте делам огласку. Отслеживайте воровство и жалуйтесь в поисковые системы.
    Используйте технические средства для отслеживания воровства, например непечатаемые символы и стеганографию в картинках.
    Используйте внутренние ссылки и привязки к контенту и его автору. Например логические отсылки на свои предыдущие работы или другие товары, которые можно купить только у вас.

    Если у вас воруют статьи, просто требуйте обратную ссылку.
    Если воруют описание товаров, предложите продать его, а на вырученные деньги улучшите свое или увеличите оборот или потратьте их на рекламу.
    Еще одна рекомендация - сделайте все, чтобы поисковики узнавали о вашем контенте раньше, чем у воришек.
    Ответ написан
    6 комментариев
  • Сколько берет google и apple с разработчиков приложений интернет магазинов?

    GavriKos
    @GavriKos
    1) Эппл и гугл берут комиссию при покупке через свои механизмы. Т.е. это либо покупка самого приложения, либо покупка чего то внутри приложения через платежную систему гугла/эппла
    2) И эппл, и гугл разрешают продавать реальные товары и услуги в обход своих платежных систем - да, через ту же робокассу и аналоги. Но продавать виртуальные товары, которые нельзя вывести из приложения (игровая валюта и предметы, например) по правилам можно только через платежные системы платформы.
    Ответ написан
    2 комментария
  • Как гарантировать списание денег с баланса?

    webinar
    @webinar Куратор тега Веб-разработка
    Учим yii: https://youtu.be/-WRMlGHLgRg
    1. CRON

    а что если сервер упадет

    Другие решения при упавшем сервере по Вашему будут отлично работать?

    а что если крон выполнится несколько раз

    с какого перепугу? Тогда предлагаю еще предусмотреть более вероятный вариант, что если нападут инопланетяне? Или деньги завтра отменят - тоже ведь может быть.

    что можно мутить с историей списание (она полюбому нужна), и при списании сверяться, но это не дает гарантии от параллельного списания

    Почему это не дает гарантии? Если есть запись о списании в этом месяце - не списываем. Как это может не работать? Вижу только вариант с коллапсом вселенной или временной отменой "1+1=2".

    интересует сама логика и инструменты

    Инструменты: cron + php
    Логика: запустились, выбрали из базы кого списывать, списали, записали в БД что списали и сменили статус на оплачено. Опционально, ведем отдельный лог в txt файле, что когда и как.
    Ответ написан
    Комментировать
  • В какой последовательсти изучать материал?

    @sqrdeer
    Full-Stack JavaScript Developer
    Паттерны проектирования и язык в котором ты собираешся их применять обычно не принято разделять.
    Врятли до миддла за год возможно это все подтянуть, особенно если ты будешь учить питон с нуля и не имеешь нормального представления о алгоритмах и структурах данных. Опять же смотря, что ты подразумеваешь под миддлом. У всех представление о знаниях миддлов, джунов и сеньерах разнятся. Вести такую статистику обучения довольно удобно в trello. И миддла от джуна в первую очередь отличает большая практика в тех направлениях, которыми он занимается.
    Ответ написан
    Комментировать
  • Как подключиться к удаленной mysql в MAMP?

    php10
    @php10
    Разработчик на PHP
    А зачем вам в MAMP настраивать MySQL? Ведь сам MAMP содержит внутри себя PHP, NGINX, MySQL (насколько я помню).
    Подключайтесь из PHP напрямую на удаленный сервер под теми же данными, которые вы используете в SequelPRO.

    MySQL из MAMP тут лишнее звено
    Ответ написан
    Комментировать
  • Где можно скачать последнюю версию Safari для Windows?

    KickeRocK
    @KickeRocK
    FrontFinish
    Wikipedia

    Последней доступной версией Safari для Windows была версия 5.1.7, выпущенная 9 мая 2012 года. Последующие версии несовместимы с Windows.

    Следует отметить, что Safari для Windows является единственной версией Safari, выпущенной для какой-либо ОС, отличной от OS X и iOS. Версий Safari для Linux и Android (равно как и для других мобильных платформ, помимо iOS) никогда не существовало.

    М?
    Ответ написан
    2 комментария