小编vil*_*asv的帖子

使用 Next.js>13.3 在启用 appDir 的情况下将 <link> 标记添加到 <head>

在 Next.js 13.4 上使用 appDir 的文档说明如下:

第 3 步:迁移 next/head

在pages目录中,next/head React组件用于管理标题和元等HTML元素。在应用程序目录中,next/head 被新的内置 SEO 支持替换。

但该next/head组件也能够添加非 SEO 标签。特别是,我想添加<link rel="...">标签。如果元数据机制似乎不支持链接标签(仅支持自定义<meta>标签),如何实现这一目标?

我无法将标签直接添加到根布局,因为有些标签只应该存在于网站主页上。如果布局知道当前路线,我可以有条件地将标签添加到根布局,但它似乎不适用于 SSG。

seo server-side-rendering next.js next.js13

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

JavaScript 生态系统中的 ArchUnit 是什么?

ArchUnit 是一个免费、简单且可扩展的库,用于使用任何普通 Java 单元测试框架检查 Java 代码的体系结构。也就是说,ArchUnit 可以检查包和类、层和切片之间的依赖关系,检查循环依赖关系等等。

我们正在编写一个越来越大的 JavaScript 应用程序。我们有一些我们希望能够强制执行的架构规则,主要用例是这样的:这些包不能要求那些。

JavaScript 生态系统中是否有可实现 ArchUnit 为 Java 所做的等效工具?

javascript architecture automated-tests unit-testing archunit

9
推荐指数
0
解决办法
861
查看次数

使用Fable获取文件输入内容

我已经看到了使用HTML5 File API从JavaScript文件输入中读取内容的简单方法.

这是我的view方法,在一个小  fable-arch应用程序中:

let view model =
    div [
        attribute "class" "files-form"
    ] [
        form [
            attribute "enctype" "multipart/form-data"
            attribute "action" "/feed"
            attribute "method" "post"
        ] [
            label [ attribute "for" "x_train" ] [ text "Training Features" ]
            input [
                attribute "id" "x_train"
                attribute "type" "file"
                onInput (fun e -> SetTrainingFeaturesFile (unbox e?target?value)) 
            ]
        ]
        model |> sprintf "%A" |> text
    ]
Run Code Online (Sandbox Code Playgroud)
  • 有没有一种简单的方法直接从F#捕获文件内容?
  • 完成此任务所需的最小互操作代码量是多少?

javascript html5 f# fable-f#

8
推荐指数
2
解决办法
659
查看次数

如何监控和控制 AWS Glue Crawler 中的 DPU 使用情况

文档中,据说 AWS 默认为每个 ETL 作业分配 10 个 DPU,默认为每个开发端点分配 5 个 DPU,即使两者都可以配置至少 2 个 DPU。

还提到 Crawling 也是按秒递增定价的,最少运行 10 分钟,但没有指定分配了多少 DPU。可以在 Glue 控制台中配置 Jobs 和 Development Endpoints 以消耗更少的 DPU,但我还没有看到爬虫的任何此类配置。

每个爬虫的 DPU 数量是否固定?我们能控制这个数量吗?

amazon-web-services aws-glue

8
推荐指数
2
解决办法
2133
查看次数

什么时候运行NOT NULL约束,它可以等到事务将要提交时?

我在ETL例程中一次填充了一个表。强制列(它们是外键)首先被设置,因此表的初始状态为:

key    | fkey   | a
-------|--------|-------
1      | 1      | null
Run Code Online (Sandbox Code Playgroud)

在处理了A值之后,我使用带有PostgreSQL方言的SQL Alchemy插入了它们,以获得简单的upsert:

upsert = sqlalchemy.sql.text("""
    INSERT INTO table
      (key, a)
    VALUES (:key, :a)
    ON CONFLICT (key) DO UPDATE SET
      a = EXCLUDED.a
""")
Run Code Online (Sandbox Code Playgroud)

但这失败了,因为它显然试图将fkey值插入为null

