小编Red*_*arf的帖子

由gmail代理阻止的SVG图像

似乎图像的新gmail代理不能与SVG一起使用(如果在新选项卡中打开代理URL,则会出现404错误.)

我无法找到有关支持/阻止的文件类型的任何文档.在gmail中的SVG是否适用于其他任何人?

我能想到的唯一解决方法是使用PhantomJS在服务器上生成一个svg - 还有其他任何选项吗?

背景:

这适用于发送每日摘要电子邮件的webapp,显示过去24小时内的图表(因此svg每天都不同,在电子邮件中显示它会让用户省去点击应用程序的麻烦.)

我知道SVG图像在某些电子邮件客户端中不起作用,但它可以工作95%,其余的仍然可以点击进入webapp.

它在gmail中运行良好,直到本月早些时候代理更改(该月底刚刚推出到Google Apps帐户.)

proxy gmail svg phantomjs

30
推荐指数
1
解决办法
9634
查看次数

LOAD DATA LOCAL INFILE失败 - 从php到mysql(在Amazon rds上)

我们将数据库从在Web服务器上移动到单独的服务器(从Amazon EC2 Web服务器到RDS实例).

我们有一个LOAD DATA INFILE,在此之前需要添加LOCAL关键字,因为数据库将位于与Web服务器不同的机器上.

在我的开发服务器上测试,结果证明它不起作用:

  • 我仍然可以从php中加载数据INFILE
  • 我可以从mysql命令行加载DATA LOCAL INFILE(使用--local_infile = 1)
  • 我无法从php加载DATA LOCAL INFILE.

在那两个有用的东西之间,它排除了:

  • sql或php代码的问题
  • 上传文件存在问题,包括语法和文件权限
  • mysql服务器设置问题

我得到的错误是:ERROR 1148(42000):这个MySQL版本不允许使用命令(如果我不使用--local_infile = 1,我从mysql命令行中得到错误)


其他一些相关信息:

  • Ubuntu 12.04,mysql 5.5.24,php 5.3.10
  • 我正在使用php的mysql_connect(而不是mysqli,因为我们计划使用facebook的hiphop编译器,它不支持mysqli.)
  • 因此,connect命令需要设置一个额外的标志:

    mysql_connect($dbHost, $dbUser, $dbPass, false, 128);
    
    Run Code Online (Sandbox Code Playgroud)
  • 我用phpinfo()来证实这一点 mysql.allow_local_infile = On
  • 我在Amazon RDS上尝试过(如果它是我的开发服务器中的一个问题),它也不能在那里工作.(打开local_infile参数.)

关于我没有尝试的唯一的事情就是在我的开发服务器上编译mysql服务器,打开标志以允许本地infile ...但即使我在我的开发服务器上运行它也不会帮助我使用Amazon RDS.(除此之外,LOAD DATA LOCAL INFILE可以在mysql命令行中运行.)


看起来这是php的mysql_connect()的具体问题

任何使用LOAD DATA LOCAL INFILE(可能来自Amazon RDS)知道让这个工作的诀窍的人?

php mysql amazon-rds load-data-infile

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

Google计算器API的替代品

我正在开发一个webapp,在过去的两年中,它使用了Google Calculator的非官方API,如:http://www.google.com/ig/calculator?hl = en&q =

既然iGoogle已于上周关闭(https://support.google.com/websearch/answer/2664197),那么google calculator api也无效.

做javascript计算器的最佳选择是什么?(我给它一个字符串,它评估答案.)

我有一些想法:

  • 找到另一个将返回结果的Google搜索查询(我不怕做一些html抓取.)
  • 找到别人提供的另一个api(比如YQL - 我已经在使用它们进行货币转换了
  • 使用纯粹的javascript计算器 - 你能推荐一个好的javascript库或脚本吗?(我见过的大多数脚本只是在做eval(),我不能使用,而且大多数似乎都是介绍javascript的教程.)

有什么建议?

以下是Google Calculator处理的一些示例查询.我能做的越多越好:



以后寻找它的任何人的YQL货币转换信息:https://developer.yahoo.com/yql/console/? q = show%20tables&env = store://datatables.org/alltableswithkeys#h = select%20Rate% 20from%20yahoo.finance.xchange%20where%20pair%20英寸%20%28%22nzDgbp%22%29

"https://query.yahooapis.com/v1/public/yql?q=select%20Rate%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22" + from + to + "%22)&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=callBackFunctionName"
Run Code Online (Sandbox Code Playgroud)

javascript web-applications calculator igoogle

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

salt-stack highstate - 找到缓慢的状态

运行初始安装大约需要20分钟,运行salt-call state.highstate大约需要6分钟.这不是不合理的,但我想加快速度,但我不确定如何找到最慢的状态.

除了用秒表观看我的屏幕6分钟之外,还有什么方法可以找到每个状态运行多长时间?

salt-stack

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

拆分大型 PHP 类

我有一个很大的类(1500 行,但很快会是它的几倍),我想将其拆分,以便更好地与SRP配合使用(并且每个文件都更小且更易于管理。)

该类包含 50-100 个属性,并针对它执行几种不同类型的操作 - 其中之一是执行update多个步骤,例如更新数据库和发送电子邮件。

所以我想我想要4节课。

我应该如何构建类?


这是我现在拥有的简化版本:

class Foo {
    public function __construct ($params) {}

    public function update () {
        $this->updateDatabase();
        $this->sendEmails();
    }

    private function updateDatabase () {}
    private function sendEmails () {}
}

$foo = new Foo($params);
$foo->update();
Run Code Online (Sandbox Code Playgroud)

updateDatabase()并且sendEmails ()每个都调用许多其他方法——每个都有数百行代码,并且它们有几个兄弟方法执行其他任务。

使用静态方法的基本重写

class Foo {
    public function __construct ($params) {}
}

class FooUpdate {
    public static function update ($fooParam) {
        FooUpdateDatabase::main($fooParam);
        FooSendEmails::main($fooParam);
    }
}

class FooUpdateDatabase {
    public static function …
Run Code Online (Sandbox Code Playgroud)

php oop design-patterns class single-responsibility-principle

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

php正则表达式:负面反馈中的反向引用的替代方案

我想找到后面的字符串中没有出现捕获的组的实例:

aaaBbb  = CccBbb  <- format is valid, skip
aaaDddd = CccDddd <- format is valid, skip
aaaEeee = CccFfff <- format is not valid, match this one only
Run Code Online (Sandbox Code Playgroud)

所以这匹配我不想匹配的行(https://regex101.com/r/lon87L/1)

/^ +\w+([A-Z][a-z+]) += +\w+\1$/mg
Run Code Online (Sandbox Code Playgroud)

我已经在https://www.regular-expressions.info/refadv.html上看到php不支持负面反馈中的反向引用,但正则表达式的其他实现可以.所以像这样的东西会匹配我想要匹配的无效行,但它在php中不起作用:

/^ +\w+([A-Z][a-z+]) += +\w+(?<!\1)$/mg
Run Code Online (Sandbox Code Playgroud)

除了匹配所有三行并循环遍历php foreach中的匹配之外,还有什么可行吗?

php regex negative-lookbehind

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