小编Sho*_*orn的帖子

如何在RDS实例中复制PostgreSQL RDS数据库

这样做我遇到了很多麻烦 - 我想我会在StackOverflow上做一个Q/A来解释这个过程.

问题是关于复制RDS postgres数据库以供开发使用 - 尤其是测试数据库迁移脚本等.这就是为什么要关注"单个数据库"中的"单一模式".

在我的情况下,我想创建一个尽可能隔离的测试数据库,同时保留在一个RDS实例中(因为整个RDS实例的旋转需要5到15分钟,因为我很便宜).

postgresql amazon-rds

3
推荐指数
2
解决办法
3219
查看次数

有没有办法将 IDEA“格式错误的格式字符串”意图应用于自定义方法?

编写表单代码时:

String.format("blah %s %s", value1);
Run Code Online (Sandbox Code Playgroud)

IntelliJ 将警告格式模式的数量和实际参数之间存在不匹配:too few arguments for format string (found:1, expected: 2).

有没有办法将此逻辑应用于自定义方法?例如:

/** @see String#format(String, Object...) */
public String myMethod(String msg, Object... args){
  return String.format("blah " + msg, args);
}
...

myMethod("%s %s", value1);
Run Code Online (Sandbox Code Playgroud)

关键是我想让 IDEA 告诉我我搞砸了。

如示例所示,我已经记录了这些委托给String.format().

理想情况下,我宁愿避免复制该文档 - 尽管我愿意将其转换为自定义格式,或者可能是注释(尽管最好不是 IDEA 注释)。

intellij-idea intellij-idea2017

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

无法更新 Supabase 表,因为它没有副本标识

当尝试使用 Supabase 更新我的第一个表时,代码如下:

await db.from("welcome").update({visit_count: newCount});
Run Code Online (Sandbox Code Playgroud)

出现错误:

{
  "hint":"To enable updating the table, set REPLICA IDENTITY using ALTER TABLE.",
  "details":null,"code":"55000",
  "message":"cannot update table \"welcome\" because it does not have a replica identity and publishes updates"
}
Run Code Online (Sandbox Code Playgroud)

supabase

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

如何为 Cloudfront 创建 HttpOrigin 以使用 Lambda 函数 URL?

