Ответы пользователя по тегу PHP
  • Оптимальный алгоритм для списка задач (очередь с приоритетом). Как добавить запись в середину очереди без её смещения?

    @Hellek Автор вопроса
    Люблю говорить и слышать суть
    0) Я правильно понял, что в первой таблице у нас хранятся обычные записи с id. Во второй по каждому клиенту мы храним массив по таблице вида
    array(
      'priority0' => 'id345',
      'priority1' => 'id63452',
      'priority2' => 'id23',
      'priority3' => 'id9123'
    )

    И при изменении приоритета какой-либо из задач мы перезаписываем весь этот массив? С точки зрения лёгкости кода хороший вариант, но массивы будут довольно большие, т.к. в реальной ситуации таблиц несколько, кол-во задач по каждому человеку может доходить до нескольких сотен. Написать легко, но думаю будут проблемы с производительностью. Мне вот интересно, данную задачу ведь решили в той же Asana, да в принципе любом tasktracker-сервисе. Мне кажется что-есть какая-то математическая модель которая данную проблему как раз и решает.
    1, 3 ---
    2. На словах вариант красив, но пока не понятна реализация в коде. Видимо это должен быть foreach который будет формировать новый упорядоченный массив. При условии, что у нас 500 задач, это будет 500 циклов, пока сложно сказать, каким именно образом будет идти сопоставление, есть некоторые сомнения, что это будет супер быстро. Думаю, насколько это конкурентно по быстродействию с остальными вариантами.
    Ответ написан
  • Сервис визуализации структуры файлов и папок проекта, где найти?

    @Hellek
    Люблю говорить и слышать суть
    Так есть же он-лайн бесплатные сервисы по составлению mind-карт mind42.com например, визуализируйте на здоровье)
    Ответ написан
    Комментировать
  • Как передать данные из PHP в NodeJS?

    @Hellek
    Люблю говорить и слышать суть
    elephant.io решит ваши проблемы. Настроил отправку за 10 минут.
    Ответ написан
    Комментировать
  • Что лучше использовать для вебсокетов: Ratchet или Socket.IO?

    @Hellek
    Люблю говорить и слышать суть
    Реализовал простейшую связку
    php (вся логика) -> отправляем, php (elephant.io) -> в nodejs (socket.io) -> принимаем на клиенте

    Изначально думал брать Рэтчет, но пришел к выводу, что нода проще и предполагаю, что стабильнее и легковесней по памяти. Сам на ноде не писал раньше, но за пару дней в принципе разобрался. Если вы не тугодум, то может и за несколько часов с нуля всё настроите и на клиенте и на сервере.
    Ответ написан
    Комментировать
  • Как изменить php local value (nginx, ubuntu)?

    @Hellek Автор вопроса
    Люблю говорить и слышать суть
    Для тех кому интересно. Примерно в этой директории /usr/local/php7/etc/php-fpm.d
    Создал файл с таким содержимым

    ; Start a new pool named 'www'.
    ; the variable $pool can we used in any directive and will be replaced by the
    ; pool name ('www' here)
    [поддомен.myDomain.ru]
    
    user = www-data
    group = www-data
    
    listen = 127.0.0.1:ANOTHER_PORT
    
    pm = dynamic
    pm.max_children = 5
    pm.start_servers = 2
    pm.min_spare_servers = 1
    pm.max_spare_servers = 3
    
    chdir = /
    
    php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f robo@$pool
    php_admin_value[error_log] = /var/www/dir1/dir2/temp/errors.log
    php_admin_value[mail.log] = /var/www/dir1/dir2/temp/mail.log
    php_admin_value[open_basedir]      = /var/www/dir1/:.
    php_admin_value[upload_tmp_dir]    = /var/www/dir1/dir2/temp
    php_admin_value[session.save_path] = /var/www/dir1/dir2/temp/sessions
    php_admin_value[session.gc_probability] = '1'
    php_admin_value[session.gc_divisor] = '10'
    php_admin_value[session.cookie_domain] = 'поддомен.myDomain.ru'


    В общем таким образом можно настроить php "под конкретный" домен/поддомен. Там где указано ANOTHER_PORT нужно указать порт отличный от стандартного (9007) и в настройках nginx (/etc/nginx/conf.d) в напротив "fastcgi_pass" указываете как раз этот порт (за место звездочек) -127.0.0.1:***;
    Ответ написан
    Комментировать