Задать вопрос
Ответы пользователя по тегу PHP
  • Как залить php сайт без базы данных на хостинг?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Традиционно и правильно - клонированием репозитория системой автоматического развертывания.
    Ответ написан
    2 комментария
  • Как сделать Рукопожатие и общение от Websocket сервера к websocket серверу workerman?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Вообще, в веб-сокетах соединения сервер-сервер не существует в принципе, т.к. сервер - это именно сервис, который ждет подключения к нему клиентов, а не сам подключается. Для подключения к другому WS серверу со стороны своего сервера необходимо использовать WS клиента - т.е., подключаем код клиента и подключаемся как клиент к стороннему серверу, получаем данные с него, конвертируем во что надо и прокидываем через свой сервер куда дальше надо.
    Ответ написан
    Комментировать
  • Какие есть способы предотвращения регистрации с сомнительными email адресами?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Есть сервисы проверки почты, например: https://www.stopforumspam.com/ - сам использую уже давно, отличный сервис. Плюс имеет смысл настроить какие-то дополнительные фильтры - например, проверять отпечаток клиента.
    Ответ написан
  • В чем разница между способами тестирования (в контексте web и php)?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Опишу простыми словами для упрощения понимания.

    модульное тестирование

    Тестирование конкретного модуля. Обычно - это самый нижний уровень, отдельные простые классы, т.е. ниже по логике уже будут отдельные функции. Например, в JS есть класс Math - тестирование всех его методов и есть модульный тест. Конечно, границы между логическими уровнями могут быть размыты и в данную категорию вполне можно вписать класс уровнем выше. Так же, модулем может быть и что-то более сложное - опять же, много зависит от масштабов и особенностей архитектуры.

    интеграционное тестирование

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

    функциональное тестирование

    Очевидно, что тестируются конкретные функции, которые есть в техническом задании. Например: когда пользователь нажимает кнопку "купить" в карточке товара - товар добавляется в корзину.
    какими инструментами оно делается?

    Инструментами автоматизации GUI - для сайтов это Selenium и браузеры. Для десктопных/мобильных приложений аналогичные решения.

    приемочное тестирование

    в че отличие от интеграционных.. еще видел фразу что тут и фронт и бек тестируются, но яснее не стало, какими инструментами оно делается?

    "Бизнес" заказал в "Конторе" разработку сайта, выдал ТЗ, контора сделала сайт, бизнес заплатить денег обещал. Как бизнес проверит что контора сделала именно то, что он хотел? Через приемочное тестировние - бизнес получает доступ к сайту и проверяет, что сайт именно такой, какой он заказывал в ТЗ, а не тот, который сделали индусы за доширак. Если в ТЗ указан конкретный список тестов/фич - используется этот список или так, как прописано в ТЗ само тестирование. Само тестирование проводит соответствующий специалист (инженер отдела качества) - тыкает все кнопочки, нажимает менюшечки и говорит начальству "все окей, подписывай и платим им деньги" или "вот тут и тут не окей, не подписывай, денег не давай". Реальный пример: была заказана и собрана станция спутниковой связи, на приемке были представители заказчика и исполнителя, была толстая пачка бумаги на несколько сотен страниц, по которой первые проверяли что все работает именно так, как там написано в течении нескольких недель (плюс-минус), а вторые исправляли косяки показывали что все окей, потом все поставили свои галочки и крестики и разъехались по домам.

    E2E - тут тестируется чрез браузер, с помощью Mocha и тп, те тестируются "требования бизнеса к приложению", тестируются пользовательские сценарии.. а в чем отличие от функциональных тестов тогда?

    Сквозное тестирование. Это полная проверка от начала и до конца. Отличие от функционального в том, что это более комплексный тест. Если функциональное тестирование - это проверка конкретной функции, тот сквозное - работа всего приложения, т.е. более комплексное. Например, E2E тест приложения для загрузки файла на сервер: тест включает в себя запуск приложения, авторизация пользователя, выбор файла, указание мета информации, загрузку файла на сервер, выход из приложения. Вот тут неплохая статья на хабре: https://habr.com/ru/company/otus/blog/681066/

    Совсем запутался, с unit только понятно, а как уложить и разделить остальные?

    60da68c37e576762375008e5_thumb-image.png
    Картинка отсюда: https://www.rainforestqa.com/blog/the-layers-of-te...
    Ответ написан
    Комментировать
  • Как создать интернет магазин с админкой?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    1. Написать ТЗ
    2. Сделать декомпозицию: разбить крупные задачи на более мелкие и повторить несколько раз, пока не станет известен каждый пункт
    3. По результатам декомпозиции написать частное ТЗ со всеми деталями
    4. Далее реализовывать ЧТЗ по пунктам, пока не закончатся
    Ответ написан
    Комментировать
  • Как сделать ребут и мониторинг серверов с помощью PHP команд?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Просто используйте Zabbix для мониторинга - там из коробки можно мониторить все популярные сервисы и приложения.
    Ответ написан
    Комментировать
  • Существуют ли среды разработки десктопных преложений на основе веб-технологий?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    NWJS - лучшее решение, ИМХО.
    Ответ написан
    Комментировать
  • Как сделать десктопное приложение на JS с вызовом кода на php?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Ну раз там форма с парой полей и кнопок, почему бы не сделать нормальное десктопное приложение-то? Например WPF/WinForms. А так, можно использовать NWJS.
    Ответ написан
    Комментировать
  • Что эффективнее - один большой php файл или много маленьких в шаблонах?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Эффективнее провести нагрузочное тестирование с логированием времени обработки запросов и ключевых этапов обработки каждого запроса. Затем по итогам анализа логов выявить наиболее проблемные места и исправить недочеты, ошибки и прочее.
    А еще надо сразу грамотно делать декомпозицию проекта и грамотно проектировать архитектуру системы. Кроме того, есть еще такие штуки как БД и веб-сервер/прокси/балансер и т.п., которые вносят свои задержки в обработку запроса. Еще есть очень замечательная штука, которая называется "кэширование", с которой нет необходимости каждый раз загружать данные с диска. А так же еще куча других способов ускорения PHP.
    Ответ написан
    3 комментария
  • Как реализовать систему расчёта $y?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    $y = $x * 2000 + 6000;
    Ответ написан
    Комментировать
  • Похожи ли Яп-ы PHP и C / C++?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Все ЯП похожи в том или ином смысле. Спокойно учите то, что вам интересно и приносит новые знания. В ВУЗе скорее всего большую часть времени вы будете тратить впустую и реальных знаний о решении реальных задач вам там вряд ли дадут. А те знания, что дадут — устареют раньше, чем вы закончите учебу и будут неактуальны. Если программирование и разработка ПО вам интересны — фрилансите спокойно, решайте реальные задачи прежде всего, набирайте опыт и проекты в резюме, а ВУЗе просто отмечайтесь для галочки. Знания разных ЯП только помогают.
    Ответ написан
    2 комментария
  • Верстка календаря, переключение месяцев?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    1. Подключаем moment.js
    2. Получаем число дней и недель в текущем году
    3. Генерируем 12 массивов по пять недель с числами по дням
    4. Записываем массив чисел текущего года в ячейки таблицы
    5. Месяцы переключаем заменой чисел в таблице по номеру месяца в массиве
    Ответ написан
  • Как организовать частичную блокировку контента статьи?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Никак. Это не несет какого-либо практического смысла и только мешает пользователям сайта, а так же снижает репутацию сайта в глазах пользователя. А кому надо скопировать — скопирует в любом случае. Два дополнительных клика для открытия текста в девтулз или принтскрин.
    Ответ написан
    8 комментариев
  • GUI на PHP - реально?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Да, вполне реально. Самый простой вариант - использовать традиционный HTML, JS, CSS с рендерингом в браузере/браузерном движке. Для этого отлично подойдет NWJS. Только учтите, что у такой прогрммы будут повышенные системные требования (семерка, от гигабайта-двух памяти, как минимум двух ядерный процессор) и она будет очень медлительной и ресурсоемкой - как и любой браузерный движок. Более сложный вариант - для GUI использовать WinForms / WPF, а с PHP его можно соединить через сокеты, веб-сокеты, HTTP.
    Ответ написан
    Комментировать
  • На одном сайте nodejs с php?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Да, можно.
    Ответ написан
    Комментировать
  • Какая технология лучше для comet-сервера: tcp sockets, websockets или long polling?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Веб-сеоктеы уже давно стандартизированы и есть, если и не во всех, то в популярных браузерах точно. И они куда удобнее всяких кометов и лонг-поллингов. Существенный плюс веб-сокетов: нет никаких лишних данных при передаче сообщения типа http-заголовоков и т.п., соответственно не тратится время и ресурсы на их обработку. В общем, удобная очень штука =)
    Ответ написан
  • Способ организации обмена данными между 2мя системами

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Джедайская вполне схема первая.
    Ответ написан