似乎图像的新gmail代理不能与SVG一起使用(如果在新选项卡中打开代理URL,则会出现404错误.)
我无法找到有关支持/阻止的文件类型的任何文档.在gmail中的SVG是否适用于其他任何人?
我能想到的唯一解决方法是使用PhantomJS在服务器上生成一个svg - 还有其他任何选项吗?
背景:
这适用于发送每日摘要电子邮件的webapp,显示过去24小时内的图表(因此svg每天都不同,在电子邮件中显示它会让用户省去点击应用程序的麻烦.)
我知道SVG图像在某些电子邮件客户端中不起作用,但它可以工作95%,其余的仍然可以点击进入webapp.
它在gmail中运行良好,直到本月早些时候代理更改(该月底刚刚推出到Google Apps帐户.)
我们将数据库从在Web服务器上移动到单独的服务器(从Amazon EC2 Web服务器到RDS实例).
我们有一个LOAD DATA INFILE,在此之前需要添加LOCAL关键字,因为数据库将位于与Web服务器不同的机器上.
在我的开发服务器上测试,结果证明它不起作用:
在那两个有用的东西之间,它排除了:
我得到的错误是:ERROR 1148(42000):这个MySQL版本不允许使用命令(如果我不使用--local_infile = 1,我从mysql命令行中得到错误)
其他一些相关信息:
因此,connect命令需要设置一个额外的标志:
mysql_connect($dbHost, $dbUser, $dbPass, false, 128);
Run Code Online (Sandbox Code Playgroud)mysql.allow_local_infile = On
关于我没有尝试的唯一的事情就是在我的开发服务器上编译mysql服务器,打开标志以允许本地infile ...但即使我在我的开发服务器上运行它也不会帮助我使用Amazon RDS.(除此之外,LOAD DATA LOCAL INFILE可以在mysql命令行中运行.)
看起来这是php的mysql_connect()的具体问题
任何使用LOAD DATA LOCAL INFILE(可能来自Amazon RDS)知道让这个工作的诀窍的人?
我正在开发一个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 Calculator处理的一些示例查询.我能做的越多越好:
"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) 运行初始安装大约需要20分钟,运行salt-call state.highstate
大约需要6分钟.这不是不合理的,但我想加快速度,但我不确定如何找到最慢的状态.
除了用秒表观看我的屏幕6分钟之外,还有什么方法可以找到每个状态运行多长时间?
我有一个很大的类(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
我想找到后面的字符串中没有出现捕获的组的实例:
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 ×3
amazon-rds ×1
calculator ×1
class ×1
gmail ×1
igoogle ×1
javascript ×1
mysql ×1
oop ×1
phantomjs ×1
proxy ×1
regex ×1
salt-stack ×1
single-responsibility-principle ×1
svg ×1