小编El *_*obo的帖子

处理HTTPS页面中的HTTP内容

我们有一个完全通过HTTPS访问的站点,但有时会显示外部内容,即HTTP(主要来自RSS提要的图像).绝大多数用户也坚持使用IE6.

我理想的是喜欢做以下两种情况

  • 防止关于不安全内容的IE警告消息(以便我可以显示较少侵入性的内容,例如通过使用默认图标替换图像,如下所示)
  • 向用户展示一些有用的东西,代替他们无法看到的图像; 如果有一些JS,我可以找出哪些图像没有加载,并用我们的图像替换它们,这将是伟大的.

我怀疑第一个目标根本不可能,但第二个目标可能就足够了.

最糟糕的情况是我在导入时解析RSS源,抓取图像将它们存储在本地,以便用户可以通过这种方式访问​​它们,但似乎很难获得相当大的收益.

https image http

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

Web应用程序的文件存储:文件系统与数据库与NoSQL引擎

I have a web application that stores a lot of user generated files. Currently these are all stored on the server filesystem, which has several downsides for me.

  • When we move "folders" (as defined by our application) we also have to move the files on disk (although this is more due to strange design decisions on the part of the original developers than a requirement of storing things on the filesystem).
  • It's hard to write tests for file system actions; …

mysql database web-applications file nosql

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

将颜色值"舍入"到最接近的一小组颜色

前言

作为我正在研究的项目的一部分,我正在尝试提供一种在我们的系统中搜索图像的便捷方式.我们目前通过各种类型的用户添加的元数据(例如标题,描述,关键字)和我们提取的各种元数据(例如EXIF,IPTC,XMP等)提供搜索.我还想添加一个类似于你在谷歌图片搜索中看到的"颜色搜索".

该项目使用PHP,我们可以使用Imagemagick扩展来分割和量化图像,并从图像中提取最"重要"的颜色; 我不完全确定我到达的结果,但它们似乎相当准确,当然比没有好.

问题

我遇到困难的一点就是将这些重要的颜色转换成一组有代表性的颜色,例如,当你看谷歌的图像搜索时,那里有一组12种颜色.我想在数学上将我的颜色值"舍入"到最近的代表颜色,这样我就可以用我检测到的颜色索引图像,然后以这种方式面对我的搜索结果.

有什么建议?

language-agnostic algorithm math colors rounding

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

改进Javascript加载时间 - 连接与多个+缓存

我想知道以下哪一项会为一个加载大量javascript(jQuery + jQuery UI +各种其他javascript文件)的页面带来更好的性能.我已经浏览了大部分YSlow和Google Page Speed的内容,但我对某个特定细节感到疑惑.

对我来说,一个关键的问题是,我正在研究的网站不在公共网络上; 它是一个企业对企业平台,几乎所有用户都是重复访问者(因此有数据缓存,这是YSlow假设的,对于大量访问者来说不是这种情况).

首先,YSlow等工具推荐的标准方法是连接它,压缩它,并在页面末尾加载的单个文件中提供它.这种方法听起来相当有效,但我认为这里推理的一个关键部分是提高没有缓存数据的用户的性能.

我目前拥有的系统是这样的

  • 所有javascript文件都在页面底部压缩和加载
  • 所有javascript文件都有很长的未来缓存到期日期,因此将在缓存中保留(对于大多数用户)很长一段时间
  • Pages只加载他们需要的javascript文件,而不是加载一个单片文件,其中大部分都不是必需的

现在,我的理解是,如果尚未达到javascript文件的缓存过期日期,则立即使用缓存版本; 根本没有向服务器发送HTTP请求.如果这是正确的,我会假设有多个标签不会导致任何性能损失,因为我仍然没有在大多数页面上有任何额外的请求(从上面回忆几乎所有用户都有填充的缓存).

除此之外,不加载JS意味着浏览器不必解释或执行它不需要的所有额外代码; 作为一个B2B应用程序,我们的大多数用户不幸遇到了IE6及其痛苦的JS引擎.

另一个好处是,当代码更改时,只需要再次获取受影响的文件,而不是整个集(被授予,只需要获取一次,因此这不是一个好处).

