小编zin*_*ino的帖子

Firestore脱机数据:合并写入,脱机持久性的最长时间

https://firebase.google.com/docs/firestore/manage-data/enable-offline

Firestore如何处理离线数据?

  1. 多个客户端如何合并写入离线编辑相同数据的写入,然后同时联机?

  2. 离线数据持续多长时间?如果我的用户离线使用我的应用程序5年,然后重新上线,这是一个问题吗?设备重启后,离线更改是否仍然存在?

  3. 随着数据集变大,离线数据的查询性能是否会降低?

我特别感兴趣的是网络Firestore客户端.

所有语言客户端都以同样的方式实现上述功能吗?

谢谢.

firebase google-cloud-firestore

16
推荐指数
1
解决办法
3466
查看次数

使用SHA1的前8个字符时有重复哈希的可能性

如果我有一个URL索引,并通过SHA1哈希的前8个字符对它们进行ID,那么两个不同URL具有相同ID的概率是多少?

math sha1 probability hash-collision

10
推荐指数
1
解决办法
4367
查看次数

如何在 Google App Engine 节点、标准环境中使用私有的、自托管的 NPM 包

我有一个 NPM 包托管在私有 Bitbucket git 存储库(不在官方 NPM 注册表中)。

我在 package.json 中的“dependencies”键下有这个:

"a-private-package" git+ssh://git@bitbucket.org:myusername/a-private-package.git
Run Code Online (Sandbox Code Playgroud)

当我npm install使用 SSH 密钥在本地运行时,它可以工作。

但是当我用于gcloud app deploy部署到 node 的应用引擎标准环境时,我Host key verification failed从 Google Cloud Build得到了一个。

我试过了:

将自定义 SSH 密钥添加到 Cloud Build。

https://cloud.google.com/cloud-build/docs/access-private-github-repos

问题:无法访问cloudbuild.yamlGAE 标准;不能告诉 git 使用 SSH 密钥。

将我的私人 git 存储库添加到 Google Sources。

问题:无法访问cloudbuild.yamlGAE 标准;不能告诉 git 使用 SSH 密钥。

npm pack; npm install

问题:不保留回购历史/URL。

真的有可能吗?

google-app-engine npm google-appengine-node google-cloud-build

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

在Golang中使用嵌套JSON结构的最佳方法是什么?

我喜欢在Golang中使用JSON,特别是弹性搜索JSON协议.

JSON是深层嵌套的(这是一个简单的查询):

{
    "query": {
        "filtered": {
            "query": {
                "match_all": {}
            },
            "filter": {
                "and": [
                    {
                        "range" : {
                            "b" : { 
                                "from" : 4, 
                                "to" : "8"
                            }
                        },
                    },
                    {
                        "term": {
                            "a": "john"
                        }
                    }
                ]
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

此结构可轻松映射到Ruby中的本机数据结构.

但是对于Golang,似乎你必须使用结构定义确切的结构(可能是从JSON源以编程方式生成它们).

即便如此,JS中不同"类型"对象的数组也需要解决方法和自定义代码.例如,示例JSON中的"和"键.(http://mattyjwilliams.blogspot.co.uk/2013/01/using-go-to-unmarshal-json-lists-with.html).

有没有更好的方法在Golang中使用JSON?

json go

7
推荐指数
2
解决办法
9712
查看次数

我可以通过 API 将域添加到 Firebase 托管吗?

我希望能够使用 API 而不是 Web UI 将域添加到 Firebase 托管,这可能吗?

我想添加可能数百个域,Firebase 中的每个项目是否有域限制?

firebase firebase-hosting

7
推荐指数
1
解决办法
1673
查看次数

如何在具有不同优先级的多个 MPSC 通道上等待以创建有序队列?

我有一个线程在通道上等待:

for msg in rx {}
Run Code Online (Sandbox Code Playgroud)

我想在两个通道上等待,一个具有高优先级,一个具有低优先级。for 循环应该先从高队列中获取项目,然后再查看低队列。

我遇到的问题:

  • 我可以阻塞一个通道,或者try_recv在循环中使用两个通道,这是低效的。

  • Select对于 MPSC 通道来说是“可疑的”

  • 我无法使用crossbeam_channel因为我想先清除高队列,然后再从低队列中获取,但select!声明:

    如果同时有多个操作准备就绪,则随机选择其中一个

实现这一点的最佳方法是什么?

channel rust

6
推荐指数
0
解决办法
2466
查看次数

是否可以拦截本地程序未加密的HTTPS请求体?

是否可以编写一个通用的 EBPF 程序来读取所有用户空间程序的未加密 HTTPS 请求和响应主体?

据我了解,EBPF 处理网络第 2、3 和 4 层的数据包。HTTPS 有效负载在这些数据包中加密,因此 EBPF 可以读取数据包元数据,但不能读取构成 HTTPS 请求/响应的有效负载?

这样做是将日志记录添加到用户空间程序的唯一方法吗?

linux https network-programming bpf ebpf

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

GCP:HTTPS 终止。为什么负载均衡器这么贵?

我想使用 GCP 负载均衡器终止 HTTPS 并通过 Lets Encrypt 自动管理 HTTPS 证书续订。

定价计算器给出的单条规则为21.90 美元/月。这是为单个域执行 HTTPS 终止的费用吗?GCP 上有更便宜的托管选项吗?

google-cloud-platform

6
推荐指数
1
解决办法
2316
查看次数

AWS/GCP:是否可以拥有具有动态 CPU/RAM 的虚拟机?

我想编写我的程序,以便我可以“添加更多线程”来扩展。这意味着使用标准库 API 来创建更多线程,并仅使用单个 VM 实例,根据需要从 1 个核心动态扩展到 128 个核心。

当利用率接近 100% 时,是否有任何云提供商/操作系统组合允许我根据需要自动向客户操作系统添加更多 CPU 核心和 RAM?

我了解这需要在 AWS/GCP 虚拟机管理程序和来宾操作系统中实现。

如果没有的话,将来有可能吗?

我知道 FAAS 存在,但我不想依赖基于网络的存储 - 我只想在单个实例上使用磁盘存储。

amazon-ec2 amazon-web-services google-compute-engine google-cloud-platform

5
推荐指数
1
解决办法
1455
查看次数

如何创建未来的 Vec

我有这个功能:

async fn get_events(r: RequestBuilder) -> Result<Vec<RepoEvent>, reqwest::Error> {
    Ok(r.send().await?.json::<Vec<RepoEvent>>().await?)
}
Run Code Online (Sandbox Code Playgroud)

我想存储一个Vecfuture 并等待它们全部:

let mut events = vec![];
for i in 1..=x {
    let req: RequestBuilder = client.get(&format!("https://example.com/api?page={}", i));

    events.append(get_events(req));
}
try_join_all(events).await.unwrap();
Run Code Online (Sandbox Code Playgroud)

我得到一个E0308: expected mutable reference, found opaque type.

应该是什么类型events

我可以通过推断类型来解决问题:

let events = (1..=x).map(|i| {
    let req: RequestBuilder = client.get(&format!("https://example.com/api?page={}", i));

    get_events(req);
});
Run Code Online (Sandbox Code Playgroud)

但我真的很想知道如何将 future 存储在向量中。

rust rust-async-std

5
推荐指数
0
解决办法
1638
查看次数