尝试设置一个Cloudfront行为来使用Lambda 函数 url,代码如下:

    this.distribution = new Distribution(this, id + "Distro", {
      comment: id + "Distro",
      defaultBehavior: {
        origin: new S3Origin(s3Site),
        viewerProtocolPolicy: ViewerProtocolPolicy.REDIRECT_TO_HTTPS,
      },
      additionalBehaviors: {
        [`api-prd-v2/*`]: {
          compress: true,
          originRequestPolicy: originRequestPolicy,
          origin: new HttpOrigin(functionUrl.url, {
            protocolPolicy: OriginProtocolPolicy.HTTPS_ONLY,
            originSslProtocols: [OriginSslPolicy.TLS_V1_2],
          }),
          allowedMethods: AllowedMethods.ALLOW_ALL,
          viewerProtocolPolicy: ViewerProtocolPolicy.HTTPS_ONLY,
          cachePolicy: apiCachePolicy,
        },
Run Code Online (Sandbox Code Playgroud)

functionUrl对象在不同的​​堆栈中创建并传入堆栈cloudformation,定义如下:

    this.functionUrl = new FunctionUrl(this, 'LambdaApiUrl', {
      function: this.lambdaFunction,
      authType: FunctionUrlAuthType.NONE,
      cors: {
        allowedOrigins: ["*"],
        allowedMethods: [HttpMethod.GET, HttpMethod.POST],
        allowCredentials: true,
        maxAge: Duration.minutes(1)
      }
    });
Run Code Online (Sandbox Code Playgroud)

上面的代码失败,因为“参数源名称不能包含冒号”。据推测,这是因为 …

amazon-cloudfront aws-lambda aws-cdk

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

我如何安排一项工作在将来运行,但只有一次

我想安排一个在未来的某个特定时间最多执行一次的工作(通常那个时间会在那个晚上,几个小时之后).我想用Jenkins来做这件事.如果詹金斯在那段时间碰巧失败了,那工作就不会开火 - 那没关系.

目前,我打算在启用"定期构建"的情况下创建一个新工作,并将时间表设置为"0 19 29 01*".

目的是安排工作在1月29日19:00运行.

缺点是,每次我这样做,我必须记得在明年之前的某个时间删除/禁用该作业,否则它将再次运行(这将是不好的).无论如何,我会手动检查作业的结果,所以不要太难.我只是希望有人能够指出一种方法来安排詹金斯的"一次性"工作 - 这样我就不会因为忘记禁用这项工作而搞砸了.

jenkins

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

Bootstrap 4 - 自动弹出框重新定位如何工作?

我喜欢让我的弹出框保持打开状态,直到用户明确关闭它们。

新的 Bootstrap Popovers 的一项不错的功能是,当用户更改设备方向、滚动或调整窗口大小时,它们会自动重新定位。它们甚至会随着内容的重新流动而跟随——例如,当你调整窗口大小时,当一个段落被包裹并且元素的长度增长或缩小时——屏幕上的所有弹出窗口将继续重新定位以接近它们的目标。

Popover 插件如何知道页面正在重新流动,从而触发 popover 重新定位?

我的 web 应用程序是动态的,用户操作会导致元素增长/收缩、打开/关闭等。目前,当我通过代码更改页面时,弹出窗口被抛在后面 - 它们不会重新定位在目标附近.

作为用户,解决此问题的一种方法是稍微滚动屏幕,Bootstrap 将重新定位弹出窗口,一切看起来又正确了。

当我通过代码更改页面布局时,我试图找出一种重新定位弹出窗口的方法。

因此,问题是:Popover 重新定位是如何工作的(我可以钩住它以便我可以自动触发它)。

编辑:我刚刚注意到,如果“动态”内容恰好是 Bootstrapnavbar由于点击navbar-toggler.

html javascript css twitter-bootstrap bootstrap-4

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

Next.js:托管在 AWS Cloudfront 上时,如何使链接与导出的站点一起使用?

我正在尝试通过执行静态 html 导出(即next export),然后将生成的输出复制到 AWS S3 并通过 Cloudfront 提供服务来获得原型 Next.js 项目。

我在/pages目录中有以下两页:

  • index.tsx
  • Pricing.tsx

然后,从路由 doco 开始,Link从索引页面向定价页面添加了一个,如下所示:

<Link href="/Pricing">
  <a>Pricing</a>
</Link>
Run Code Online (Sandbox Code Playgroud)

这会产生一个看起来像这样的链接example.com/Pricing(当您将鼠标悬停在它上面并单击该链接时,该页面确实会更改为定价页面,并且浏览器在 URL 栏中显示“example.com/Pricing”)。

问题是,该链接不是真实的 - 无法直接通过 url 栏添加书签或导航到它。

问题似乎是,当我执行 a 时next export,Next.js.html为每个页面生成一个文件,但路由器不使用这些.html后缀。

因此,在使用该站点时,如果用户尝试添加书签example.com/Pricing;稍后加载该书签将失败,因为 Cloudfront 将返回 404(因为 CF 只知道该.html文件)。

然后我尝试改变我Link的样子:

<Link href="/Pricing.html">
  <a>Pricing</a>
</Link>
Run Code Online (Sandbox Code Playgroud)

这会导致路由器使用example.com/Pricing.html并且与 Cloudfront 一起工作正常 - 但它实际上在本地开发期间导致 404(即使用next dev)!

我可以尝试的其他解决方法是 …

amazon-s3 amazon-web-services amazon-cloudfront next.js

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

如何让 IntelliJ 理解 Next.js `public` 目录结构?

我正在使用 IntelliJ 编辑 Next.js 网站。

  • IntelliJ IDEA 2020.2.1
  • Next.js 9.5.3-canary.23

Next.js静态文件服务使用/public目录作为静态资产的容器,但在发布 Next.js 站点时,该目录的内容public托管在站点的根目录下。

因此,如链接的 doco 所示,代码库中存在的图像/public/my-image.pngsrc="/my-image.png".

这让 IntelliJ 感到困惑,并显示一条警告,指出它无法解析imgsrc的目录: 在此处输入图片说明

我尝试将/public目录标记为“源根”或“资源根” - 但这并没有使警告消失。我还尝试将该/public目录添加为“内容根”,但 IntelliJ 不想这样做,因为它与模块的根目录重叠,该根目录已经是内容根。

有没有办法告诉想法在/public目录中查找像这样的静态引用资产?

intellij-idea next.js

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

IntelliJ 2021.1 - 如何增加“最近”运行配置的数量?

在以前版本的 IntelliJ IDEA 中,我总是进入“运行配置模板设置”区域,并将运行配置的数量从5增加到15

如何使用 IDEA 2021.1 做到这一点?

intellij-idea

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

如何在React应用程序中初始化Bootstrap 4弹出窗口?

我不知道如何使弹出窗口起作用,如:https ://getbootstrap.com/docs/4.0/components/popovers/ 。

文档讨论了popover支持是一个插件,并且也需要工具提示插件,所以我已经修改了我的代码webpack.config.js以添加这两个插件,现在看起来像这样:

...
new webpack.ProvidePlugin({
  $: 'jquery',
  jQuery: 'jquery',
  'window.jQuery': 'jquery',
  Popper: ['popper.js', 'default'],
  Popover: 'exports-loader?Popover!bootstrap/js/dist/popover',
  Tooltip: "exports-loader?Tooltip!bootstrap/js/dist/tooltip",
}),
...
Run Code Online (Sandbox Code Playgroud)

我还没有发现关于自举插件概念的任何文件,因此上述两行Popover,并Tooltip从搜索来了,不知道他们是正确的。

该文档指出:

由于性能原因,弹出窗口是可选的,因此您必须自己对其进行初始化。

但是我不知道该怎么做。

文档显示以下用于初始化弹出窗口的代码:

$(function () {
  $('.example-popover').popover({
    container: 'body'
  })
})
Run Code Online (Sandbox Code Playgroud)

但是我不知道该怎么做- popover()我的元素上没有要调用的功能-这是如何工作的?

这是我的尝试使用弹出框的代码的示例:

render(){

  ...

  <span>
    Summary info
    <button 
      type="button" className="btn btn-sm" 
      data-toggle="popover" title="Popover title" 
      data-content="The popover Content"
    >
      Show popover
    </button>        
  </span>

  ...
}
Run Code Online (Sandbox Code Playgroud)

如何在React应用程序的上下文中使Bootstrap V4弹出功能起作用?具体来说-如何“初始化”弹出窗口?


我正在使用Typescript 2.3,React 16,Bootstrap 4(没有react-bootstrap样式库)。

请注意,react-bootstrap仅支持Bootstrap V3,而reactstrap太不稳定,我不想使用它。

javascript twitter-bootstrap reactjs bootstrap-4

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

CDK:如何使用仅在部署时已知的值配置“userData”?

我正在使用 CDK v2 和 Typescript。

我希望我的堡垒机将内容记录到 Cloudwatch。我想要写入的特定 LogGroup 也是通过 CDK 创建的(以便我可以自定义保留)。

如何利用有关其他 AWS 资源(这些资源也是由 CDK 创建)的知识来自定义 userData 脚本 - 所以我不知道它们的名称?

我的 CDK 内容是通过 CDK 管道部署的。

这是我的 CDK 脚本:

export class StoBastion extends cdk.Stack {

  constructor(scope: Construct, id: string, props: cdk.StackProps){
    super(scope, id, props);

    // actual name: DemoStage-StoBastion-StoBastionLogGroup5EEB3DE8-AdkaWy0ELoeF
    const logGroup = new LogGroup(this, "StoBastionLogGroup", {
      retention: RetentionDays.TWO_WEEKS,
    });

    let initScriptPath = 'lib/script/bastion-linux2-asg-provision.sh';
    const userDataText = readFileSync(initScriptPath, 'utf8');

    const autoScalingGroup = new AutoScalingGroup(this, 'StoAsg', {
      ...   
      userData: UserData.custom(userDataText),
    })    
    
  }
}
Run Code Online (Sandbox Code Playgroud)

userData …

amazon-ec2 aws-cdk

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