在 Next.js 13.4 上使用 appDir 的文档说明如下:
第 3 步:迁移 next/head
在pages目录中,next/head React组件用于管理标题和元等HTML元素。在应用程序目录中,next/head 被新的内置 SEO 支持替换。
但该next/head组件也能够添加非 SEO 标签。特别是,我想添加<link rel="...">标签。如果元数据机制似乎不支持链接标签(仅支持自定义<meta>标签),如何实现这一目标?
我无法将标签直接添加到根布局,因为有些标签只应该存在于网站主页上。如果布局知道当前路线,我可以有条件地将标签添加到根布局,但它似乎不适用于 SSG。
ArchUnit 是一个免费、简单且可扩展的库,用于使用任何普通 Java 单元测试框架检查 Java 代码的体系结构。也就是说,ArchUnit 可以检查包和类、层和切片之间的依赖关系,检查循环依赖关系等等。
我们正在编写一个越来越大的 JavaScript 应用程序。我们有一些我们希望能够强制执行的架构规则,主要用例是这样的:这些包不能要求那些。
JavaScript 生态系统中是否有可实现 ArchUnit 为 Java 所做的等效工具?
javascript architecture automated-tests unit-testing archunit
我已经看到了使用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)
在文档中,据说 AWS 默认为每个 ETL 作业分配 10 个 DPU,默认为每个开发端点分配 5 个 DPU,即使两者都可以配置至少 2 个 DPU。
还提到 Crawling 也是按秒递增定价的,最少运行 10 分钟,但没有指定分配了多少 DPU。可以在 Glue 控制台中配置 Jobs 和 Development Endpoints 以消耗更少的 DPU,但我还没有看到爬虫的任何此类配置。
每个爬虫的 DPU 数量是否固定?我们能控制这个数量吗?
我在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且不会被覆盖,但是约束检查仅着眼于临时插入和表约束。
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?
该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'>,但似乎不可能静态获得该类型。
我试图将我的事件处理程序函数放在一个名为的文件中,app.lambda.js因为它app.js应该只包含与 AWS Lambda 无关的通用内容。
但是将“app.lambda.handler”指定为处理程序会产生Bad handler app.lambda.handler.
在处理程序模块的文件名中使用点是完全不可能的吗?
自 2017 年 12 月以来,仅当 N 个数据点中有 M 个违规时,才可能触发 CloudWatch 警报警报。使用 CloudFormation 创建警报时,CloudWatch::Alarm::EvaluationPeriods影响(连同周期)相关的 N。
默认情况下,闹钟是用 M = N 创建的。不过,我找不到改变 M 的方法。CloudFormation 还不支持吗?
我正在尝试使用以下 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 的最简单方法是什么?
javascript ×2
architecture ×1
archunit ×1
aws-glue ×1
aws-lambda ×1
aws-sdk ×1
boto3 ×1
f# ×1
fable-f# ×1
html5 ×1
next.js ×1
next.js13 ×1
notnull ×1
postgresql ×1
python ×1
python-3.x ×1
seo ×1
sqlalchemy ×1
unit-testing ×1