小编Rah*_*hul的帖子

Docker-Compose:如何依赖另一个网络上的容器?即使网络已链接,我仍收到一条错误消息,提示容器“未定义”

我在 2 个不同位置的 2 个不同的 docker-compose.yml 文件中有 2 个不同的服务。

服务1:wordpress

version: "3.7"

services:

  # Wordpress
  wordpress:
    depends_on:
      - db
    container_name: wordpress
    image: wordpress:latest
    ports:
      - '8000:80'
    restart: unless-stopped
    volumes: ['./:/var/www/html']
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
    networks:
      - wpsite
networks:
  wpsite:
    driver: bridge
Run Code Online (Sandbox Code Playgroud)

服务2:前端

version: "3.7"

services:
  frontend:
    depends_on:
      - wordpress
    container_name: frontend
    restart: unless-stopped
    stdin_open: true
    build:
      context: ../realm-frontend
    volumes:
      - static:/realm-frontend/build
    networks:
      - cms_wpsite

networks:
  cms_wpsite:
    external: true

Run Code Online (Sandbox Code Playgroud)

我有一个 shell 脚本,可以转到这 2 个位置并运行 docker-compose 文件来创建容器。

脚本

cd …
Run Code Online (Sandbox Code Playgroud)

docker dockerfile docker-compose docker-network

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

如何将 Storybook 与 Tailwind CSS、创建下一个应用程序和 TypeScript 集成

*以下问题与我之前提出的问题相关,因此如果我重复,请提前道歉,但我仍然无法解决我的问题。

\n

我正在尝试让 Storybook 与 Tailwind CSS 一起使用,但到目前为止没有成功。这些是我遵循的步骤:

\n
    \n
  1. 我从头开始创建了一个新的 TypeScript 项目,使用 Create Next App 进行引导\nit。我按照Tailwinds 网站上的说明进行操作。Tailwind 在应用程序上运行良好。
  2. \n
  3. 我按照他们网站上的说明设置了 Storybook 。Storybook 在端口 6006 上启动正常。
  4. \n
  5. 我相应地配置了 main.js 文件,以合并 PostCSS,以便 Tailwind 在 Storybook 中工作:
  6. \n
\n
module.exports = {\n  "stories": [\n    "../stories/**/*.stories.mdx",\n    "../stories/**/*.stories.@(js|jsx|ts|tsx)"\n  ],\n  "addons": [\n    "@storybook/addon-links",\n    "@storybook/addon-essentials",\n    "@storybook/addon-postcss"\n  ],\n  "framework": "@storybook/react"\n}\n
Run Code Online (Sandbox Code Playgroud)\n

尽管做了所有这些,我没有看到 Tailwind 对应用程序中的故事组件\xe2\x80\x94 产生任何影响。

\n

我尝试通过在 Storybook 组件中放入一个小元素来测试 Tailwind 是否有效。我没有看到它按预期呈现:

\n
<h1 className="text-3xl font-bold underline">\n    Tailwind Works!\n</h1>\n
Run Code Online (Sandbox Code Playgroud)\n

链接到 Github 存储库: …

typescript postcss next.js storybook tailwind-css

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

为什么 Java 终结器存在安全问题?

我正在阅读Joshua Bloch 的《Effective Java》。第 8项:避免第 2 章定型剂和清洁剂定型剂和清洁剂中,他指出:

\n
\n

终结器有一个严重的安全问题:它们使您的类容易受到终结器攻击。终结器攻击背后的想法很简单:如果从构造函数或其序列化\nequivalents\xe2\x80\x94中抛出\n异常,则readObjectreadResolve方法(第12)\xe2\x80\x94\n恶意子类的终结器可以在部分构造的\n对象上运行,而该对象应该有\xe2\x80\x9cd。\xe2\x80\x9d 这个终结器可以记录\n对静态字段中的对象,防止其\n被垃圾收集。一旦记录了格式错误的对象,就可以简单地调用该对象上的任意方法,而这些方法本来就不应该被允许存在。从构造函数抛出\n异常应该足以阻止\n对象的存在;在存在终结器的情况下,情况并非如此。\n此类攻击可能会产生可怕的后果。Final 类不会受到终结器攻击,因为没有人可以编写 Final 类的恶意子类。

\n
\n

首先,我知道自 Java 18 以来终结器已被弃用。尽管如此,我认为了解此决定背后的原因很重要。我对上面摘录的理解如下:

\n
    \n
  1. 终结器是不确定的。
  2. \n
  3. 恶意子类可以在部分构造的损坏的超类对象上运行其终结器方法。
  4. \n
  5. 将损坏对象的引用移动到静态字段不会让 JVM 进行垃圾收集。
  6. \n
  7. 攻击者可以使用这个应该在 vine\xe2\x80\x9d 上死掉的对象,并按照他们的意愿行事。因此,存在安全缺陷。
  8. \n
\n

其次,我希望我对这个问题的概念理解是正确的。然而,Bloch 尚未在具体的代码示例中演示这个问题。也许是因为他不想让我们搞乱Object.

\n

您能用代码向我演示一下吗?

\n

例如,如果我有一个超类:

\n
/** Superclass */\npublic class DemoSecurityProblem {\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n

然后通过继承或组合来子类:

\n
public class MaliciousSubClass extends DemoSecurityProblem {\n    DemoSecurityProblem demoSecurityProblem = new DemoSecurityProblem();\n}\n
Run Code Online (Sandbox Code Playgroud)\n

攻击者如何通过终结机制利用这一点?

\n

多谢! …

java garbage-collection memory-management finalizer effective-java

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