psycopg2.IntegrityError: null value in column "fkey" violates not-null constraint
DETAIL:  Failing row contains (1, null, 0).
Run Code Online (Sandbox Code Playgroud)

语法真的正确吗?为什么会失败?SQLAlchemy是否参与了此错误,或者它是否正确翻译了PLSQL?

我的怀疑是约束检查发生在CONFLICT解析触发之前,因此尽管它确实可以工作,因为fkey可以保证在此之前不为null且不会被覆盖,但是约束检查仅着眼于临时插入和表约束。

postgresql sqlalchemy notnull

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

如何在 Amazon Linux 2 上启用 CodeDeploy 代理?

Amazon Linux 2 已经附带了cfn-init其他 AWS 集成工具,但是CodeDeploy 文档没有提到 Amazon Linux 2 并且运行任何服务命令都会响应类似于:

Redirecting to /bin/systemctl start codedeploy-agent.service
Failed to start codedeploy-agent.service: Unit not found.
Run Code Online (Sandbox Code Playgroud)

如何启用 CodeDeploy 代理,最好使用cfn-init?

amazon-web-services aws-code-deploy

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

Boto3资源(如DynamoDB.Table)的类型注释

boto3库提供了几种返回资源的工厂方法。例如:

dynamo = (
    boto3
    .resource('dynamodb')
    .Table(os.environ['DYNAMODB_TABLE'])
)
Run Code Online (Sandbox Code Playgroud)

我想注释这些资源,以便可以更好地进行类型检查和完成,但是唯一可以找到的类型是from boto3.dynamodb.table import TableResource

当我添加该注释时:

dynamo: TableResource = (
    boto3
    .resource('dynamodb')
    .Table(os.environ['DYNAMODB_TABLE'])
)
Run Code Online (Sandbox Code Playgroud)

batch_writer(self, overwrite_by_pkeys)即使文档列出了其他几种,自动补全提供的唯一方法也是。

这是用作注释的错误类吗?在终端中检查该变量类型,我可以看到它是<class 'boto3.resources.factory.dynamodb.Table'>,但似乎不可能静态获得该类型。

python amazon-web-services python-3.x aws-sdk boto3

5
推荐指数
3
解决办法
758
查看次数

带有点的 AWS nodejs 处理程序模块产生“错误处理程序”错误

我试图将我的事件处理程序函数放在一个名为的文件中,app.lambda.js因为它app.js应该只包含与 AWS Lambda 无关的通用内容。

但是将“app.lambda.handler”指定为处理程序会产生Bad handler app.lambda.handler.

在处理程序模块的文件名中使用点是完全不可能的吗?

amazon-web-services aws-lambda

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

如何使用 CloudFormation 启用 M out of N CloudWatch 警报?

自 2017 年 12 月以来,仅当 N 个数据点中有 M 个违规时,才可能触发 CloudWatch 警报警报。使用 CloudFormation 创建警报时,CloudWatch::Alarm::EvaluationPeriods影响(连同周期)相关的 N。

默认情况下,闹钟是用 M = N 创建的。不过,我找不到改变 M 的方法。CloudFormation 还不支持吗?

amazon-web-services aws-cloudformation amazon-cloudwatch

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

SELECT * FROM (VALUES ...) AS t 的 BigQuery 等效项是什么

我正在尝试使用以下 PosgreSQL 语法设置带有常量表的 CTE:

WITH rates AS (
  SELECT * FROM (
    VALUES
      (2017, 2018, 0.1),
      (2016, 2017, 0.1),
      (2015, 2016, 0.2),
      (2014, 2015, 0.3)
  ) AS t(init, end, rate)
)
SELECT * FROM my_bq_table as my
  JOIN rates as r ON my.year = r.init;
Run Code Online (Sandbox Code Playgroud)

但我明白了,Syntax error: Expected keyword JOIN but got ","因为显然 BigQuery 无法将语法识别VALUES [(tuple)]为与from-clausePostgreSQL 完全相同的语法。

实现类似 CTE 的最简单方法是什么?

google-bigquery

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