我在 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) *以下问题与我之前提出的问题相关,因此如果我重复,请提前道歉,但我仍然无法解决我的问题。
\n我正在尝试让 Storybook 与 Tailwind CSS 一起使用,但到目前为止没有成功。这些是我遵循的步骤:
\nmodule.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}\nRun 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>\nRun Code Online (Sandbox Code Playgroud)\n链接到 Github 存储库: …
我正在阅读Joshua Bloch 的《Effective Java》。第 8项:避免第 2 章的定型剂和清洁剂定型剂和清洁剂中,他指出:
\n\n\n终结器有一个严重的安全问题:它们使您的类容易受到终结器攻击。终结器攻击背后的想法很简单:如果从构造函数或其序列化\nequivalents\xe2\x80\x94中抛出\n异常,则
\nreadObject和readResolve方法(第12)\xe2\x80\x94\n恶意子类的终结器可以在部分构造的\n对象上运行,而该对象应该有\xe2\x80\x9cd。\xe2\x80\x9d 这个终结器可以记录\n对静态字段中的对象,防止其\n被垃圾收集。一旦记录了格式错误的对象,就可以简单地调用该对象上的任意方法,而这些方法本来就不应该被允许存在。从构造函数抛出\n异常应该足以阻止\n对象的存在;在存在终结器的情况下,情况并非如此。\n此类攻击可能会产生可怕的后果。Final 类不会受到终结器攻击,因为没有人可以编写 Final 类的恶意子类。
首先,我知道自 Java 18 以来终结器已被弃用。尽管如此,我认为了解此决定背后的原因很重要。我对上面摘录的理解如下:
\n其次,我希望我对这个问题的概念理解是正确的。然而,Bloch 尚未在具体的代码示例中演示这个问题。也许是因为他不想让我们搞乱Object.
您能用代码向我演示一下吗?
\n例如,如果我有一个超类:
\n/** Superclass */\npublic class DemoSecurityProblem {\n\n}\nRun Code Online (Sandbox Code Playgroud)\n然后通过继承或组合来子类:
\npublic class MaliciousSubClass extends DemoSecurityProblem {\n DemoSecurityProblem demoSecurityProblem = new DemoSecurityProblem();\n}\nRun Code Online (Sandbox Code Playgroud)\n攻击者如何通过终结机制利用这一点?
\n多谢! …
java garbage-collection memory-management finalizer effective-java
docker ×1
dockerfile ×1
finalizer ×1
java ×1
next.js ×1
postcss ×1
storybook ×1
tailwind-css ×1
typescript ×1