小编Bra*_*don的帖子

如何从Dockerized Node应用程序中将应用程序日志发送到Elasticsearch?

我有一个小node脚本,我用它bunyan来处理应用程序日志记录.记录器写入本地存储.我想将日志发送到elasticsearch使用filebeat(这两个对我来说都是新技术).

我已经制作了一个dockerfile容器应用程序(下面),但我不确定如何/在哪里插入必要的指令.有没有办法elasticsearch从我的内部发送我的日志docker?虽然我在它,也发送docker container&os发出的任何日志?

# dockerfile. 
# installations and entrypoint are to run nightmarejs headless
FROM node:latest

RUN apt-get update &&\
    apt-get install -y libgtk2.0-0 libgconf-2-4 \
    libasound2 libxtst6 libxss1 libnss3 xvfb

WORKDIR /app
COPY ./dist .

# enable installation of private npm modules
ARG NPM_TOKEN  
COPY .npmrc .npmrc  
COPY package.json .
RUN npm i
RUN rm -f .npmrc
COPY entrypoint /
RUN chmod +x …
Run Code Online (Sandbox Code Playgroud)

node.js docker bunyan elastic-stack

5
推荐指数
0
解决办法
1488
查看次数

如何在动态高度的 flexbox 中进行 div 拉伸?

我正在尝试使用 flexbox 进行堆叠布局。理想情况下,它看起来像这样:

垂直堆叠的 2 个盒子,顶部为红色,底部为蓝色的 4 倍

其中底部(蓝色)div 是固定高度,250px顶部 div 是n-250,其中n是父容器的大小——换句话说,顶部应该伸展以填充容器。

当我有容器高度时,我对如何执行此操作有一些想法,但我宁愿避免在运行时确定该变量。

这个问题已经以各种形式详细讨论过,但似乎没有一个能解决这个简单的用例(例如,这里使用页眉/内容/页脚,但表面上不仅仅是内容/页脚)。

我已经用示例设置了一个代码笔

css flexbox

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

如何缩短 Google Cloud Storage 签名的下载 URL?

我有一个firebase应用程序,我Firebase Storage用来上传图片。在URLSI回来时,我用firebase web sdk上传是合理的:

https://firebasestorage.googleapis.com/v0/b/projectId.appspot.com/o/image.jpg?alt=media&token=51183d4a-551a-41e2-b620-14b44b8c86ed
Run Code Online (Sandbox Code Playgroud)

但是,由于在他们的SDKFirebase中不支持,我必须使用:storage APInode.jsGoogle Cloud Storage SDK

bucketRef.upload(localImagePath, options, (err, file, response) => {
                    file.getSignedUrl({
                        action: 'read',
                        expires: '03-17-2030'
                    }, (err, url) => {
                        console.log(url)
                    })
                })
Run Code Online (Sandbox Code Playgroud)

这将返回长得令人望而却步:

https://storage.googleapis.com/projectId.appspot.com/image.jpg?Googl
eAccessId=firebase-adminsdk-xfe5z@projectId.iam.gserviceaccount.com&Expires=1899950400&Si
gnature=fyotCYAbiWGuBGjwL0YDpByqZsKTdrwd9%2F7bZ88Rw8zP53dyEvcrIer6paYdzb%2BlH7OmJSRfcSxaAj7ur
GhZw20a4k4b5InLufqrOhSuYAE6w5vM2Hp8vz1XgSXl9jOFym2wMPEn7RkVwjxnT3QJKSBa0vqnkXX0wQUF4CjvHjUxbS
Tc9jj0NeNYUNmHGlZlVcKf%2BgE00rG9gt3QyCGAMt55h3kltMbyT%2FvnAYh%2FwuvhbVhX%2FNSCjieYb13KjjmDTgt
l5NU5nWY9Cu0QBraAbn6GlsUUvj0hBB2Gi7OHnUNi218w3EPehy7YAy6RhTcnuhiZlFaLX3TSmBS%2BX%2F3%2BoA%3D%
3D
Run Code Online (Sandbox Code Playgroud)

