我正在尝试将项目从attr_encryptedRails 7 加密迁移到。我现在做的测试只是在开发和测试环境上进行,暂时不需要迁移数据。
我所做的步骤是:
attr_encrypted从语法到改变一切encryptsbin/rails db:encryption:init这些值并将其添加到开发和测试凭证 2.1 中。我还尝试使用RAILS_ENV=test bin/rails db:encryption:init并将它们放入测试凭据中,以防不同的数据库需要不同的值我现在遇到的问题是,每当我运行测试(从干净的数据库开始)时,我都会收到此错误:
ActiveRecord::Encryption::Errors::Configuration:
key_derivation_salt is not configured. Please configure it via credential active_record_encryption.key_derivation_salt or by setting config.active_record.encryption.key_derivation_salt
Run Code Online (Sandbox Code Playgroud)
尽管如果我进入 Rails 控制台,我确实会得到以下值:
Credentials[:active_record_encryption]
=> {:primary_key=>"T..", :deterministic_key=>"k..", :key_derivation_salt=>"6.."}
Run Code Online (Sandbox Code Playgroud)
为了解决这个问题或者至少看看有什么帮助,我在环境 Ruby 文件中添加了以下几行:
config.active_record.encryption.key_derivation_salt = Credentials[:active_record_encryption][:key_derivation_salt]
config.active_record.encryption.primary_key = Credentials[:active_record_encryption][:primary_key]
config.active_record.encryption.deterministic_key = Credentials[:active_record_encryption][:deterministic_key]
Run Code Online (Sandbox Code Playgroud)
这似乎修复了错误,但测试失败了,因为它似乎正在将值解密为nil(测试之前已通过 ofc)
我是否缺少配置步骤?
我认为这些空值来自于没有在数据库内更新它们?我该怎么做呢?
另外,有没有其他方法可以让我不需要将这些行添加到环境文件中?这似乎有点多余。
我试图获取基于的用户实例id(对于其他属性,例如 ,也会发生同样的情况email。在服务内,这是我的代码:
@Injectable()
export class UserService {
@InjectRepository(User)
private readonly repository: Repository<User>;
async findOne(id: number): Promise<User> {
const user = await this.repository.findOne(id);
return user;
}
}
Run Code Online (Sandbox Code Playgroud)
我的用户实体是:
@Entity()
export class User {
@PrimaryGeneratedColumn()
public id: number;
@Column({ type: 'varchar', length: 120 })
public name: string;
@Column({ type: 'varchar', length: 120 })
public email: string;
}
Run Code Online (Sandbox Code Playgroud)
问题是我总是收到此错误:
src/api/user/user.service.ts - error TS2559: Type 'number' has no properties in common with type 'FindOneOptions<User>'.
其他方法例如getAll工作得很好:
public getAllUsers(): Promise<User[]> …Run Code Online (Sandbox Code Playgroud) 我有一个 TextView 和一个 EditText。TextView 使用android:labelFor="@+id/EditTextId";
EditText 还有一个表示输入示例的提示,即我只想对不使用 TalkBack 的用户可见,并且不被 TalkBack 读取。
android:contentDescription="Mandatory field"
android:hint="Example of input"
TalkBack 通常会显示(我希望它如何工作):
“必填字段,文本视图编辑框”
但改为:
“输入示例,文本视图的编辑框”
我正在使用camera2 API来获取格式的图像流ImageFormat.YUV_420_888。我需要使用一个库对它们进行一些处理,该库需要将图像作为 RGB 字节数组发送(因此byte array length = width * height * 3)
我使用这个线程(也可能是所有其他线程)将图像转换为 RGB 字节数组(这似乎有效,至少结果字节数组是我需要的)。
另外,这是我在 Kotlin 中用于将 YUV_420 转换为 RGB 的确切代码,并进行了一些更新:https://gist.github.com/VictorMotogna/e7a8493af65be994f29f5508660dd4a9
A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xe00000084 in tid 20776 (package name), pid 20776问题是几次尝试后转换崩溃并显示消息。
我尝试过其他图像格式、其他转换,但似乎没有任何效果 - 我要么遇到相同的崩溃(使用 YUV_420 或 NV21 时),要么无法获得正确的图像/转换。
似乎有帮助的一件事是:android:hardwareAccelerated="false"应用程序在运行次数比运行次数多得多后崩溃android:hardwareAccelerated="true"
有谁知道如何修理它?
android ×2
android-ndk ×1
encryption ×1
javascript ×1
nestjs ×1
renderscript ×1
rgb ×1
ruby ×1
talkback ×1
typeorm ×1
yuv ×1