.php загружается, а не загружает его на веб-хостинг firebase [дубликат]

Некоторые статистические данные, связанные с этим известным вопросом с двойной точностью.

При добавлении всех значений ( a + b ) с шагом 0,1 (от 0,1 до 100) имеем ~ 15% вероятность ошибки точности. Обратите внимание, что ошибка может привести к несколько большим или меньшим значениям. Вот несколько примеров:

0.1 + 0.2 = 0.30000000000000004 (BIGGER)
0.1 + 0.7 = 0.7999999999999999 (SMALLER)
...
1.7 + 1.9 = 3.5999999999999996 (SMALLER)
1.7 + 2.2 = 3.9000000000000004 (BIGGER)
...
3.2 + 3.6 = 6.800000000000001 (BIGGER)
3.2 + 4.4 = 7.6000000000000005 (BIGGER)

При вычитании всех значений ( a - b , где a> b ) с шагом 0,1 (от 100 до 0,1), мы имеем вероятность 34% точности. Вот несколько примеров:

0.6 - 0.2 = 0.39999999999999997 (SMALLER)
0.5 - 0.4 = 0.09999999999999998 (SMALLER)
...
2.1 - 0.2 = 1.9000000000000001 (BIGGER)
2.0 - 1.9 = 0.10000000000000009 (BIGGER)
...
100 - 99.9 = 0.09999999999999432 (SMALLER)
100 - 99.8 = 0.20000000000000284 (BIGGER)

* 15% и 34% действительно огромны, поэтому всегда используйте BigDecimal, когда точность имеет большое значение. С 2 десятичными цифрами (шаг 0,01) ситуация несколько ухудшается (18% и 36%).

8
задан Richard Ansell 20 February 2016 в 14:18
поделиться

4 ответа

С сайта Firebase Hosting (выделено мной):

Мы передаем весь ваш статический контент (html, js, images и т. д.) поверх безопасного SSL и обслуживать его на CDN.

Firebase Hosting предназначен для размещения статических активов. Firebase в настоящее время не предлагает никакого способа выполнить ваш код на серверах Firebase.

Update (2018-08-08): вы можете запустить Node.js / код JavaScript bu , соединяющий ваш проект Firebase Hosting с облачными функциями + хостинг Firebase . Но это все еще не позволит вам запускать PHP-код.

16
ответ дан Frank van Puffelen 3 September 2018 в 13:57
поделиться

Вы можете играть с любым из них: Угловой, Ember, Knockout, React, Node JS. То же самое, что вы, PHP-код, вы можете совершить с практически любыми технологиями Javascript - просто нет динамического языка. Другой способ сделать это - использовать онлайн-провайдеры, такие как Jot Forms или другие. Вы можете создать и стилизовать форму с помощью онлайн-формы, а затем просто добавить ее на свой сайт. Затем, когда пользователь отправит сообщение, он отправит его в форму. В результате у вас есть централизованная среда не только для вашего текущего сайта, но и для любых других людей в будущем. Вы можете создать веб-сервис и опубликовать значения там - тогда сделайте все, что вы хотите с ними: сохраните их в базе данных ... В других словах есть еще один сервер, который обрабатывает все эти вещи, поэтому вы можете просто вызвать его с размещенных сайтов Firebase. Надеюсь, что это поможет

PS: В настоящее время я создаю продукт, который является упрощенной версией онлайн-форм, которые будут использоваться на сайтах Firebase. На данный момент я планирую использовать несколько человек, поэтому, если вы хотите, чтобы вы могли написать мне по электронной почте, и я создам учетную запись, чтобы вы ее использовали. До тех пор, пока не будет никакого злоупотребления, такого как отправка кучу писем - все будет хорошо!

1
ответ дан Alexey Shevelyov 3 September 2018 в 13:57
поделиться

Для сценариев на стороне сервера нет PHP, но nodeJS ...

Облачные функции Google написаны на JavaScript и выполняются в runtime времени Node.js.

Mandrill также поддерживает узел JS и имеет API-интерфейс Webhooks API . Поэтому можно потребовать, чтобы модуль узла в этих «облачных функциях» и «веб-крючках» ... и затем отправлял с ними HTML-форму.

Там должно быть несколько HTTP облачных функций, определенных в Firebase Console, чтобы позволить им подписываться, отписываться и управлять своими подписками. Можно даже создать разметку HTML для входной формы с облачными функциями, а затем прикрепить ее. В качестве примера не проверены и не включены никакие гарантии:

const functions = require('firebase-functions');
const mandrill = require('mandrill-api/mandrill');
var client = new mandrill.Mandrill('YOUR_API_KEY');

/* TODO: add the user on Firebase, respond through the API */
exports.user_add = functions.https.onRequest((req, res) => {

});

/* TODO: change subscription settings on Firebase, respond through the API */
exports.user_edit = functions.https.onRequest((req, res) => {

});

/* TODO: remove the user on Firebase, respond through the API */
exports.user_remove = functions.https.onRequest((req, res) => {

});

/* optional: generate the HTML markup of the form, send HTTP response */
exports.markup = functions.https.onRequest((req, res) => {

});

Можно связать события Firebase Auth , чтобы сохранить две пользовательские базы данных в синхронной (это не требуемый для Mandrill, но требуемый для MailChimp - независимо от того, использует ли он оболочку PHP или nodeJS):

exports.on_user_create = functions.auth.user().onCreate(event => {
   const user = event.data;
});

exports.on_user_delete = functions.auth.user().onDelete(event => {
   const user = event.data;
});

Firebase on Websites объясняет это, в то время как есть локальная Эмулятор для функций облака.

2
ответ дан Martin Zeitler 3 September 2018 в 13:57
поделиться

В соответствии с последним обновлением firebase начала использовать функции Cloud

. Облачные функции для Firebase позволяют запускать код мобильного бэкэнд, который автоматически реагирует на события, вызванные функциями Firebase и HTTPS-запросами. Ваш код хранится в облаке Google и работает в управляемой среде. Нет необходимости управлять и масштабировать собственные серверы.

Подробнее: https://firebase.google.com/docs/functions/

2
ответ дан Yadavalli Santosh 3 September 2018 в 13:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: