小编Non*_*714的帖子

TypeError:firebase.storage不是函数

按照这个例子,我不断收到错误:

 TypeError: firebase.storage is not a function
Run Code Online (Sandbox Code Playgroud)

从我的代码中的这一行:

var storageRef = firebase.storage().ref();
Run Code Online (Sandbox Code Playgroud)

(当我只是尝试从存储指南初始化存储时,从firebase的npm站点链接,我得到同样的错误.)

在我的Node.js项目中,我包括以下库:

  • const firebase = require('firebase');
  • var admin = require('firebase-admin');
  • const fs = require('fs');

到目前为止,我已经成功地读取并写入了firebase数据库,创建了对数据库的引用var db = admin.database(),然后var ref = db.ref("/")......所以我知道我已经正确配置了Firebase和firebase-database.但是我卡上storage,并试图既admin.storage().ref()firebase.storage().ref(),并firebase.storage().ref("/")用相同的错误消息.

我也尝试过:

var storage = firbase.storage();
var storageRef = storage.ref();
Run Code Online (Sandbox Code Playgroud)

const app = firebase.initializeApp(config);
var storage = app.storage();
Run Code Online (Sandbox Code Playgroud)

ref()'s无效的论点()"/"...但有相同的信息,但无济于事.

我正在使用:

  • "firebase":"^ 3.6.4"
  • "firebase-admin":"^ …

javascript node.js firebase firebase-storage

38
推荐指数
6
解决办法
3万
查看次数

如何在macOS上更新npm

由于我不知道的原因,我无法在macOS上更新到最新版本的npm(它在Windows上运行正常).它没有显示错误,只显示"更新的1个包".

使用Node.js 8.11.1

node -v
v8.11.1
Run Code Online (Sandbox Code Playgroud)

我有什么版本的npm?

$ npm -v
5.6.0
Run Code Online (Sandbox Code Playgroud)

我试过这个......

$ npm i -g npm
+ npm@5.8.0
updated 1 package in 7.37s
Run Code Online (Sandbox Code Playgroud)

它无法更新.

$ npm -v
5.6.0
Run Code Online (Sandbox Code Playgroud)

npm在哪里?

$ which npm
/usr/local/bin/npm
Run Code Online (Sandbox Code Playgroud)

所以我试试brew......

brew install npm
Run Code Online (Sandbox Code Playgroud)

它失败了......

$ npm -v
5.6.0
Run Code Online (Sandbox Code Playgroud)

*然后我尝试了这个......*

npm install npm@latest -g
+ npm@5.8.0
updated 1 package in 7.618s
Run Code Online (Sandbox Code Playgroud)

它失败了......

npm -v
5.6.0
Run Code Online (Sandbox Code Playgroud)

sudo:

sudo npm i -g npm
+ npm@5.8.0
updated 1 package in 7.794s
Run Code Online (Sandbox Code Playgroud)

它失败了......

npm -v …
Run Code Online (Sandbox Code Playgroud)

macos npm

32
推荐指数
7
解决办法
4万
查看次数

有没有办法在Android工作室中标记TODO完整?

我正试图在Android工作室跟踪TODO.

有没有办法将它们标记为"完整"而不是简单地删除它们?

java android intellij-idea todo android-studio

21
推荐指数
3
解决办法
6354
查看次数

Arduino是否完全支持C++标准库?

没有询问有关<string>标准库的整体用于微控制器.

我还没有拥有一个Arduino板来执行代码,正如标题所说,我很好奇是否在Arduino上完全支持C++标准库并且已经是Arduino IDE的一部分.毫无疑问,标准库可能是最有效,经过充分测试和资源最少的公开可用的C++代码,并且可以让像Arduino这样的微控制器的代码更容易生活.

或者,我是否错过了Arduino /微控制器的观点?那,因为他们的资源是如此有限,大多数代码必须完全针对特定功能,而不是通用或模板化?

如果标准库不是Arduino IDE的一部分,那么我如何包含特定的库,如<algorithm><bitset>

c++ arduino c++-standard-library

8
推荐指数
1
解决办法
8990
查看次数

Rust的借位检查员在这里真正抱怨什么?

考虑对一个简单的选择排序&mut Vec<&mut String>

fn selection_sort(collection: &mut Vec<&mut String>) {
    for i in 0..collection.len() {
        let mut least_element = i;
        for j in (i + 1)..collection.len() {
            if collection[j] < collection[least_element] {
                least_element = j;
            }
        }

        collection.swap(least_element, i);
    }
}
Run Code Online (Sandbox Code Playgroud)

