小编Cam*_*mel的帖子

Rails中的第三方脚本缓存3.1

我有一个脚本第三方网站正在使用:/assets/script.js.出于显而易见的原因,我不能要求他们在每次部署时更改链接以指向脚本的最新指纹版本.我有一些缓存问题,用户仍然看到旧版本的/script.js.有没有办法让缓存直接消失script.js而不是 script-9dc5afea3571ba2a883a72b0da0bb623.js

更多信息:Passenger + Nginx上的Rails.script.js如果手指打印文件并在每个部署上使缓存无效,则寻找提供文件的方法.

我考虑过根据部署git修订添加ETag,但不知道如何做到这一点.Nginx没有内置的ETags支持.有不受支持的旧第三方模块可以执行此操作.我可以使用add_header Etag="something"它,但如何在那里添加git版本.

还有其他想法和选择吗?

谢谢!

javascript ruby ruby-on-rails nginx ruby-on-rails-3

11
推荐指数
1
解决办法
520
查看次数

sass会损害性能吗?

我一直在教育自己.读这个:

引擎从右到左评估每个规则,从最右边的选择器(称为"密钥")开始并移动每个选择器直到找到匹配或丢弃规则.("selector"是规则应适用的文档元素.)

例如:

ul li a {...}
#footer h3 {...}
* html #atticPromo ul li a {...]
Run Code Online (Sandbox Code Playgroud)

现在,一些示例代码SASS为我输出:

#content #blog {
  /* ... */
}
/* line 85, ../sass/screen.scss */
#content #flickr {
  /* ... */
}

#content #flickr div p {
  /* ... */
}
Run Code Online (Sandbox Code Playgroud)

这看起来有点尴尬..我做错了什么?这是我和Sass之间的沟通问题吗?我们输了吗?

编辑:一些SCSS代码:

#flickr {
    @include columns(5,8);
    background: url('../img/ipadbg.png') no-repeat;

    #ipod-gloss {
        z-index: 999;
        position: relative;
    }

    div {
        margin-top: -80px;
        margin-right: 20px;

        h2 {
            color: $white;
            font-size: 24px;
        }

        p { …
Run Code Online (Sandbox Code Playgroud)

css sass css-selectors

10
推荐指数
2
解决办法
5878
查看次数

twitter如何给我回电推文?

推文按钮通常是:

<a href="https://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="someone">Tweet</a>
<script type="text/javascript" src="//platform.twitter.com/widgets.js"></script>
Run Code Online (Sandbox Code Playgroud)

在这里,我可以在用户推文时收到回调:

<script>
  twttr.events.bind('tweet', function(event) {
    console.log(event);
  });
</script>
Run Code Online (Sandbox Code Playgroud)

我不明白:twitter如何给我这个回调?推文是在另一个窗口和另一个域中完成的.这怎么可能?

javascript twitter jquery callback

9
推荐指数
1
解决办法
3597
查看次数

在javascript中转义</ script>标记

我正在使用骨干,以及在页面加载时传递集合的一般方法

window.router = new Routers.ManageRouter({store: #{@store.to_json});
Run Code Online (Sandbox Code Playgroud)

这很好,效果很好,直到有人决定将文本" <script>alert("owned")</script>" 添加到其中一个商店字段.最后</script>明显关闭了javascript.怎么能绕过这个呢?

  :javascript
    $(function() {
      window.router = new Dotz.Routers.ManageRouter({store: #{@store.to_json}});
      Backbone.history.start();
    });
Run Code Online (Sandbox Code Playgroud)

以上输出:

<script>
    //<![CDATA[
      $(function() {
        window.router = new Dotz.Routers.ManageRouter({store: '{"_id":"4f3300e19c2ee41d9a00001c", "points_text":"<script>alert(\"hey\");</script>"'});
        Backbone.history.start();
      });
    //]]>
  </script>
Run Code Online (Sandbox Code Playgroud)

javascript ruby haml ruby-on-rails backbone.js

9
推荐指数
1
解决办法
4046
查看次数

Carrierwave - 从字符串"上传"文件

我网站中的用户可以上传自己的模型照片或从库中选择.当用户从库中选择时,我将文件名作为字符串发送到服务器{file: {url: 'url.jpg'}}.我还没有找到一种方法,即载波可以在不上传的情况下更新模型文件.我可以在我的模型中写一个检查该参数是否存在的条件然后model.file = File.open('str.jpg').从安全角度看是不是很糟糕?如何"上传"文件,或者只更新文件属性,以引用服务器上已有的文件?

谢谢!

ruby file-upload ruby-on-rails ruby-on-rails-3 carrierwave

9
推荐指数
1
解决办法
2907
查看次数

Haskell - 列表理解预测优化

这是了解一下Haskell的一个例子:

ghci> [ x*y | x <- [2,5,10], y <- [8,10,11], x*y > 50]  
[55,80,100,110]   
Run Code Online (Sandbox Code Playgroud)

那么,这里发生了什么,将x*y被计算两次或一次?

haskell

9
推荐指数
3
解决办法
527
查看次数

隐藏div中的滚动条

有没有办法使用CSS隐藏滚动条,同时仍然保持其功能?甚至使它透明或背景的相同颜色将是好的.我必须在JavaScript中执行此操作吗?

javascript css

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

根据缩放级别更改图标

如何根据Google地图缩放级别更改图标的高度和宽度?

我正在使用Google Maps api v3.

javascript jquery google-maps google-maps-api-3

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

在方案中使用lambda而不是let

在SICP 1.2.1中,有一个函数可以生成一个有理数,如下所示:

(define (make-rat n d)
  (let ((g (gcd n d)))
    (cons (/ n g) (/ d g))))
Run Code Online (Sandbox Code Playgroud)

我只是好奇你如何使用lambda而不是let来实现相同的东西,而不需要两次调用GCD.我自己无法理解.

lambda scheme sicp

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

OCR简介

有人给了我一个充满惊人信息的宝库.扫描公告的200MB .tiff图像可以追溯到40年代.我想将其数字化,但我对OCR一无所知.一些早期的材料几乎不被人类阅读,更不用说机器了.它也是希伯来语.

我正在寻找有关如何处理此问题的建议.关于书籍,文章,代码库或软件的好建议(所有这些都应该可以在网上免费获得).我精通C++和Python,如果需要,可以选择另一种语言.

谢谢.

ocr

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