为什么SRC_URI即使我们在FILESEXTRAPATHS_prepend变量中包含文件路径,也需要给出文件路径。喜欢:
SUMMARY = "Simple Hello application"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SRC_URI = "file://Hello_1.c \
file://Hello_2.c \
"
do_compile() {
oe_runmake
}
do_install() {
install -d ${D}${bindir}
install -m 0755 Hello ${D}${bindir}
}
Run Code Online (Sandbox Code Playgroud)
在文件文件夹中,我有两个文件hello1.c和hello2.c。当我删除SRC_URI它时,输出以下错误,
ERROR: Hello-1.0-r0 do_compile: oe_runmake failed
Run Code Online (Sandbox Code Playgroud)
但是,如果我删除
FILESEXTRAPATHS_prepend它,则工作正常。
变量的目的是FILESEXTRAPATHS_prepend什么?
为什么SRC_URI即使在其中包含文件路径的情况下删除,也会出现错误FILESEXTRAPATHS_prepend?
我有一个创建以下JSON结构的表单。
{
"reviewed":false,
"title":"Just a title",
"user":"UYV9TRKXfNW1NeCyFyfjZfagJ8B",
"items":[
{
"age":"33",
"experience":"Newcomer",
"image":"https://image-url",
"job":"Nerd",
"name":"Testname",
"party":"AAA",
"type":"person"
},
{
"age":"33",
"experience":"Newcomer",
"image":"https://image-url",
"job":"Informatiker",
"name":"Testname",
"party":"AAA",
"type":"person"
}
]
}
Run Code Online (Sandbox Code Playgroud)
如何使用Firestore的安全规则检查“项目”的值?有没有一种方法可以循环/迭代数组?
对于一个项目,我使用 javascript 中的 pdfmake 即时提供 pdf 报价和发票。我想将包含签名字段的最后一个文本块附加到最后一页的底部。
我的 pdf docDefinition 是这样构建的:
return {
content: [
getOfferLogo(), //Get the logo or empty string
getHeading(), //get the customer and business data (adress etc)
//the above is always the same
getText(), //get the textblock, created by user and always different
getSpecifics(), //get a table of payment specifications
getSignature() //get last textblock contaning signature fields etc, always the same
],
styles: {
subheader: {
fontSize: 15,
bold: true,
alignment: 'center'
}
},
defaultStyle: { …Run Code Online (Sandbox Code Playgroud)我的第一个问题是如何指定该数据库定义的安全规则?有一些最佳实践方法吗?
我们的第一个想法是这样做:
match /databases/{database}/documents/projects/{projectUid}/{document=**} {
allow read: if
(/databases/$(database)/documents/projects/$(projectUid)/companyId) ===
(/databases/$(database)/documents/users/$(request.auth.uid)/companyId)
}
Run Code Online (Sandbox Code Playgroud)
但是根据文档,这意味着我们每个读取基本上需要3个读取(2个安全性查询和1个从DB实际读取)。这似乎是对查询的浪费。
有没有比这更好的方法了?我们正在考虑更改子集合:
这样,我们可以使用与文档中类似的方法,其中每个匹配项都包含{companyId},在allow语句中,我们将使用类似
match /databases/{database}/documents/companies/{companyId}/projects/{projectId} {
allow read: if
exists(/databases/$(database)/documents/companies/$(companyId)/users/$(request.auth.uid));
}
Run Code Online (Sandbox Code Playgroud)
感谢您提供有关如何以最可扩展且最安全的方式构建它的任何建议。
我正在尝试将 JSON 对象上传到 Google Firestore。
将对象设置为 Firestore 文档时,我的代码会引发以下错误:
Error: Value for argument "data" is not a valid Firestore document.
Cannot use "undefined" as a Firestore value
(found in field audit.`20`.requests.`0`.lrEndTimeDeltaMs).
Run Code Online (Sandbox Code Playgroud)
现在我做的第一件事是在上传之前记录对象以检查未定义的值:
console.log(JSON.stringify(resultsToUpload));
return database
.collection("foo1")
.doc("bar1")
.set(resultsToUpload);
Run Code Online (Sandbox Code Playgroud)
不仅在对象中定义了所有值,而且提到的字段audit.`20`.requests.`0`.lrEndTimeDeltaMs甚至不存在:
resultsToUpload = {
"audit":{
"20":{
"ronaldScore":3,
"id":"network-requests",
"requests":[
{
"url":"https://www.example.com/",
"startTime":0,
"endTime":62.16699999640696,
"transferSize":15794,
"resourceSize":78243,
"statusCode":200,
"mimeType":"text/html",
"resourceType":"Document"
}
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
数据来自 Google Lighthouse Audit。
计算字符串化 JSON 对象的 UTF-8 字符串长度会得到 30 MB 的大小。
1) 定义了所有值(有些为空,这应该不是问题)。
2) JSON 中甚至不存在上述字段。
我的问题是:这怎么会发生?一个字段怎么会出现?另外:我将如何解决这个问题?