VS Code 决定开始^M
在我编辑的任何行的末尾添加字符。
它们在编辑器中不可见,但git diff
会拾取它们。
以前没有这样做过,所以我猜我不小心碰到了一些键盘快捷键。
有谁知道如何关闭它并让它只使用常规行结尾?
我有一个具有以下结构的Cloud Firestore DB:
实际DB中存在更多数据,上面仅说明了集合/文档/字段结构.
我在我的网络应用程序中有一个视图,我正在显示帖子,并希望显示发布的用户的名称.我正在使用以下查询来获取帖子:
let loadedPosts = {};
posts = db.collection('posts')
.orderBy('timestamp', 'desc')
.limit(3);
posts.get()
.then((docSnaps) => {
const postDocs = docSnaps.docs;
for (let i in postDocs) {
loadedPosts[postDocs[i].id] = postDocs[i].data();
}
});
// Render loadedPosts later
Run Code Online (Sandbox Code Playgroud)
我想要做的是通过存储在post的uid字段中的uid查询用户对象,并将用户的name字段添加到相应的loadedPosts对象中.如果我一次只加载一个帖子就没问题,只需等待查询返回一个对象,然后在.then()
函数中再向用户文档发出查询,依此类推.
但是因为我一次收到多个帖子文档,所以我很难弄清楚如何在调用.get()
每个帖子的user/[uid]
文档之后将正确的用户映射到正确的帖子,因为他们返回了异步方式.
谁能想到这个问题的优雅解决方案?
我正在努力解决将 Android Studio 连接到我的 Google Pixel 2 的问题。
当我将手机插入笔记本电脑时,Android Studio 现在可以识别物理设备,并在运行该应用程序的设备下拉列表中显示“Google Pixel 2”。当我去运行该应用程序时,它编译没有错误,但是当它尝试在我的手机上安装该应用程序时,我的手机和 AS 之间的连接丢失(该设备不再列在下拉列表中)并且此错误消息显示在运行对话框:
06/12 17:08:35: Launching 'app' on Google Pixel 2.
Installation did not succeed.
The application could not be installed.
List of apks:
[0] '/home/kirk/Apps/xxxx/android/app/build/outputs/apk/debug/app-debug.apk'
Installation failed due to: 'device 'xxxxxxxx' not found'
Retry
Run Code Online (Sandbox Code Playgroud)
单击Retry
链接只会导致它在模拟器中启动。
我尝试断开并重新连接设备,撤销 USB 调试授权,然后重新信任我的计算机,以及关闭并重新打开 Android Studio。
有任何想法吗?
在AngularJS中,是否可以从包含的部分内部继承父控制器的作用域,而不是通过注入的服务传递数据?
示例案例:
让我们说ParentCtrl
范围看起来像:{ testData: 'testing stuff' }
<div ng-controller="ParentCtrl">
Here we're defined: {{testData}}
<div ng-include="'partial.html'"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
内部partial.html
:
<em>Inherited: {{testData}}</em>
Run Code Online (Sandbox Code Playgroud)
因此,部分甚至不需要它自己的控制器.如果这是不可能的,你只能通过服务在控制器之间传递注入的数据,为什么Angular会这样做?
我正在开发一个Firebase云功能,可以更新我的数据库中某些文档的一些聚合信息.这是一个非常简单的功能,只需将1个文档计数加1即可.与Firestore文档中的示例函数非常相似.
我刚刚注意到,在创建单个新文档时,该函数被调用了两次.请参见下面的屏幕截图,并注意记录的文档ID(iDup09btyVNr5fHl6vif)重复两次:
经过一番挖掘,我发现这个SO帖子说的如下:
目前不保证传递函数调用.随着Cloud Firestore和Cloud Functions集成的改进,我们计划保证"至少一次"交付.但是,在测试期间可能并非总是如此.这也可能导致单个事件的多次调用,因此对于最高质量的函数,确保函数被写为幂等的.
(来自Firestore文档:限制和保证)
这导致我的文档出现问题.如上所述的云函数意味着是幂等的(换句话说,无论函数运行一次还是多次运行,它们改变的数据应该相同).然而,我之前链接的示例函数(对我来说)并不是幂等的:
exports.aggregateRatings = firestore
.document('restaurants/{restId}/ratings/{ratingId}')
.onWrite(event => {
// Get value of the newly added rating
var ratingVal = event.data.get('rating');
// Get a reference to the restaurant
var restRef = db.collection('restaurants').document(event.params.restId);
// Update aggregations in a transaction
return db.transaction(transaction => {
return transaction.get(restRef).then(restDoc => {
// Compute new number of ratings
var newNumRatings = restDoc.data('numRatings') + 1;
// Compute new average …
Run Code Online (Sandbox Code Playgroud) 我正在寻找一个SQL语句,它只返回我的表的行,其中的Name
字段包含特殊字符(不包括下划线).
我试过了:
SELECT * FROM 'table' WHERE Name REGEXP '^[!#$%&()*+,\-./:;<=>?@[\\\]^`{|}~]+$'
Run Code Online (Sandbox Code Playgroud)
但是没有骰子,这会返回一个空结果集(尽管我专门添加了包含%, $, and #
字符的Name字段的行).
我见过嵌入式SVG的源代码,如下所示:
<svg>...</svg>
Run Code Online (Sandbox Code Playgroud)
和其他看起来像:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">...</svg>
Run Code Online (Sandbox Code Playgroud)
具体指定xmlns/xmlns:xlink属性是做什么的?
在CSS中,是否可以在具有给定类的元素之前选择所有元素?
示例HTML:
<div>
<a href>One</a>
<a href>Two</a>
<a href>Three</a>
<a href class="active">Four</a>
<a href>Five</a>
</div>
Run Code Online (Sandbox Code Playgroud)
和CSS:
.active:(all-before) {
border-left: solid 1px #C0FFEE;
}
Run Code Online (Sandbox Code Playgroud)
所以链接'One','Two'和'Three'会有左边框但是'Four'和'Five'不会.
什么是-y
当你行驶标志做apt-get install
?
例如,来自https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions:
sudo apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud) 我已经看到许多示例说,使用React Router V4时,您可以将<Route />
组件包装在<Switch>
React Router提供的组件中,也可以使用任何其他元素包含路由(例如<div>
)。
这两种方法有什么区别?
例子:
<BrowserRouter>
<div>
<Route exact path="/login" component={LoginScreen} />
<Route path="/loading" component={LoadingScreen} />
</div>
</BrowserRouter>
Run Code Online (Sandbox Code Playgroud)
VS
<BrowserRouter>
<Switch>
<Route exact path="/login" component={LoginScreen} />
<Route path="/loading" component={LoadingScreen} />
</Switch>
</BrowserRouter>
Run Code Online (Sandbox Code Playgroud)