我将这些 URL 保存在 firebase 中,因此当我存储的图像数量开始接近 6-7 位数字范围时,这将成为一种存储负担。

有没有办法缩短这个?

google-cloud-storage firebase firebase-storage

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

如何包含 Chrome 扩展内容脚本的样式?

我正在开发一个 Chrome 扩展程序,它将一些 UI 反应组件注入到页面中。

UI 组件来自react-mdl. 使用它们需要我在项目顶部包含一个css 文件

不幸的是,一旦css注入页面,整个页面的字体都会改变。

有没有办法来限制的范围内css使用react-mdl,使得它不会影响我注入该页面?

css google-chrome-extension reactjs material-design-lite

4
推荐指数
2
解决办法
1655
查看次数

如何将Salesforce添加为Datagrip中的数据源?

我将Datagrip用于SQL开发。最近,我不得不使用Salesforce SQL(aka SOQL),但是似乎没有像Datagrip这样有用的IDE。

所以:我想将Salesforce作为数据源添加到Datagrip,就像Postgres或MySQL数据库一样。

是否可以通过扩展或其他方式完成?

我知道https://jetforcer.com/存在,但似乎在两个方面达不到要求:

(a)显然,它只是生活在JetBrains应用程序中的UI,所以我认为它不适合我想要的Datagrip工作流程中的无缝集成

(b)花费60美元。我不需要进行任何实际的Salesforce开发,因此仅花60美元仅对Salesforce运行查询就不理想了。

salesforce datagrip

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

带Segment.io的广告拦截器

我正在考虑将segment.io用于我的一些客户端第三方API需求,但是我有点担心广告拦截器。

我的应用没有广告,但是我进行了大量的事件跟踪以进行产品分析以及错误跟踪。

Segment.io提供了一个很好的多合一解决方案,但是如果它被阻止了,而且我所有的鸡蛋都放在那个篮子里,那么,我将不剩任何鸡蛋了,否则这个成语就结束了。

所以我的问题是:是否有一种方法可以集成不那么容易受到广告拦截的多用途事件跟踪(segment.io,keen.io等)?

我的应用程序大多是无服务器的,使用Firebase + AWS Lambda设置,因此我尝试过考虑某种后端解决方案,但到目前为止还没有什么大的想法。

预计到达时间:我不是要跟踪广告拦截用户或侵犯任何人的信任。我的问题是关于与用户身份无关的事件跟踪,以及是否在可能被广告屏蔽的多合一事件跟踪库中实现了这一目标。

analytics

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

如何针对任何读取冻结 SQS 队列?

我有一个 SQS 队列(标准,不是 FIFO),我在长时间运行的进程中用作多个工作人员的任务队列。

我正在尝试添加一个“终止开关”,它会暂时阻止我的工作人员接收/处理任何消息。

我不想删除消息或阻止任何新消息进入队列,只需停止任何阅读器,直到我再次切换终止开关。

这可能与SDK有关吗?还是有权限?

amazon-sqs amazon-web-services

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

在赛普拉斯中如何对带有间谍的物体断言?

我正在使用赛普拉斯间谍来测试客户端分析。

我在此测试中的目的是确认identify已这样调用:

identify('myemail@email.com', { groupId: 1002, groupName: "myGroup", someProp: 1, anotherProp: 2 })

我将间谍挂接到全局analytics对象的发射器事件中window:before:load(请注意,while循环是为了处理库加载中的延迟):

Cypress.on("window:before:load", async (win: Window) => {

  const sleep = (n = 1) => new Promise(r => setTimeout(r, n));
  let set = false;
  while (set === false) {
    if (win["analytics"]) {
      set = true;
      const a = win["analytics"];
      const pageSpy = cy.spy().as("page");
      const idSpy = cy.spy().as("identify");
      a.on("page", pageSpy);
      a.on("identify", idSpy);

    } else {
       // default sleep of 1ms. this …
Run Code Online (Sandbox Code Playgroud)

javascript sinon cypress

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