• Как разделить работу сервера и клиента с точки зрения безопасности?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js
    Считайте и на сервере и на клиенте, чтобы постоянно не гонять между ними результаты, но иногда сравнивайте. Если клиент не делает запросы на сравнение, но другие запросы делает, или его данные отличаются от серверных, то он читер - блокируйте. Нода не очень хороша в долгих расчетах, но если формула очень простая, и вам не нужно просчитывать миры с точностью до пылинки, то проблемы не будет. Для клиент-серверного взаимодействия используйте websocket (двусторонний обмен) и Server-sent Events (односторонняя трансляция серверных событий на клиента, но много проще в реализации и надежности). При обмене клиента и сервера добавьте немного криптографии, например, постоянно изменяющийся код, которым подписывается каждое сообщение при обмене между клиентом и сервером. Код может зависеть от порядкового номера сообщения (синхронные счетчики должны быть у клиента и сервера), от предыдущего сгенерированного случайного числа, присланного сервером, от шага в игре, и этот код можно примешивать к контрольной сумме сообщения, приходящего с клиента (это чтобы было сложно написать эмулятор, прикидывающийся клиентом).
    Ответ написан
    Комментировать
  • Как разрабатывать калькуляторы, считающие такие выражения, как 2+4*(4-3)?

    @Codebaker
    Всё умею, всё могу!
    Удивляюсь комментариям! Как это не встречали литературы, если есть фундаментальные труды на эту тему. Кроме того на Хабре полно топиков (даю три первых, по тегам можно раскрутить все остальные):
    habrahabr.ru/post/140058
    habrahabr.ru/post/108062
    habrahabr.ru/post/133780
    Ответ написан
    Комментировать
  • Как разрабатывать калькуляторы, считающие такие выражения, как 2+4*(4-3)?

    @AMurkin
    вот же habrahabr.ru/post/100869 на хабре даже есть
    Ответ написан
    Комментировать
  • Как разрабатывать калькуляторы, считающие такие выражения, как 2+4*(4-3)?

    difiso
    @difiso
    В параллельной вселенной я космонавт
    Если вы пишите калькулятор, т.е. на входе именно выражение для счета, то лучше трансформировать выражение в обратную/прямую польскую нотацию. алгоритмов полно на разных языках, плюс при переводе сразу проверяется корректность выражения.
    Ответ написан
    Комментировать
  • Как загружать в облако от mail.ru файлы порядка 50гб?

    В Облаке существуют следующие ограничения:
    Максимальная длина пути к файлу (включает в себя путь к папке + имя файла) — 1024 символов UTF-8;
    Максимальная длина имени папки — 255 символов UTF-8;
    Максимальная длина имени файла — 255 символов UTF-8;
    В названиях папок и файлов можно использовать: любые латинские символы (a-z, A-Z), любые цифры, а так же специальные символы, кроме " * / : < > ? |.
    Максимальный размер файла, загружаемого через приложение — 32Гб;
    Максимальный размер файла, загружаемого через веб-версию Облака — 2Гб.

    Ответ написан
    Комментировать