我也在考虑使用LabJS来允许在没有缓存的情况下并行加载JS.

具体问题

  • 如果有很多标签,但所有文件都是从本地缓存加载的,并且总体上加载的javascript较少,这比一个也从缓存加载的标签要快,但包含所有需要的javascript在网站上,而不是一个适当的子集?
  • 还有其他理由偏爱一个吗?
  • 类似的想法是否适用于CSS?(我目前正在使用更加单一的CSS方法)

javascript performance

23
推荐指数
1
解决办法
6842
查看次数

通过Google跟踪代码管理器加载Google Analytics analytics.js上的强制SSL

我们通过Google跟踪代码管理器加载谷歌分析(通用),我找不到任何方法强制它analytics.js通过SSL 加载脚本本身; 我们forceSSL通过字段设置选项,但是当它应用时,它已经通过普通HTTP加载了初始脚本.

看起来GTM检查它是否在HTTPS URL上,然后通过HTTP加载GA,如果是这样,但我宁愿通过HTTPS强制它.有没有办法做到这一点?

google-analytics google-tag-manager universal-analytics

13
推荐指数
1
解决办法
2309
查看次数

Symfony2配置中的嵌套原型

使用Symfony2 TreeBuilder,可以为阵列节点内的每个节点配置原型,例如支持类似的配置

foo:
    xxx: { foo: bar}
    yyy: { foo: bar}
Run Code Online (Sandbox Code Playgroud)

哪里有任何数量的xxx,yyy等(任何值)节点使用类似的结构

$rootNode
    ->arrayNode('foo')
    ->prototype('array')
        ->children()
            ->scalarNode('foo')
Run Code Online (Sandbox Code Playgroud)

我想创建另一个级别的相同的东西而不在其间引入另一个命名节点,例如支持类似的配置

foo:
    xxx:
        aaa: { foo: bar}
        bbb: { foo: bar}
    yyy:
        ccc: { foo: bar}
        ddd: { foo: bar}
Run Code Online (Sandbox Code Playgroud)

其中可以有任意数量的xxx,yyy等节点,每个节点可以包含任意数量的其他aaa,bbb等节点.

有没有办法实现这个目标?调用->prototype()直属->children()另一个原型调用不起作用,因为原型似乎并不支持嵌套的原型.因此,我不得不对xxx和yyy的特定值进行硬编码,从而限制了我正在编写的包的灵活性.

configuration yaml symfony

8
推荐指数
1
解决办法
2268
查看次数

从字符串中提取格式不一致的日期(日期解析,NLP)

我有一个很大的文件列表,其中一些文件嵌入了文件名.日期的格式不一致且往往不完整,例如"Aug06","Aug2006","2006年8月","08-06","01-08-06","2006","011004"等.此外对此,一些文件名具有看起来有点像日期的无关数字,例如"20202010".

简而言之,日期通常是不完整的,有时不存在,格式不一致,并嵌入到包含其他信息的字符串中,例如"Report Aug06.xls".

是否有任何可用的Perl模块可以从这样的字符串中猜测日期?它不一定是100%正确,因为它将由人工验证,但我正在努力使这个人尽可能简单,并有成千上万的条目来检查:)

perl nlp date

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

使PHP GET参数看起来像目录

我试图这样做:

http://foo.foo/?parameter=value "转变"为 http://foo.foo/value

谢谢.

url-rewriting

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

Googlebot和空CORS回复

我们有一个React应用程序,可以从另一个域异步加载一些数据.使用isomorphic-fetchin cors模式进行请求,并且使用我自己的浏览器进行测试时,请求和响应都看起来很好并且正常工作.

我们将响应和日志故障的监控返回到我们的应用程序进行分析.

虽然大部分时间都很好(并且所有内容似乎都被正确编入索引并在Google中显示正常),但我们仍然看到很多失败,适用于Googlebot,它无法正确获取数据.调试响应对象我看到它status是200,但是statusText为空.响应没有正文(因此没有.json或没有.text方法),也没有标题(不应该是这种情况),并且模式被正确设置为cors(不是opaque,这可能解释了其他一些奇怪的东西).

