小编Pow*_*der的帖子

PostgreSQL - 在关系策略中检测到无限递归

数据库中有 3 个表 - 部门、员工、帐户。一个部门有很多员工。Employee 包含列department_id bigintAccount 表包含 columns login varcharemployee_id bigint用于将 Postgres 用户(角色)绑定到 Employee 中的行。

我的目标是让用户仅查看和使用 Employee 的值与department_id用户相同的那些行。

一定有类似的东西:

CREATE POLICY locale_policy ON employee
TO justuser, operator
USING (department_id =
    (SELECT department_id FROM employee WHERE id =
        (SELECT employee_id FROM account WHERE login = CURRENT_USER)
    )
)
Run Code Online (Sandbox Code Playgroud)

但由于 Employee 的子查询,它正在提高infinite recursion detected in policy for relation employee

编辑:关系定义为:

create table department(
    id serial primary key);
create table employee(
    id serial …
Run Code Online (Sandbox Code Playgroud)

sql postgresql policy row-level-security

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

CSS - 如果窗口视口变得太小,则按比例缩放元素

我有一个位于屏幕中心的元素,并希望它具有固定大小,除非它不适合窗口,那么它应该按比例缩小。不仅仅是宽度和高度,还有所有内容。所以transform: scale()里面@media screen看起来像是一个很好的解决方案,但我不知道如何计算它的参数。我尝试将当前视口高度除以 const 值,但它不起作用。

@media screen and (max-height: 300px) {
  #myform {
    transform: scale(calc(100vh / 300));
  }
}
Run Code Online (Sandbox Code Playgroud)

最主要的是根据高度进行缩放,但如果可以根据高度和宽度进行智能缩放那就完美了。

这是JsFiddle

css scaling viewport

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

MediaCodec和MediaExtractor的理解

我想对音频文件进行一些处理而不播放它们,只是数学。我怀疑我的做法是否正确,并且有几个问题。我读了一些示例,但大多数都是关于视频流的,根本没有处理原始数据。

  1. 我准备了一个 mp3 文件,它有 2 个相同的通道,即它是立体声的,但左右声道相同。解码后,我期望获得具有相同数字对的缓冲区,因为 PCM-16 交替存储通道样本,例如 { L R L R L R...},对吗?例如:

    { 105 105 601 601 -243 -243 -484 -484...}。

    但我得到了一对接近但不相等的数字:

    { -308 -264 -1628 -1667 -2568 -2550 -4396 -4389}

    mp3 算法是否对相同的值进行不同的编码?为什么?

  2. 我想处理 1024 个样本包中的数据。如果没有足够的样本用于另一个包,我想保存其余的直到下一批原始数据(参见mExcess代码)。是否能保证订单得以保留?

  3. 我曾经将“样本”理解为音频数据的每个值。这里我看到了MediaExtractor::readSampleDataMediaExtractor::advance方法。第一个返回约 2000 个值,在第二个的描述中表示“前进到下一个样本”。这只是命名的重叠吗?我看到了几个示例,其中这些方法在循环中成对调用。我的用法正确吗?

这是我的代码:

public static void foo(String filepath) throws IOException {
    final int SAMPLES_PER_CHUNK = 1024;

    MediaExtractor mediaExtractor = new MediaExtractor();
    mediaExtractor.setDataSource(filepath);
    MediaFormat mediaFormat = mediaExtractor.getTrackFormat(0);
    mediaExtractor.release();

    MediaCodecList mediaCodecList = new …
Run Code Online (Sandbox Code Playgroud)

java audio android android-mediacodec

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