小编Luc*_*chi的帖子

不同配置格式的优缺点?

我见过人们使用*.cfg(Python Buildout),*.xml(Gnome),*.json(Chrome扩展),*.yaml(Google App Engine),*.ini甚至*.py来获取应用配置文件(像Django).

我的问题是:为什么有这么多不同的配置文件格式?我可以从xml vs json方法(更简洁的方法)或Python方法中看到一个优势(有时你有一个Python应用程序而且不想仅使用特定的模块来解析配置文件),但是另一个呢?方法?

我知道有比我举例说明的那些配置文件更多的格式.与对方相比,他们的优势是什么?历史原因?与不同系统的兼容性?

如果您要启动应用程序来读取某种配置文件(带有插件生态系统),您会使用哪一种?

我举例说哪些是最老的?你知道它的历史吗?

python xml google-app-engine json configuration-files

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

如何通过API获取完整的松弛表情符号列表?

我正在使用松弛的API来获取表情符号的完整列表,这样当我收到消息时,我将替换:squirrel:为图标.

该方法的https://slack.com/api/emoji.list工作方式类似于魅力,但仅返回30个图标.我认为这是正确的,因为在文档页面(https://api.slack.com/methods/emoji.list)中他们说:

此方法列出了团队的自定义表情符号.

很公平,但我怎样才能获得关联icon-name/icon URL的完整列表?

slack-api slack

17
推荐指数
3
解决办法
8617
查看次数

使用Java Spring连接到MongoDB 3.0

我在使用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您使用哪个版本来制作技巧?

java authentication spring mongodb

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

Spring注解@Retryable - 如何设置拦截器

我在类@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)

java spring spring-rabbit spring-retry

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

如何计算Laravel加密方法的最大输出长度?

建立

鉴于以下内容:

$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 encryption aes laravel laravel-encryption

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

如何使用Docker在Alpine Linux上部署Laravel Web应用程序?

我使用PHP的基础映像(尤其7.3-apache-stretchhttps://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应用程序?

php apache laravel docker alpine-linux

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

使用 docker 和 alpine php 镜像更改 php.ini 中的值

我有一个在 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,但我该怎么做呢?

php laravel docker alpine-linux

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

JUnit测试RabbitMQ

我正在使用带有Spring的RabbitMQ构建一个应用程序:到目前为止一直很好.定义单元测试我使用JUnit定位外部服务器.我想知道的是,是否有办法模拟RabbitMQ服务器来执行测试,如果有一种方法,那就是最好的方法.

我发现了一些帖子,但它们是在2012年甚至之前制作的......也许有更新,更容易,更有效的东西!

提前致谢

java junit spring spring-rabbit spring-amqp

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

如何使用CloudFormation定义ECR生命周期策略

为了限制存储库中的图像数量,我想定义一个生命周期策略。由于所有堆栈都是使用CloudFormation定义的,因此我也想定义此策略。

例如,我的政策可能是“仅保留最近的8张图像,无论是否已标记”。

aws-cloudformation amazon-ecr

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

在 Azure Devops 中为单个团队成员创建燃尽图

我更喜欢 Azure DevOps 和燃尽图,我真的很喜欢。

以至于我试图用 DevOps 替换旧的 Excel 电子表格。

虽然默认的燃尽图考虑了团队的所有成员,但我需要为每个团队成员获取一个。

有没有办法做到这一点?如果有多个,哪个最好?

按照这里的说明,我可能会想到为每个团队成员创建一个新团队……但这听起来很愚蠢。以前有人有同样的要求吗?

azure burndowncharts azure-devops

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