• Как лучше производить синхронизацию с сервером при нестабильном интернете?

    @rPman
    Нестабильный интернет бывает разным, но в общем случае решается прослойкой между клиентами и базой данных (обычное дело, да и ради повышения безопасности, в мир базу данных не открывают), время сейчас такое что наилучшее решение - http/https. В этом случае база данных может быть абсолютно любой, хоть текстовый лог хоть oracle.

    При этом, если используется прослойка, вы можете организовывать репликацию и синхранизацию с несколькими вашими серверами самостоятельно, иногда это даже удобнее и проще чем городить штатную репликацию баз данных, особенно если интернет нестабильный. Т.е. при получении данных от устройств вы отправляете два/много запросов на ваши сервера (асинхронно само собой) и ждете отведенный таймаут (по которому отключаете сбойный сервер из списка и выдаете алерт) после чего отвечаете ок. При возврате в строй сервера, на него заливаются данные с рабочих (лог или поле со временем, если данные не удаляются).
    Ответ написан
    Комментировать
  • Как лучше производить синхронизацию с сервером при нестабильном интернете?

    Apache CouchDB позволяет автоматически синхронизировать между локальными инстансами у клиентов и инстансом сервера. Также позволяет работать в режиме оффлайн между сеансам обмена.

    UPD
    После получения дополнительной информации могу предложить другое решение.
    На сервере хранить дату последнего сеанса синхронизации клиента.
    Клиент должен хранить у себя таблицу с данными в колонках:
    Дата, значение, айди клиента, айди параметра из конфигурации

    Как только по таймеру пришло время отправлять данные, проверяем накопились ли данные в таблице. Выбираем X первых записей (допустим, 1000) и асинхронно пробуем отправить их на сервер. Если успешно, то удаляем из таблицы записи с выбранными ID. Если нет, то при следующей попытке согласно работе таймера отправляем данные с накопившимися изменениями.
    В другом потоке, как только появились новые данные от датчиков, выполняем INSERT в таблицу.
    Ответ написан
    Комментировать
  • Настройка окружения для front end?

    devellopah
    @devellopah
    установи yeoman командой npm install -g yo
    установи webapp-generator (сгенерирует дефолтный шаблон для будущего сайта) командой npm install -g webapp-generator
    установи gulp-cli и bower командой npm install -g gulp-cli bower

    и наконец командаyo webapp чтобы поднять каркас

    Вообщем всё это объясняется на самом сайте yeoman.io

    UPDATE: поскольку этот вопрос очень многих заинтересовал, я написал простой стартер для вёрстки с pug.
    вкратце: под капотом проект, который скаффолдит webapp-generator, только приспособленный для работы с pug, убрана папка тестов, добавлен gulp-uncss(чтобы отрезать неиспользумемые стили фреймворка) и почищен gulpfile.js
    Вобщем форкайте, лайкайте, пулл-реквестите(если хотите)
    Ответ написан
    1 комментарий
  • Настройка окружения для front end?

    @Worddoc
    Frontend explorer
    Понимаю твою проблему. Недавно завершил сборку своего окружения, держи, глядишь понравится:
    https://github.com/web-worddoc/primary (Старая сборка)

    https://github.com/web-worddoc/Boilerplate (Новая сборка)

    html разбит на модули с помощью pug(бывший jade), а именно с помощью встроенных "include"
    css разбит на модули и собирается на sass
    js разбит на модули с помощью require js(очень сильно не дробил, мне удобнее пока крупными кусками), что особенно удобно, если хочется избавиться от спагетти кода

    Сборка сама на gulp, стоит через консоль вбить gulp watch и начать писать код.
    Надеюсь поможет)

    P.S. Для самой сборки проекта в продакшн, прописываешь gulp build.
    Ответ написан
    9 комментариев
  • Что написать для портфолио?

    abs0lut
    @abs0lut
    Сам нахожусь в аналогичной ситуации. Полгода назад прочесывал гугл в поисках "проектов для практики". Искал с уклоном в Java, но думаю адаптировать - не проблема.

    Дабы не засорять ответ здесь, вот ссылка на pastebin.
    Прошу прощения за оформление, ибо собиралось долго и по кускам. Надеюсь, будет полезно.
    Ответ написан
    2 комментария