我见过人们使用*.cfg(Python Buildout),*.xml(Gnome),*.json(Chrome扩展),*.yaml(Google App Engine),*.ini甚至*.py来获取应用配置文件(像Django).
我的问题是:为什么有这么多不同的配置文件格式?我可以从xml vs json方法(更简洁的方法)或Python方法中看到一个优势(有时你有一个Python应用程序而且不想仅使用特定的模块来解析配置文件),但是另一个呢?方法?
我知道有比我举例说明的那些配置文件更多的格式.与对方相比,他们的优势是什么?历史原因?与不同系统的兼容性?
如果您要启动应用程序来读取某种配置文件(带有插件生态系统),您会使用哪一种?
我举例说哪些是最老的?你知道它的历史吗?
我正在使用松弛的API来获取表情符号的完整列表,这样当我收到消息时,我将替换:squirrel:为图标.
该方法的https://slack.com/api/emoji.list工作方式类似于魅力,但仅返回30个图标.我认为这是正确的,因为在文档页面(https://api.slack.com/methods/emoji.list)中他们说:
此方法列出了团队的自定义表情符号.
很公平,但我怎样才能获得关联icon-name/icon URL的完整列表?
我在使用Spring访问带有凭据的MongoDB时遇到了问题.虽然没有凭据,它就像一个魅力,使用它们只是失败说
Failed to authenticate to database [yourdatabase], username = [yourusername], password = [x******z]
Run Code Online (Sandbox Code Playgroud)
必须是因为新的auth默认值,您可以在http://docs.mongodb.org/manual/core/authentication/中阅读
在3.0版中更改:SCRAM-SHA-1是从3.0系列开始的MongoDB版本的默认机制.
问:有人发现了一种使用Spring凭证的方法吗?spring-data-mongodb您使用哪个版本来制作技巧?
我在类@Retryable中的方法上使用注释@Service
@Service
@EnableRetry
public class PushService {
@Retryable(maxAttempts=5)
public Result pushIt(myMessage messageIn) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
它的工作方式就像一个魅力:我直接从 RabbitMQ 收到一条消息,直到没有错误或尝试次数达到 5 为止,它才会被确认,那时消息会直接进入 DLQ,就像我一样通缉。
我唯一的问题是我需要从属性文件动态设置 maxAttempts 。解决方案应该是设置一个拦截器,但是只有一个拦截器会导致错误,例如当我有:
@Service
@EnableRetry
public class PushService {
@Retryable(interceptor="myInterceptor")
public Result pushIt(myMessage messageIn) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
其中 myInterceptor 定义为:
@Bean
public StatefulRetryOperationsInterceptor myInterceptor() {
return RetryInterceptorBuilder.stateful().maxAttempts(5).build();
}
Run Code Online (Sandbox Code Playgroud)
我得到一个无限循环,但有以下例外:
2015-04-08 07:12:10,970 GMT [SimpleAsyncTaskExecutor-1] (ConditionalRejectingErrorHandler.java:67) WARN listener.ConditionalRejectingErrorHandler: Execution of Rabbit message listener failed.
org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException: Listener threw exception
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.wrapToListenerExecutionFailedExceptionIfNeeded(AbstractMessageListenerContainer.java:864)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:802)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:690)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.access$001(SimpleMessageListenerContainer.java:82) …Run Code Online (Sandbox Code Playgroud) 鉴于以下内容:
$s = Crypt::encryptString('a');
Run Code Online (Sandbox Code Playgroud)
有可能知道,对于长度为1的字符串,可能的长度范围是$s多少?
数据库存储 - 需要存储加密值,并且希望设置输入字符串的验证,以便在加密时将最长的输入字符串插入到数据库中而不进行截断.
使用以下代码段在本地运行一些非常粗略的测试:
Route::get('/test', function() {
echo '<table>';
for ($i=0; $i < 100; $i++) {
$s = str_repeat('a', $i);
$l1 = strlen($s);
$l2 = strlen(Crypt::encryptString($s));
echo "<tr><td>$l1</td><td>$l2</td></tr>";
}
echo '</table>';
});
Run Code Online (Sandbox Code Playgroud)
我可以看到以下内容,但它在运行之间有所不同,例如,一个'a'字符串的长度为188或192(较长的值似乎介于244和248之间).
所以必须有一个公式.我已经看到output_size = input_size + (16 - (input_size % 16))但没有考虑到方差.
产量
0 192
1 188
2 188
3 192
4 188
5 188
6 188
7 192
8 192
9 188
10 188
11 …Run Code Online (Sandbox Code Playgroud) 我使用PHP的基础映像(尤其7.3-apache-stretch是https://hub.docker.com/_/php/)成功地在ECS上部署了Laravel Web应用程序
充分了解Docker中有关Alpine Linux映像的讨论(允许最终映像尺寸显着减少),我想对其进行一次测试,以了解其性能。不幸的是,尽管使用CLI版本非常容易(使用7.3-cli-alpine3.9),但是没有启用Apache的版本。我需要的是将Dockerfile其用作开发的基础。
仅Apache
浏览SO,我发现如何在Docker的Alpine上运行Apache 2?这引起了我对https://github.com/nimmis/docker-alpine-apache的关注,该功能启用了Apache,但是PHP完全缺失了,因此我必须将其集成。
使用FCGI运行Apache / NGINX和PHP
Docker中PHP和Apache / httpd的Alpine变体的另一个问题使我们更加接近,但是暗示了使用两个容器,这不是我想要的。
如何Dockerfile让我现成部署Laravel Web应用程序?
我有一个在 docker 上运行的 PHP 应用程序,基于php:7.3-alpine3.9
对于一个大表单,我发布了 1000 多个输入,而且我不仅收到错误
Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0`
Run Code Online (Sandbox Code Playgroud)
但最糟糕的是,只有 1000 个输入传递到后端
所以看起来我需要更改max_input_vars中的php.ini,但我该怎么做呢?
我正在使用带有Spring的RabbitMQ构建一个应用程序:到目前为止一直很好.定义单元测试我使用JUnit定位外部服务器.我想知道的是,是否有办法模拟RabbitMQ服务器来执行测试,如果有一种方法,那就是最好的方法.
我发现了一些帖子,但它们是在2012年甚至之前制作的......也许有更新,更容易,更有效的东西!
提前致谢
为了限制存储库中的图像数量,我想定义一个生命周期策略。由于所有堆栈都是使用CloudFormation定义的,因此我也想定义此策略。
例如,我的政策可能是“仅保留最近的8张图像,无论是否已标记”。
我更喜欢 Azure DevOps 和燃尽图,我真的很喜欢。
以至于我试图用 DevOps 替换旧的 Excel 电子表格。
虽然默认的燃尽图考虑了团队的所有成员,但我需要为每个团队成员获取一个。
有没有办法做到这一点?如果有多个,哪个最好?
按照这里的说明,我可能会想到为每个团队成员创建一个新团队……但这听起来很愚蠢。以前有人有同样的要求吗?
java ×3
laravel ×3
php ×3
spring ×3
alpine-linux ×2
docker ×2
aes ×1
amazon-ecr ×1
apache ×1
azure ×1
azure-devops ×1
encryption ×1
json ×1
junit ×1
mongodb ×1
python ×1
slack ×1
slack-api ×1
spring-amqp ×1
spring-retry ×1
xml ×1