已成功使用Docker几周,但今天我遵循一系列说明建议将以下两行添加到docker配置文件中/etc/init/docker.conf
:
limit memlock unlimited unlimited
limit nofile 262144
Run Code Online (Sandbox Code Playgroud)
然后建议重新启动Docker sudo /etc/init.d/docker restart
.当我在Ubuntu 14.04下执行此操作时,它报告说:
- Docker通过upstart进行管理,尝试使用服务docker restart
我试过sudo service docker restart
它报告的内容:
停止:未知工作:码头工人
开始:未知工作:docker
现在我坚持使用docker守护进程没有运行!我尝试重新启动,但它仍然没有运行,当运行一些简单的事情sudo docker version
:
Client version: 1.2.0
Client API version: 1.14
Go version (client): go1.3.1
Git commit (client): fa7b24f
OS/Arch (client): linux/amd64
2014/10/01 09:57:45 Get http:///var/run/docker.sock/v1.14/version: dial unix /var/run/docker.sock: no such file or directory
Run Code Online (Sandbox Code Playgroud)
要进行故障排除,我尝试在命令行上启动docker守护程序:
sudo docker -d
Run Code Online (Sandbox Code Playgroud)
在另一个终端窗口中,我现在可以正常运行Docker.这很好,但是如何让它再次正常启动呢?另外我注意到我有两个docker配置文件:
/etc/init/docker.conf
/etc/init/docker.io.conf
Run Code Online (Sandbox Code Playgroud)
它们看起来像DUP.他们多余了吗?我应该看哪一个?我需要两个吗?
我也注意到,当我运行时,sudo service --status-all |grep docker
我会得到这两个docker
并docker.io
列出的服务.长大的.
我有一个步进函数(如下图所示),当我突然遇到一个相当意外的结果时,我正在解决剩下的几个问题:
我有点傻眼了。有没有人看到这个?有谁知道我将如何解决它?
Ember将参数从一条路线发送到另一条路线的"适当"方式是什么?例如,我有两条路由定义如下:
this.resource('activities', { path: '/activities/:on_date' }, function() {
this.route('new');
});
Run Code Online (Sandbox Code Playgroud)
当在ActivitiesRoute
用户上呈现可能活动的下拉列表时.当他们选择某些东西时,它会转换为ActivitiesNewRoute
:
this.transitionToRoute('activities.new');
Run Code Online (Sandbox Code Playgroud)
并且我知道方法中有第二个参数可用,transitionToRoute(route,model)
但是它用于传入模型,我假设不应该将其重新用于其他参数传递.在这种情况下,下拉选项是选择Action
模型ID,而ActivitiesNew的模型是a Activity
.
以下是我可能有效的三种方法:
1)使其成为路由器参数
我想我可以ActivitiesNew
改为包含一个"参数"作为路线的一部分:
this.route('new', { path: '/new/:my_parameter' });
Run Code Online (Sandbox Code Playgroud)
我不确定我是否真的希望它成为URL路径的一部分,但如果这是普遍的惯例,那么我就会接受它.
2)获得一个句柄,过渡后
在transitionToRoute调用之后,我可以立即设置新控制器类的属性.不确定控制器是否会安装但我想象的是:
this.transitionToRoute('activities.new');
this.get('target').controllerFor('activities.new').set('my_parameter', myValue);
Run Code Online (Sandbox Code Playgroud)
3)使用模型参数
this.transitionToRoute('activities.new',myValue);
Run Code Online (Sandbox Code Playgroud)
我怀疑这是一个重要的禁忌.我没有查看Ember代码,知道这是否可行,但似乎违反惯例,所以这是我的"糟糕选择".
我正在构建一个由Lambda函数提供服务的API,但我需要这些API是异步的,而不是将API-Gateway直接连接到Lambda函数我使用"AWS服务代理"来发布 SNS消息然后拥有Lambda函数订阅相关的SNS主题,以便它接收请求的传递.这是一张说明流程的图片:
我已经单独测试了Lambda函数以及SNS和Lambda之间的pub/sub消息传递,但我正在努力使用API-Gateway进行SNS切换.文档很轻,但我现在假设的是必须在POST请求中发送以下属性:
操作:API-Gateway提供在UI中设置它,我已经放入了发布操作,这是适当的SNS操作
消息:POST消息的正文应该是JSON文档.它将由Web客户端传递,并通过网关代理到SNS.
TopicArn:表示我们要发布的SNS主题.在我的设计中,这将是一个静态值/端点,所以我更喜欢Web客户端也不必通过它,但如果它更容易做到这一点也会很好.
我尝试了很多东西,但我只是卡住了.很想在某处找到一个好的代码示例,但任何帮助都会受到赞赏.
想要为我目前的尝试增加更多的背景:
我尝试发布我的API并使用Postman尝试获得有效的响应.这是邮递员屏幕(一个用于标题变量,一个用于JSON正文):
这会导致以下错误消息:
{
"Error": {
"Code": "InvalidParameter",
"Message": "Invalid parameter: TopicArn or TargetArn Reason: no value for required parameter",
"Type": "Sender"
},
"RequestId": "b33b7700-e8a3-58f7-8ebe-39e4e62b02d0"
}
Run Code Online (Sandbox Code Playgroud)
错误似乎表明TopicArn参数没有发送到SNS,但我在API-Gateway中包含以下内容:
我在Javascript的4.3运行时使用了两个lambda函数.我运行第一个,它同步调用第二个(同步是意图).问题是第二次超时(60秒)但实际上仅在22秒后达到成功结束.
这是两个Lambda函数之间的流程:
Lamda功能A我不再获取CloudWatch日志,但真正的问题(我认为)是功能B,它没有任何理由超时.
以下是一些CloudWatch日志来说明这一点:
最后的函数B中的代码 - 包括上面的图片中的"成功"日志语句 - 包含在下面:
最初我只有callback(null, 'successful ...')
行,而不是0.10.x
你succeed()
从上下文调用的nodejs 方式.绝望中我添加了两个,但结果是一样的.
任何人都知道发生了什么事?我可以用这种方式调试吗?
如果A和B之间的调用逻辑在B开始的状态中产生差异,这里是调用:
我注意到,当我使用命名空间时,动态加载类与我静态加载它们时的工作方式不同.因此,例如,在不使用命名空间的情况下,以下内容在实例化一个名为的类的操作中是等效的FooBar
:
$foobar = new FooBar();
Run Code Online (Sandbox Code Playgroud)
和
$classname = "FooBar";
$foobar = new $classname;
Run Code Online (Sandbox Code Playgroud)
但是,如果使用命名空间时我有一些这样的代码:
<?php
namespace Structure\Library;
$foobar = new UserService();
$classname = "UserService";
$barfoo = new $classname;
Run Code Online (Sandbox Code Playgroud)
在这种情况下,UserService
类的完全限定名称是Structure\Library\UserService
,如果我使用完全限定名称,它在两种情况下都有效,但如果我只使用它的快捷方式名称,'UserService'
则只有在使用静态方法实例化时才有效.有没有办法让它适用于两者?
PS我正在为所有类使用自动加载器...但我假设问题发生在自动加载器之前并影响传递给自动加载器的类字符串.
我有一个 VueJS 项目,它使用 ViteJS 进行转译(这工作正常),显然,当涉及 ViteJS 时,生成的输出是本机 ES 模块,但对于 Jest 测试,我仍然使用ts-jest和我正常的旧 Jest 配置:
jest.config.ts
import { resolve } from "path";
import type { Config } from "@jest/types";
const config: Config.InitialOptions = {
verbose: true,
testEnvironment: "jsdom",
// roots: ["tests", "src"],
transform: {
"^.+\\.tsx?$": "ts-jest",
},
testPathIgnorePatterns: ["/node_modules/"],
moduleNameMapper: {
"^[/]{0,1}~/(.*)$": resolve(process.cwd(), "src", "$1"),
},
testMatch: ["**/?(*[-.])+(spec|test).ts"],
setupFilesAfterEnv: ["jest-extended"],
};
export default config;
Run Code Online (Sandbox Code Playgroud)
现在我突然收到这个错误:
现在这个错误似乎集中在新的import.meta
元属性上。这是一个新属性,但我的印象是使用“ES2020”和“ESNEXT”作为目标将允许我使用它。事实上,Vite/Rollup 的转译没有问题,vs-code 也没有给我任何警告,但在 Jest、ts-jest 和 Typescript 之间,某些东西没有给 Jest 测试运行程序提供错误的“目标”(我的 tsconfig.json)文件正确)。
现在我发誓,即使有这个参考,它也能工作,但import.meta …
我一直在努力寻找一个支持OAuth 2.0作为服务器的活跃的开源PHP项目.有大量的客户端示例连接到Facebook,Twitter等,但随着越来越多的人希望通过API公开他们自己的服务,我有点惊讶开源社区还没有解决这个需求.并不是说什么都没有,只有什么是大多数过时的,几乎没有文档,而且在当前的开发和对话方面几乎没有活动.
我错过了一个好的开源选项吗?有谁知道任何商业选择?我真的需要尽快得到一些东西,我个人没有带宽或安全凭证来解决这个问题.
我有一个mixin app/mixins/ui-listener.js
,我很难与Ember-CLI一起使用.我正在尝试使用以下语法的mixin:
import ListenerMixin from './mixins/ui-listener';
export default Ember.Component.extend(ListenerMixin,{
// class definition
}
Run Code Online (Sandbox Code Playgroud)
当我保存它时,这会失败,抱怨
ENOENT,没有这样的文件或目录'tmp/tree_merger -tmp_dest_dir-74tK3rvD.tmp/[app-name] /components/mixins/ui-listener.js'
似乎有趣的是,"mixins"目录嵌套在"components"目录下(因为Ember-CLI将这些目录放在同一级别),但这可能只是一个Brocoli构建步骤.无论如何,任何帮助将不胜感激.
我在我的vs-code用户设置中包含以下内容:
"emmet.includeLanguages": {
"vue-html": "html",
"markdown": "html"
},
"emmet.triggerExpansionOnTab": true,
Run Code Online (Sandbox Code Playgroud)
并且本来期望看到emmet为markdown文件工作作为结果,但我没有得到任何建议,即使我明确地按下?Space
它只是提出"没有建议".
在Markdown文件中获取emmet还需要什么?
ember.js ×2
php ×2
amazon-sns ×1
aws-lambda ×1
docker ×1
ember-cli ×1
emmet ×1
jestjs ×1
markdown ×1
namespaces ×1
node.js ×1
oauth-2.0 ×1
security ×1
typescript ×1
ubuntu ×1