我正在使用Node的Express w/Connect中间件.Connect的内存会话存储不适合生产:
Run Code Online (Sandbox Code Playgroud)Warning: connection.session() MemoryStore is not designed for a production environment, as it will leak memory, and obviously only work within a single process.
对于更大的部署,mongo或redis是有意义的.
但对于生产中的单主机应用程序,什么是一个很好的解决方案?
我正在尝试使用AWS最近宣布的"针对EC2的IAM角色"功能,该功能可以自动将安全凭证传递给EC2实例.(见http://aws.amazon.com/about-aws/whats-new/2012/06/11/Announcing-IAM-Roles-for-EC2-instances/).
我已经设置了一个具有IAM角色的实例,如上所述.我也可以通过curl获得(看似)正确的访问密钥/凭证.
但是,即使我为角色启用了所有S3权限,boto也无法像"get_all_buckets"那样进行简单的调用.
我得到的错误是"您提供的AWS访问密钥ID在我们的记录中不存在"
但是,错误中列出的访问键与我从curl获得的访问键匹配.
以下是失败的脚本,在附加了IAM角色的EC2实例上运行,该角色提供所有S3权限:
import urllib2
import ast
from boto.s3.connection import S3Connection
resp=urllib2.urlopen('http://169.254.169.254/latest/meta-data/iam/security-credentials/DatabaseApp').read()
resp=ast.literal_eval(resp)
print "access:" + resp['AccessKeyId']
print "secret:" + resp['SecretAccessKey']
conn = S3Connection(resp['AccessKeyId'], resp['SecretAccessKey'])
rs= conn.get_all_buckets()
Run Code Online (Sandbox Code Playgroud) 我有一个多线程Java程序,其中包含一些围绕线程的规则:例如,A类中的代码只能从UI线程调用; 必须仅从网络线程等调用B类中的3个方法.
关于如何进行断言或其他代码检查的任何建议都遵循这些规则?我想做相当于"不变量"的测试,以防止线程使用上的编码错误.
我们在生产中使用gunicorn_django部署了一个应用程序.我注意到它不再被推荐了.我想知道为什么不推荐它,以及我们是否需要迁移到更新的方式.
来自https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/gunicorn/
如果您运行Django 1.4或更高版本,强烈建议您使用gunicorn命令使用WSGI接口运行应用程序.
我在iPhone应用程序中使用Twilio.我有兴趣在iPhone上拨打拨号器使用Twilio手机通过Twilio拨打电话#.
来自Twilio的OpenVBX iphone应用程序显示了一个相当不错的实现,但它不是一个真正的出站呼叫:Twilio实际上回拨了iphone.
有没有更像手机和不那么突兀的方式来做到这一点?一个例子 - 是否可以通过tel://将iphone调用为twilio#,其中twilio#被即时重定向到实际目的地?即使这样仍然会导致为用户显示对话框.步数少于此的东西?
或者是否有其他服务如Twilio使这更加简化?
我对使用3G/Wifi作为数据的答案(例如SIP客户端)以及使用来自iphone的实际语音连接的答案感兴趣.
我正在使用带有--watch选项的coffeescript来重建对.coffee文件的更改的javascript.
将它与node-supervisor结合起来在更改编译的javascript时重新启动Node是否安全?
我担心当coffeescript重新编译多个文件时,由于原子性,它不会很强大.node-supervisor可以跳过枪并在检测到第一个文件系统更改时重新启动Node.它是否足够强大,以便在忙于重新启动Node时实现其他更改?
有没有更好的办法?理想情况下,我只有一个文件系统观察程序重新编译我的coffeescript并重新启动节点.