根据我对CORS的理解,这一切都在发送和接收的标题方面看起来都很高,那么为什么Googlebot会出现这么多间歇性问题呢?Googlebot说它有一个HTTP 200响应(成功,Promise没有被拒绝),但它缺少HTTP 200响应所带来的所有东西 - 它没有正文,也没有暴露的标题.为什么Googlebot无法返回带标题和正文的响应(如下所述)?

正常的预检请求看起来像这样(来自Chome devtools)(*/\*添加了额外的斜线以阻止SO认为它是评论开启者)

Accept:*/\*
Accept-Encoding:gzip, deflate, sdch, br
Accept-Language:en-GB,en-US;q=0.8,en;q=0.6
Access-Control-Request-Headers:content-type, x-apikey
Access-Control-Request-Method:POST
Cache-Control:no-cache
Connection:keep-alive
DNT:1
Host:my.host.net
Origin:http://my.origin.net
Pragma:no-cache
Referer:http://my.origin.net/
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.100 Safari/537.36
Run Code Online (Sandbox Code Playgroud)

预检反应看起来像这样

Access-Control-Allow-Headers:content-type,x-apikey
Access-Control-Allow-Origin:*
Cache-Control:no-cache
Connection:keep-alive
Content-Length:0
Date:Mon, 05 Dec 2016 00:55:05 GMT
Expires:-1
Pragma:no-cache
Server:Microsoft-IIS/8.5
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET
Run Code Online (Sandbox Code Playgroud)

接下来是实际的请求,看起来像这样(作为带有JSON主体的POST发送)

accept:application/json
Accept-Encoding:gzip, deflate, br
Accept-Language:en-GB,en-US;q=0.8,en;q=0.6
Cache-Control:no-cache …
Run Code Online (Sandbox Code Playgroud)

javascript fetch cors

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

PHP PDO缓存

我一直在寻找答案,但没有在任何地方找到它.是否缓存了对PDO :: prepare()的调用,或者我应该自己缓存结果,即如果我执行以下操作

function foo () {
  $handle = PDO::prepare(...);
  /* do stuff with the handle */
}
Run Code Online (Sandbox Code Playgroud)

是否会通过PDO缓存prepare()语句,以便快速检索第二次,第三次等等?或者自己做得更好,例如

function foo() {
  static $handle = null;
  if (!$handle) {
    $handle = PDO::prepare(...);
  }
  /* do stuff with the handle */
}
Run Code Online (Sandbox Code Playgroud)

php pdo caching

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

PHP OpenID身份提供程序

我正在寻求实现OpenID身份提供商作为我的网站的服务.我将它与应用程序提供的现有用户服务集成,因此我想使用库而不是完整的OpenID服务器应用程序(即OpenID Identity Servers部分列出的工具都做得太多).

这留下了OpenID Libraries页面上列出的以下库(那些能够充当身份提供者的库;其他库被忽略,因为它们无法完成我所需要的操作).不幸的是每个都有一些问题,我很欣赏我应该去哪些建议.

  • PHP OpenID库(Janrain) - 这似乎很受欢迎,但似乎没有维护.由于缺乏针对突出问题的修复,GitHub上有很多很多分叉; 它似乎工作(有一些修复),但很难知道要跟随哪个叉子,或者这样做是否安全.
  • NetMesh InfoGrid LID - 下载部分拒绝403权限并不令人鼓舞.
  • Zend Framework OpenID组件 - Zend框架的一部分,我们不使用它.

所以,我的问题是

  • 身份提供者还有其他选择吗?
  • 有没有人对NetMesh解决方案有任何经验?什么事情导致无法下载?
  • 可以在没有Zend Framework的情况下使用Zend Framework组件吗?
  • 是否有一个良好,可靠的Janrain PHP OpenID库的分支?

php openid openid-provider

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

隐藏地址栏而不隐藏iOS 6上的智能应用横幅

我目前正在使用标准的scrollTo技术隐藏iOS上的地址栏(类似这样).我也在使用iOS 6智能应用程序横幅,但是当使用上述技术隐藏地址栏时,智能应用程序横幅也会被屏幕顶部的地址栏隐藏起来.

有没有办法隐藏地址栏而不是智能横幅?

web-applications ios ios6

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