小编Ada*_*dam的帖子

PageSpeed Insights没有看到Gzip压缩

我正在努力加速我的网站.Google洞察(https://developers.google.com/speed/pagespeed/insights)告诉我,一个关键问题是启用GZip压缩.

该网站的地址是http://user2.net 它基于codeigniter框架.

我已经启用了gzip压缩,并对我的.htaccess文件进行了以下更改:

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript


<files *.html>
SetOutputFilter DEFLATE
</files>
Run Code Online (Sandbox Code Playgroud)

我使用此工具测试了该站点:http: //www.gidnetwork.com/tools/gzip-test.php 它说gzip已启用.

我错过了什么?

compression seo gzip

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

Docker安装S3容器

在Docker主机中安装S3容器的最佳做法是什么?有没有办法透明地做到这一点?或者我是否需要使用VOLUME指令将卷装入主驱动器,然后使用CRON手动将文件备份到S3?

backup amazon-s3 amazon-web-services docker

8
推荐指数
2
解决办法
5073
查看次数

Pimple DI股票贬值.怎么办?

在Pimple 1.0中,我曾经能够像这样共享类实例:

$app['some_service'] = $app->share(function () {
    return new Service();
});
Run Code Online (Sandbox Code Playgroud)

现在这似乎已被弃用,我无法找到这样做的新方法.

php symfony silex pimple

7
推荐指数
1
解决办法
1438
查看次数

你能给我一个如何使用Ramda电梯的例子吗?

我正在阅读ramda文档

const madd3 = R.lift((a, b, c) => a + b + c);

madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]
Run Code Online (Sandbox Code Playgroud)

它看起来像一个非常有用的功能.我看不出它会是什么用例.

谢谢

javascript functional-programming ramda.js

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

Nestjs中的NestFactory.create可以订阅kafka上的主题吗?

该文档建议使用NestFactory.createMicroservice创建一个传输订阅应用程序。

我目前有一个基于 REST 的微服务,其中包含域逻辑和与数据库的连接。我想在该微服务上订阅 Kafka 消息。是否可以在这个单一微服务的范围内做到这一点?我在文档中看不到这一点。

这让我想知道模式是否应该是:我应该创建一个额外的微服务,NestFactory.createMicroservice它将连接到 Kafka,然后将消息分发到我的 REST API...通过 REST?这意味着其余 api 将在休息期间发生所有可能的“操作”,但间歇性微服务将根据 Kafka 的消息触发它。

如果这是真的,这是否意味着随着我的应用程序的扩展,我最终可能会为每个剩余微服务订阅一个 Kafka 微服务?或者是否会有一个订阅微服务会触发多个 REST API?或者也许......这取决于用例?

architecture apache-kafka microservices nestjs

4
推荐指数
1
解决办法
1560
查看次数

节点js套接字解释

我正在构建一个应用程序,它将对远程api服务器进行大约一百万次调用.我是否可以限制连接数量,例如10?我将max套接字设置为10会这样做吗?

我试图了解这些参数的作用:

keepAlive: false,
maxSockets: 999,
maxFreeSockets: 1
Run Code Online (Sandbox Code Playgroud)

在节点http get函数中,在以下代码中:

var inputData = [];

for(i=1; i<=5000;i++){
    inputData.push('number' + i);
}

var options = {
    host: "localhost",
    port: 80,
    path: "/text.txt",
    keepAlive: false,
    maxSockets: 999,
    maxFreeSockets: 1
}


var limit = inputData.length;
var counter = 0;

function fetchData(number){

    return new Promise(function(resolve, reject){
        var http = require('http');

        fetch  = function(resp){
            var body = '';
            resp.on('data',function(chunk){
                body += chunk;
            })
            resp.on('end',function(){
                console.log(resp)
                resolve()
            })
            resp.on('error',function(err){
                console.log('error');
            })
        }
        var req = http.request(options, fetch); …
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous node.js

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

承诺不等待完成

我今天看了很多例子.他们似乎建议在链中执行以下代码:

let f = () => {
    return new Promise((res, rej) => {
        console.log('entering function');
        setTimeout(() => {
            console.log('resolving');
            res()
        }, 2000)
    });
};

Promise.resolve()
    .then(f())
    .then(f());
Run Code Online (Sandbox Code Playgroud)

预期产出将是:

entering function
resolving
entering function
resolving
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.输出是

entering function
entering function
resolving
resolving
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么.任何帮助都感激不尽.

javascript promise ecmascript-6

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

Vue.js将所选复选框限制为5

我需要将所选复选框的数量限制为5.我尝试使用:禁用,如下所示:

    <ul>
        <li v-for="item in providers">
            <input type="checkbox" 
               value="{{item.id}}" 
               id="{{item.id}}" 
               v-model="selected_providers" 
               :disabled="limit_reached" 
            >
        </li>
    </ul>
Run Code Online (Sandbox Code Playgroud)

然后:

new Vue({
    el: '#app',
    computed:{
        limit_reached: function(){
            if(this.selected_providers.length > 5){
                return true;
            }
            return false;
        }
    }
})
Run Code Online (Sandbox Code Playgroud)

这种工作,但当它达到5时,所有复选框都被禁用,你不能取消选中你不想要的复选框.

我也尝试用1毫秒的超时来拼接数组,这有效但感觉很难.有人可以推荐一下吗?

javascript checkbox vue.js

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

Redux saga测试选择效果

如何测试选择效果?我的传奇取决于选择的结果,但是每次我都只是undefined从传奇中获得。

这是我尝试过的:

在我的传奇中:

function* loadData() {
    const foo = yield select((state) => {
        return state.foo.value;
    });

    console.log('foo is :', foo);
}
Run Code Online (Sandbox Code Playgroud)

在测试中:

test.only('Data saga', t => {

    const generator = loadData();
    console.log(generator.next({foo: 'blah'}).value);
    console.log(generator.next());

});
Run Code Online (Sandbox Code Playgroud)

但结果是foo is : undefined。我如何将数据传递到默认状态?有更好的方法吗?

saga reactjs redux redux-saga react-redux

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

JS中"< - "的含义是什么?

在下面的代码片段中,我预计会出错,但会返回false.为什么?

foo = {}
foo <- "lel"
Run Code Online (Sandbox Code Playgroud)

返回false

当然不是在比较哪一个更大,所以它在做什么?

javascript

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

怎么写这个没有意义?

我可以使用ramda编写此代码吗?

const getJobs = data => anotherF('/jobs', data)

也许像

const getJobs = anotherF('/jobs', nthArg(0))

谢谢

javascript ramda.js

0
推荐指数
1
解决办法
59
查看次数