这个循环应该工作的基础上,这个那个 -但借引发此错误:

fn selection_sort(collection: &mut Vec<&mut String>) {
    for i in 0..collection.len() {
        let mut least_element = i;
        for j in (i + 1)..collection.len() {
            if collection[j] < collection[least_element] {
                least_element = j;
            }
        } …
Run Code Online (Sandbox Code Playgroud)

rust borrow-checker

8
推荐指数
1
解决办法
138
查看次数

C++为什么当100%看起来匹配时出现错误"无匹配功能"?

我不明白为什么我收到一个错误,指出我的函数与我定义的模板函数不匹配.对我来说,它们看起来完全一样.这是我的调试中的错误:

error: no matching function for call to 'mergesort' newVec = mergesort(vec.begin(),vec.end());

所以我可以学习和编写更好的通用函数和模板,我需要更改什么才能使错误消失?(为了清楚起见,我不是要求我的mergesort算法帮助 - 我知道它有问题,但我会解决它们.)

#include <iostream>
#include <vector>

using namespace std;

template <typename T>
vector<T> mergesort(typename vector<T>::iterator, typename vector<T>::iterator);

int main() {
    vector<int> vec{ 50, 5, 40, 10, 30, 15, 20, 20, 10, 25 };
    vector<int> newVec;

    newVec = mergesort(vec.begin(),vec.end()); //Doesn't match???

    cout << "before:";
    for (auto x : vec) cout << x << ' '; cout << '\n';
    cout << "after :";
    for (auto x : …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm templates generic-programming c++11

4
推荐指数
1
解决办法
615
查看次数

如何在 Typescript 中实例化 File 对象?

我看到我的 IDE 识别File为 Typescript 对象。在 Google 中进行精细搜索将我带到此页面该页面File对象无关。File既不是基本类型也不是高级类型

FileTypescript 中的对象是否与 Javascript 中的对象处理方式完全相同?是否存在重大差异?

同样,如何在 Typescript 中实例化 File 类型?

initialization file typescript

4
推荐指数
1
解决办法
7725
查看次数

比较不同类型的C++ for循环

C++非常灵活,我想更深入地理解for循环操作.我希望能够很好地比较每个实现以及更好/更快/更高效的实现.另外,学习实现for循环的其他方法也是一种好处 - 而不一定是STL中的某些东西.

我正在寻找专家的答案,而不是意见.请注意我对答案的许多限制:答案仅涉及所提到的特定for循环,它们的局限性(可能不直观),STL中没有的具体替代方案以及特定的增强.

这些其他for循环(不是"传统")如何以不同/更好的方式工作?

其他"非传统"for-loops有哪些局限性?

示例1)传统的for循环是:

for(int i=0;i<SIZE;i++){
    //do something for each iteration;
}
Run Code Online (Sandbox Code Playgroud)

例2)现在让我说我有一个得分矢量.

vector<int> scores = {77,91,100,88,85,68,95};

for (auto it = scores.begin(); it != scores.end(); ++it){
    //do something for each iteration;
}
Run Code Online (Sandbox Code Playgroud)

例3)相同的得分矢量,不同的循环.

for (auto& x: scores) //do something for each iteration;
Run Code Online (Sandbox Code Playgroud)

我对示例3特别感兴趣,因为它很简单,我不确定它实际上在做什么,但功能与其他两个相同.

c++ iterator for-loop c++11

3
推荐指数
2
解决办法
2868
查看次数

如何在Firebase值事件上设置监听器?

如何使用Node.js正确设置Firebase的值事件监听器?

我正在阅读Firebase的文档,并且已成功地从我的Mac和我同时运行的Raspberry Pi连接到同一Firebase数据库的Firebase数据库上更新表格和行 ; 但是,我无法理解我需要对此段做什么才能在值事件上创建一个侦听器:

var starCountRef = firebase.database().ref('posts/' + postId + '/starCount');
starCountRef.on('value', function(snapshot) {
    updateStarCount(postElement, snapshot.val());
});
Run Code Online (Sandbox Code Playgroud)

这是显而易见的,我认为我需要以某种方式需要定义postElement基础上,输出:

FIREBASE WARNING: Exception was thrown by user callback. ReferenceError: postElement is not defined
Run Code Online (Sandbox Code Playgroud)

但是,我不知道postElement应该是什么,也不知道如何定义它.救命!

我做了一个非常小的程序和表来简单地更新/更改值.我改变了程序,当它改变了一行时我可以看到控制台输出.

这是我的小型用户数据变量,因此您现在尝试更改的数据很少:

var user = {
    id:Number,
    name:String,
    number:Number
};

var users = [user];
Run Code Online (Sandbox Code Playgroud)

这是我对文档代码的更改,因此我可以在Node.js运行时在控制台输出中看到一些内容:

var userRef = firebase.database().ref('/users/user' + users[0].id);
userRef.on('value', function(snapshot){
    firebase.app.updateUserInfo(postElement, snapshot.val());
    console.log('Users' + users[0].name + ' changed.');//<- this is the line …
Run Code Online (Sandbox Code Playgroud)

javascript node.js raspberry-pi firebase firebase-realtime-database

3
推荐指数
1
解决办法
7818
查看次数

为什么不存在<<<?

>>> 在Javascript中有一个,但没有<<<...为什么?

(事实上​​,我不确定任何语言都基于评论.)

javascript bitwise-operators

3
推荐指数
1
解决办法
51
查看次数

如何像在 Python 中一样在 Google Apps 脚本中对字符串进行切片?

我正在尝试制作一个 Google 表格,该表格可以为大型团队在访问时使用其 Gmail 地址自动打开指定的表格。如何在 Apps 脚本中对字符串进行切片?第三行的“email.slice”只是我作为占位符编写的。

function onOpen() {
    var email = Session.getActiveUser().getEmail();
    var username = email.slice[0:-9];
    var ss= SpreadsheetApp.openById(username);
    SpreadsheetApp.setActiveSpreadsheet(ss);
}
Run Code Online (Sandbox Code Playgroud)

javascript string google-apps-script

2
推荐指数
1
解决办法
3万
查看次数

是不是保护载体不受限制?

我看到了这个问题,并注意到一条评论说:

也许你在其中一个向量上走出界限?

我不要求有关索引[]哪个是出界,这显然是出界的一个元素.从我所知道的,这不是OP所做的.(我可能完全错了.)我没有听说过任何其他与出境有关的案例std::vector.

我被教导使用时矢量被保护免受越界限制.push_back(/*data*/).由于评论员的声誉很高,我的评论来自于知识的深度.该问题中的OP使用.push_back(),再次,我认为这是一个std::vector成员函数,不受出界限制.

std::vector在这方面我是否应该了解一些比C++更专业的人可以解释的东西?

c++ stl vector c++11

2
推荐指数
1
解决办法
941
查看次数

多线程硬币投掷实验

预备要点:我需要做什么改变才能在我的记录中显示正确的头/尾值?

编辑1:一旦有超过1个线程,Record内部的整数数组似乎会填充随机值.

我一直试图调试这几天了.我的代码已完成并完全执行.(众所周知,我是一名学生而不是假装成为一名专业程序员.)

在我的多线程硬币投掷程序中,我试图捕获每个线程中出现头或尾的次数.我正在翻硬币总共100,000,000次.(一亿.)

记录类中数组中的元素没有正确累积.我知道我不需要使用互斥锁,因为每个线程都访问一个独特的线程内存位置.但是线程正在更新错误的值,这不应该发生.

以下是我的调试示例.

  1. 单线程(注意正确的头/尾数量):

单线程的调试输出.

  1. 两个线程(现在头/尾计数只是疯了.):

调试两个线程的输出.

下面是完全可执行的代码示例,然后是示例输出.此外,这里还链接到Github上的完整代码:

#include <iostream>
#include <thread>
#include <vector>
#include <mutex>
#include <random>
#include <algorithm>
#include <time.h>
#include <strstream>
#include <random>


using namespace std;

default_random_engine dre;
uniform_int_distribution<int> Tosser(0,1);

struct Record {
    Record();
    ~Record();
    int numThreads;
    int *heads;
    int *tails;
    time_t startTime;
    time_t stopTime;
    time_t duration;
    int timesToToss;
};

Record::Record(): numThreads(0), heads(NULL), tails(NULL), startTime(NULL), stopTime(NULL), timesToToss(0){}
Record::~Record() {
    startTime = NULL;
    stopTime = NULL;
    duration = NULL;
    timesToToss = NULL;
    delete [] heads; …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading pointers dereference dynamic-allocation

-1
推荐指数
1
解决办法
344
查看次数