Ответы пользователя по тегу PHP
  • Как получить список рекламных постов из instagram?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Поиск по чужим постам отсутствует.
    Можно получить список своих постов через promotable_posts.
    Ответ написан
  • Как искажать фотографии?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Можно попробовать GAN приспособить для этого.
    Ответ написан
    Комментировать
  • Как парсить SRV запись с помощью PHP?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Комментировать
  • Как залить товары на Facebook «пачками»?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Комментировать
  • GetUserMedia() Как сохранить видео?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Ответ написан
    Комментировать
  • Как правильно делать "горячие/интересные" посты?

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

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    $wordsArray = [
        'абиссинка',
        'гидроэнергия',
        'размотка',
        'режиссёр',
        'саламата'
    ];
    shuffle($wordsArray);
    $thisWord = array_pop($wordsArray);
    Ответ написан
    2 комментария
  • Стоит ли учиться писать автотесты на php?

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

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Обычно так и делают. Это классическое решение, которое применяется практически везде. Используют слаг или id.
    Что-то вроде
    SELECT ... FROM ... WHERE `id`='event-name' OR `slug`='event-name'

    В таком варианте будет работать id и слаг, так что не прийдется ничем жертвовать.
    Не забудьте заэскейпить данные перед передачей в запрос.

    Есть альтернативный вариант, когда хранится внутренняя таблица соответствий url1 -> url2. Это вариант менее удобен с точки зрения разработчика, т.к приходится прилагать много усилий по поддержанию актуальности и т.д. Такой вариант имеет плюс при правильной реализации - можно хранить цепочку редиректов со старого адреса на новый. Например, если у вас страница 3 раза получала новый адрес, то в этой таблице будет 4 варианта редиректов. Один актуальный и 3 устаревших. При этом при переходе по старому адресу будет происходить редирект на новый. Поддержание такого реестра ссылок дело не очень удобное, но подойдет для приложений уровня крупных компаний, которые не могут себе позволить отправить клиента на пустую страницу.
    Ответ написан
    Комментировать
  • Как с Facebook извлечь данные (парсинг/api)?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Через Graph API это сделать нельзя. Только парсинг, что означает автоматическое нарушение соглашения использования Facebook со всеми вытекающими последствиями.
    Ответ написан
  • Как контролировать качество PHP кода?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Вам обязательно нужно познакомиться со стандартами PHP-FIG.
    А потом идти сюда.

    Как минимум вам нужны 2 вещи: MessDetector и CodeSniffer.

    Дам вам совет. Не читайте бумажные книги. У них цикл релизов занимает год. Поскольку на написание хорошей книги тоже нужно примерно год времени, значит книга в момент своего выхода уже на 2 года устарела.
    Хотите быть в тренде новостей? Читайте комментарии к коммитам и релиз-ноутсы.
    Ответ написан
    Комментировать
  • Как программисту, разрабатывающему бэкэнд работать с кривой версткой?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Вот смотрю я на шаблон и не понимаю, что в нем сложного?
    Вы style="background-image: url(<?=$image?>)" для блока написать не можете?
    Или про шаблонизаторы не слышали?
    Так же вы имеете право попросить адаптировать верстку, но это выглядит пораженчески.
    Да, бэкендеру нужно в целом понимать, что делает фронтэнд, также как и фронтендер должен знать немного о бэкенде.
    Ответ написан
    Комментировать
  • Почему существует 2 версии PHP (Non Thread Safe и Thread Safe)?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Здесь ответ на ваш вопрос.

    Для тех, кто не знает английский.

    Версию сервера нужно выбирать в зависимости от того, как вы интегрируете PHP c веб-сервером.
    Например, когда вы используете mod_php, у вас модуль и PHP всегда загружены в память и каждый запрос обрабатывается в отдельном потоке. Из-за этого mod_php работает быстрее, чем CGI. В данном случае нужно использовать потоко-безопасную реализацию (thread-safe) поскольку каждый поток имеет доступ к памяти другого потока.

    Когда вы работаете с IIS, у вас PHP запускается ввиде отдельного процесса через CGI и в таком случае потоко-безопасность не имеет смысла, поскольку у вас 1 процесс и фактически 1 поток созданный этим же процессом. Операционная система изолирует память процессов по умолчанию.

    В случае модели с FastCGI, потокобезопасность также не имеет смысла, поскольку тотже PHP-FPM держит несколько отдельных процессов PHP в памяти, но не потоков.
    Ответ написан
    Комментировать
  • Как в свой php проект добавить лицензию против слива?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Защититься от слива в вебе нельзя, если вы кому-то даете исходники.
    Разумный выход - это обфускация по алгоритму, известному только вам. Деобфускация займет время, может быть даже длительное. Самое главное, она отбивает охоту школоте, которая пытается стырить ваш код.
    Но самое главное, это не защита исходного кода, а защита своих интересов.
    Как вариант, можно реализовать критическую часть своего скрипта в виде веб-сервиса. Пока клиент платит, алгоритм работает. Такой подход защитит вашу интеллектуальную собственность. Но будет необходимость поддерживать работоспособность этого сервиса.
    Ответ написан
    Комментировать
  • Почему в Symfony при сравнении на null - null в первом операнде?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    чтобы избежать случайного присвоения
    Ответ написан
    Комментировать
  • Вывод новостей со страницы facebook?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Используйте виджет страницы для такой цели. Готовый код для вашей цели уже создан. Осталось только подключить.
    Ответ написан
    Комментировать
  • Как сделать, чтобы php не ждал завершения предыдущего потока?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Это вам поможет, но будет работать только с Nginx + PHP-FPM.
    // здесь весь вывод клиенту
    session_write_close ();
    fastcgi_finish_request();
    
    // здесь делать долгую работу (отправлять письмо или другое)
    Ответ написан
    Комментировать
  • User id facebook разный для одного аккаунта?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Идентификаторы пользователей разные между разными приложениями. Для того, чтобы они были одинаковые, нужно было создавать тестовую версию приложения.
    Если нужно идентифицировать одних и тех же пользователей, то необходимо использовать Business Manager, в который надо добавлять все приложения. Если у вас одна компания, то это очень даже удобно. Если несколько, то там есть добавление партнеров, когда одна компания становится партнером другой.
    Уникальные идентификаторы сделаны с целью повышения конфиденциальности данных пользователей и уменьшить отслеживание.
    Ответ написан
    Комментировать
  • Шаблонизаторы ещё актуальны?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    На текущий момент Smarty есть и остается единственным удобным шаблонизатором для PHP.
    Он прекрасно устанавливается через composer, а его синтаксис и расширяемость куда удобнее Twig.
    Twig стал популярен лишь благодаря Symfony.
    Ответ написан
    8 комментариев