За последние 24 часа нас посетили 55600 программистов и 1729 роботов. Сейчас ищут 827 программистов ...

из php в js

Тема в разделе "Прочие вопросы по PHP", создана пользователем nikemat, 7 авг 2015.

  1. nikemat

    nikemat Guest

    насколько эффективно и правильно использовать вместо запросов к серверу js?
    речь идёт о самодельной CRM в которой работают менеджеры.
    у меня изначально всё было на php+mysql+jquery, т.е. при каждой выборке шел запрос к серверу. и когда сразу все менеджеры обращались к серверу, он мог подвиснуть и работал только после рестарта. соответственно html-код формировался на стороне сервера, и зависал сервак преимущественно в то время, когда пытался выдать таблицу с записями более 1000шт из бд. чаще просто памяти не хватало, даже 64мб и 15 сек на генерирование кода, таблицы.

    я переписал всё на js, т.е. каждому менеджеру формируется массив при каждом действии- занесение в бд, переход по страницам. и у каждого теперь всякие выборки, сортировки, построение html-таблицы делаются посредством js
    разгрузил таким образом сервер, но нагрузил немного каждую клиентскую машину: там скрипт-массивчик 400кб весит)

    с точки зрения безопасности там норм всё, массив выдается только авторизованному пользователю и сформирован из отвизованных ему записей, генерируется динамически на php с header`ом js.

    сейчас всё норм работает, шустро. вопрос в том, насколько это правильно, безопасно и с какими проблемами могу столкнуться при использовании такой технологии?

    одна из проблем решена, с кавычками. из-за них была синтаксическая ошибка и клиенту вообще ничего не выдавалось. при выборке из бд и формировании html на стороне сервера такого конечно не было.
     
  2. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    тут имеется ввиду что получение данных теперь идет через ajax, а не через обновление страницы? В этом состоял перенос "всего" в js? Ну и еще как я понимаю, раньше полученные из БД данные обрабатывал РНР и передавал готовый результат, а теперь, РНР отдает не обработанные данные, а обрабатывает их уже js?

    А что за массив данных? вопрос в том что этот массив не должен попасть в посторонние руки? или же что бы и сам пользователь не смог увидеть что там под капотом (ну этот массив)?
     
  3. nikemat

    nikemat Guest

    не, массив именно js, формата var arr=[[1,2,3,4,5,'...и ещё 10 ключей'],[2,5,3,1,4,'...']... и ещё 1000 элементов];
    формирует его, в свою очередь, php из БД mysql. а чтение, выборка и сортировка как раз средствами js. уже не запрос к бд, а процессор клиента обрабатывает массив js и строит код.
    формируется и обновляется он при переходах между страницами и редактировании данных пользователем. в остальное время висит в памяти в том виде в котором сформировался.
    а аякс все равно делает запрос к серверу каждый раз при выборке.

    вопрос не в безопасности, я писал что с ней норм всё: скрипт доступен только авторизованному юзеру.
    вопрос в том, насколько это правильно, насколько это часто применяется в проектах и с какими проблемами столкнусь при реализации такой технологии.
     
  4. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Ну если сервер не справляется, надо делегировать (передать) часть работы клиенту, по этому нормально, вот единственно если массив отработал свое и потом без толку висит, лучше конечно от него избавиться, ну если при новом запросе снова идет получение данных из БД, как то так.

    Еще как вариант можно пересмотреть сортировку на стороне сервера, я вот тоже как то сделал одну хрень, оно так сортировало, что не дай бог, время выполнения скрипта подходило к концу, а сортировка еще не была закончена, на тот момент я думал что лучше ее организовать нельзя, только полностью меняя схему таблиц в БД, а вот сейчас столкнулся с некоторыми темами на форуме, еще добрые люди подсказали некоторые моменты, я переделал и все начало летать.
     
  5. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    а что конкретно тормозит?