小编Seb*_*ine的帖子

ANDROID_ID 仍可用于 Android 10

根据谷歌的说法,在没有一些先决条件的情况下,Android 10 系统上不应访问 ANDROID_ID(也称为 SSAID)(请参阅:https : //developer.android.com/about/versions/10/privacy/changes

• If your app targets Android 10 or higher, a SecurityException occurs.

• If your app targets Android 9 (API level 28) or lower, the method
  returns null or placeholder data if the app has the READ_PHONE_STATE
  permission. Otherwise, a SecurityException occurs.
Run Code Online (Sandbox Code Playgroud)

我的问题是,我仍然可以在没有上述任何先决条件的情况下访问 ANDROID_ID。

我创建了一个目标平台为 Android 10 API 级别 29 的 Kotlin 项目。

在这个项目中,我运行了以下代码:

• If your app targets Android 10 or higher, a SecurityException occurs.

• If your app targets …
Run Code Online (Sandbox Code Playgroud)

android identifier kotlin

11
推荐指数
1
解决办法
4850
查看次数

使用 Typescript 时的 MongoDB FindOptions

我正在将 JS 项目转换为 TS,并且在查询集合时遇到 FindOptions 问题。我只想获取集合中所有元素的 ID。这是导致 TS 错误的 TS 代码:

import { Collection, Db, Document, MongoClient } from "mongodb";

type MyDoc = {
    _id: object,
    title: string,
    image: string,
    description: string
} 
    
const client: MongoClient = await MongoClient.connect("mongodb://127.0.0.1:27017");
const db: Db = client.db("mydb");
const myCollection: Collection<MyDoc> = db.collection("myCollection");
const ids: object[] = await myCollection.find({}, { _id: 1 }).toArray();
client.close();
Run Code Online (Sandbox Code Playgroud)

问题在于{_id: 1}FindOption 在 JS 中工作正常。这是错误消息:

Argument of type '{ _id: number; }' is not assignable to parameter of …
Run Code Online (Sandbox Code Playgroud)

mongodb typescript

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

Rust 反序列化生命周期问题:'de 必须比 'a 更长寿

我有以下两个结构,我为其派生了 serde 特征。

use serde::{Serialize, Deserialize};

#[derive(Serialize, Deserialize)]
pub struct Item<'a> {
  pub id: &'a str,
  pub name: &'a str
}

#[derive(Serialize, Deserialize)]
struct Set<'a> {
  items: Vec<Item<'a>>
}
Run Code Online (Sandbox Code Playgroud)

当我尝试编译此文件时,我收到以下错误消息,以确保生命周期参数'deDeserializeNeeds 变为 Outlife LifeLife 参数'a

15 |     #[derive(Serialize, Deserialize)]
   |                         ----------- lifetime `'de` defined here
16 |     struct Set<'a> {
   |                -- lifetime `'a` defined here
17 |         sets: Vec<Item<'a>>
   |         ^^^^ requires that `'de` must outlive `'a`
   |
   = help: consider adding the following …
Run Code Online (Sandbox Code Playgroud)

lifetime rust serde

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

在非默认 VPC 中创建 AWS DocumentDB

我正在努力在非默认 VPC 中设置 AWS DocumentDB 集群。我创建了一个包含 1 个公有子网和 3 个私有子网的新 VPC。3 个私有子网均位于不同的可用区,并分组在一个子网组中。不过,当我尝试创建新的 DocumentDB 集群时,我只能选择默认 VPC。我错过了什么吗?据我所知,我满足官方文档中列出的所有 VPC 要求:https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-create.html

amazon-web-services amazon-vpc aws-documentdb

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

使用 Maven Exec 插件执行多个命令

我在使用 Maven Exec 插件时遇到了一些困难。我想使用该插件执行两个单独的mvn命令,因此我只需要执行mvn exec:exec即可执行所有命令。

以下两个命令单独运行效果良好:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.6.0</version>
    <configuration>
        <executable>mvn</executable>
        <arguments>
            <argument>clean</argument>
        </arguments>
    </configuration>
</plugin>

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.6.0</version>
    <configuration>
        <executable>mvn</executable>
        <arguments>
            <argument>package</argument>
        </arguments>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

这是我尝试将两者结合起来以便用一个命令执行它们:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.6.0</version>

    <executions>
        <execution>
            <id>id1</id>
            <phase>package</phase>
            <goals>
                <goal>exec</goal>
            </goals>
            <configuration>
                <executable>mvn</executable>
                <arguments>
                    <argument>clean</argument>
                </arguments>
            </configuration>
        </execution>

        <execution>
            <id>id2</id>
            <phase>package</phase>
            <goals>
                <goal>exec</goal>
            </goals>
            <configuration>
                <executable>mvn</executable>
                <arguments>
                    <argument>package</argument>
                </arguments>
            </configuration>
        </execution>
    </executions>

</plugin>
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我现在执行mvn exec:exec时,我收到以下错误消息:

[INFO] Scanning for projects...
[INFO] 
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder …
Run Code Online (Sandbox Code Playgroud)

build-management maven maven-exec-plugin

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

Rust-Analyzer VSCode-Plugin 与 Tauri

在 VSCode 中处理 Tauri 项目时,我从rust-analyzer插件收到以下错误消息。

rust-analyzer failed to discover workspace
Run Code Online (Sandbox Code Playgroud)

我知道问题的原因是我在 VSCode 中加载了 Tauri 项目作为我的工作区,该项目的根目录中没有 a Cargo.toml,而是在 Rust 相关的子目录中src-tauri。有没有办法告诉插件它应该引用这个src-tauri子目录Cargo.tomlsrc-tauri解决方法是每次接触 Rust 代码时都要切换工作区,这很不方便。

rust rust-cargo visual-studio-code rust-analyzer tauri

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