• Целесообразно ли хранить данные с временными метками в MongoDB?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    mysql проще.
    хранить в монго время/цену, еще и так часто меняющиеся - неправильно
    И на самом деле освоить timeseries DB совершенно несложно. Посмотри influxDB
    Ответ написан
    3 комментария
  • Можно ли хранить данные в redis?

    @RidgeA
    Redis можно настроить сбрасывать данные на диск по определенным условиям (время, количество записей и т.п.)
    Теоретически данные нужные можно хранить там, но надо понимать что Redis это все-таки "горячее" хранилище.
    Можно там хранить данные но я бы все-таки использовал более надежное хранилище.
    Самый простой вариант - Redis + MySQL, при этом в Redis хранить только данные которые нужны сейчас, остальное - в MySQL

    Еще, как вариант, если это какие-то графики/метрики - можно использовать специализированную БД для временных данных, например InfluxDB и другие
    Ответ написан
    2 комментария
  • Курс по Vue.js с тяжелым проектом?

    JRK_DV
    @JRK_DV
    Рецепты https://codepen.io/jrkdv/full/LKLXdq
    если все же что-то посоветуйте

    напишите "просто todo или какую-нибудь страничку с парой роутов".
    Добавьте в него 1к записей у каждой записи по 1к комментариев
    Из комментария можно перейти в карточку пользователя (кто написал комментарий).
    В карточке пользователя можно посмотреть все его комментарии.
    Из комментариев пользователя можно попасть на страницу todo листа, где этот комментарий написан
    не обязательно базу заводить, можно данные положить в каком-нибудь json файле - это не суть важна

    п.с. 1к записей\комментариев - условные - в надежде, что вы не сможете вывести их все разом на страницу, потому что страница будет тормозить, что конечно же нельзя допускать

    придумывать идею какого-то проекта, ... так это будет так же как вы и написали:
    вам дали проект, но он для вас сложный.
    вам Не нужен "тяжелый проект", вам нужен Лёгкий проект в котором можно без проблемно потренироваться выстраивать архитектуру приложения. И так же без проблемно менять архитектуру, если предыдущая вам показалась неудобной.
    ещё вот тут ссылок накидали: Что почитать по архитектуре Vue-приложения?
    Ответ написан
    1 комментарий
  • Почему Node+Redis сервер не видит ивенты вызываемые Laravel (5.7)?

    Alex_Wells
    @Alex_Wells
    PHP/Kotlin
    1) проверьте, не закеширован ли конфиг. Сделайте php artisan config:clear
    2) "Ивенты почему-то обрабатываются только через слушателя" - потому что используете интерфейс ShouldBroadcast а не ShouldBroadcastNow. В вашем случае ивенты сначала попадают в очередь, а потом она их раскидывает.
    Ответ написан
    Комментировать
  • Какую выбрать логику в рассылке сообщений клиенту через сокеты в Laravel?

    Alex_Wells
    @Alex_Wells
    PHP/Kotlin
    Ну я херачу в одном проекте каждые 15мс. Конечно, приходит не каждые 15мс, но очень живенько работает. Со стороны ПХП нагрузки нет, а дальше - дело сокет-сервера.

    Раз в секунду для сокет сервера это ни о чем. Да даже если сто раз в секунду отсылать десятке тысяч клиентов - похер, это уже задача сокет-серверов и это очень легко скейлится.
    Ответ написан
    2 комментария
  • Обьясните логику работы auth на примере nuxt auth?

    1. Запрос /api/login/ ожидает в ответ токен пользователя. Как из ответа выбрать токен - указывается в настроках auth. Т.е. сервер получает логин и пароль, проверяет. Если они верны - выбирает из базы токен этого пользователя и возвращает его.
    2. После получения nuxt'ом токена он сохраняется в localStorage и, вроде, дублируется в кукис
    3. Этот токен потом надо при каждом запросе добавлять в заголовок и проверять на сервере
    4. /api/user/ запрашивается после токена и в ответ надо дать профиль пользователя
    5. Если профиль получен, он сохраняется в store и для пользователя устанавливается переменная loggedIn на true
    6. Всё, пользователь залогинен
    Ответ написан
    1 комментарий
  • Как правильно использовать laravel-echo-server для cross domain?

    @zagamay_ru Автор вопроса
    Решилась проблема

    new Echo({
        broadcaster: 'socket.io',
        host: window.location.hostname + ':6001',
        transports: ['websocket', 'polling', 'flashsocket'],
        auth: {
          headers: {
            Authorization: `Bearer ${token}`
          }
        }
      });

    transports: ['websocket', 'polling', 'flashsocket']
    Но щас Client can not be authenticated, got HTTP status 419 но думаю это уже решится)
    Ответ написан
    1 комментарий
  • Зачем нужен Broadcasting в Laravel?

    @andreysuha
    Что то знаю
    Если использовать laravel echo server, то под капотом все равно используется node.js. на счёт Broadcasting то что можно использовать node это хорошо но если Вам нужно будет передать сообщение из laravel приложения на клиент что будете делать? Тут и нужено широковещание.
    Ответ написан
    Комментировать
  • Какую использовать базу для хранения строки?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    influxdb, это одна из timeseries баз данных.
    Но предполагается, что хранить будете не строки, а числа.
    Ответ написан
    Комментировать
  • Какую использовать базу для хранения строки?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Если это график от времени то что-нибудь из timeseries
    Ответ написан
    Комментировать
  • Можно ли в php приложении использовать socket.io и с какими проблемами можно столкнуться в моём случае?

    Могу ли я использовать в качестве бекенда php и node.js одновременно

    Да, вы можете засунуть оба бекенда за nginx и проксировать в зависимости от URL.

    Например, запросы, начинающиеся на /api или / обрабатывть на PHP, а те, которые начинаются на /socket обрабатывать в node.js приложении.

    Погуглите на тему nginx proxy_pass
    Ответ написан
    Комментировать
  • Можно ли в php приложении использовать socket.io и с какими проблемами можно столкнуться в моём случае?

    GreyCrew
    @GreyCrew
    Full-stack developer
    В php приложении на бэке вы не сможете запускать js код, покуда это php.
    Вы можете рядышком запустить node приложение и через базу объединить их.
    Судя по вопросу с проблемами вы столкнетесь, с самыми разными.
    Ответ написан
    5 комментариев
  • Как организовать отображение данных в реальном времени?

    TTATPuOT
    @TTATPuOT
    https://code.patriotovsky.ru/
    1) На сервере каждые N-секунд делаете запрос к удалённому API. Получаете данные, сохраняете у себе в БД.
    2) При заходе на страницу отдаёте сохранённые данные из БД, а так же подключаете клиента к WebSocket'у. Проще всего по средствам модуля socket.io.
    3) После каждого обновления из стороннего API отправляете данные по клиентам, которые подключены к сокету.
    Ответ написан
    2 комментария
  • Как организовать отображение данных в реальном времени?

    можете применить setInterval и в нем вызов к апи, примерно так:
    const timerId = setInterval(() => loadFromAPI(), 1000)
    Ответ написан
    2 комментария
  • Почему на опенсервере работает путь к файлу, а на хостинге нет?

    SagePtr
    @SagePtr
    Еда - это святое
    1) Имена файлов в linux чувствительны к регистру, а в Windows - нечувствительны
    2) Если путь содержит кириллицу или другие не-ASCII символы, то они могут быть тупо не в той кодировке, что в винде.
    Ответ написан
    Комментировать
  • Как организовать просмотр файлов с другого сервера, как если бы они хранились в директории сайта?

    @desbiger
    разработчик
    Вариантов масса. С ходу приходит в голову проксирование на уровне nginx. Если на удаленном сервере поднять nginx а на основном прописать путь к нему в конфиге например на location *.htmp

    вот пример
    Ответ написан
    Комментировать
  • Выбор между Битрикс и Drupal

    kotomyava
    @kotomyava
    Системный администратор
    1. Есть — www.gnu.org/licenses/old-licenses/gpl-2.0.html, естественно это не та лицензия, которую надо продавать. =)
    2. Действительно толковой интеграции с 1С нет ни в Drupal, ни в Bitrix.
    3. Нет, но в таком виде он и не особо нужен — пилить готовое решение до того состояния, которое необходимо клиенту часто более трудоёмкий процесс, чем создать его из блоков, особенно если есть свои заготовки. Drupal очень гибкая и модульная система, а чтобы не повторять свои решения, можно делать и развёртывать заготовки с помощью features. Это, например, может быть готовый раздел новостей, или другая крупная часть функционала. Есть и различные сборки, но у такого подхода есть минусы — во-первых они практически никогда не совпадают по функционалу с ТЗ конкретного клиента, во-вторых вы не участвуете в развитии и обновлении, с и в один прекрасный момент это может выйти боком…
    4. В случае Drupal тут всё зависит от вас, как разработчика — админка Drupal темизируется и настраивается не хуже фронтэнда. Можно сделать в точности соответствующей нуждам клиента, можно очень неудобно, можно оставить как есть.
    5. Требования к хостингу сопоставимы — и тому и другому нужен хороший хостинг. Bitrix из-за общей прожорливости, Drupal из-за любви к оперативке, и большого количества запросов к БД, которые на хреновых хостингах часто просто лимитируются.

    Разрабатывать под Drupal проще, особенно, если делать что-то не стандартное. Ситуация с этим в Bitrix та же, что вы описывали для UMI.
    У Drupal нет мощного маркетинга, поэтому найти заказчика и продать ему сайт на Bitrix проще. И это может быть критичным плюсом, который перевесит все проблемы разработки.
    Собственно именно на этом маркетинге Bitrix и выезжает — внутри откровенная гниль.
    Ответ написан
    2 комментария
  • Как получить геоданные на Drupal 8, на примере mapbox api?

    andead
    @andead
    друпал девелопер, фрилансер
    $response = file_get_contents('https://api.mapbox.com/geocoding/v5/mapbox.places/starbucks.json?bbox=-77.083056,38.908611,-76.997778,38.959167&access_token=pk.eyJ1Ijoic2Vta2kwOTYiLCJhIjoiY2swMHhlNXNrMDg4eTNpbGN6MmFxaDZsaiJ9.rSaH9H66GaW5QEd_mqPzHQ');
    Ответ написан
    1 комментарий
  • Выбор между Битрикс и Drupal

    @mrsanders
    Работаю в Nelset interactive
    Ответы на вопросы:
    1. У Drupal нет лицении, он полностью бесплатный, клиенту отдельно навязывать нечего не нужно.
    2. Из коробки готовых решений для интеграции с 1с нет, но возможно кто-то уже сделал модуль на Drupal.org.
    3. Из своего опыта скажу что лучше делать сборки самостоятельно!
    4. Не все дешевые хостинги поддерживают конфигурацию для запуска Drupal8

    Готовых решений из коробки в Drupal нет, но лично я попробовал все DLE, Joomla, Bitrix, WP, livestreet, и из всех известных CMS мой личный выбор это Drupal! Он не так просто в освоении как кажется, но если вы настоящий PHP разработчик то написать несколько модулей интеграции к 1с не составит труда. Можно долго спорить, что лучше, но мой совет пробовать обе и выбирать что больше понравится лично Вам.
    Ответ написан
    Комментировать
  • Можно ли потягаться с сайтами гигантами в своей узкой нише?

    @W13
    В рекламе вполне можете потягаться, но нужно анализировать ситуацию.
    Крупные сервисы обычно собирают трафик по большим запросам, т.к. у них много контента по тематике, в конкурентной рекламе они довольно редко встречаются, им же надо привлечь как можно больше целевого трафика по низкой цене. А конкурентные запросы очень недёшевы.
    Что касается вопроса бюджетов - вам же не обязательно идти в лобовую атаку, используйте фланговые методы. SEO продвижение по низкочастотке, реклама по недорогим целевым запросам. Используйте эти же площадки для создания представительства компании, где есть такая возможность + тематические форумы, агрегаторы.
    На самом деле, не совсем корректно с ними бороться, они по сути своей тоже для вас полезный ресурс, который можно использовать.
    Ответ написан
    Комментировать