我正在构建一个允许用户生成文档然后下载它们的系统.文档是PDF(并不是为了这个问题而重要),当它们生成时,我将它们存储在我的本地文件系统上,运行web服务器时使用的是uuid文件名
c7d43358-7532-4812-b828-b10b26694f0f.pdf
但我知道"通过默默无闻的安全"不是正确的解决方案......
我希望尽可能限制每个帐户对文件的访问.我认为我可以做的一件事是将它们上传到S3并提供一个签名的URL,但我想尽可能避免这种情况.
我正在使用Nginx/Django/Gunicorn/EC2/S3
还有什么其他解决方案?
使用Django 1.3.2和PyMongo,我在github上发现了一些随机项目,并且在这里和那里发表了一些文章,但总的来说,没有什么具体的.寻找有关此集成的优秀示例/教程.
试图在这两者之间做出决定,寻找一些可靠的反馈.谢谢.
在调试模式下开发Django应用程序时,我使用以下代码提供静态文件:
if settings.DEBUG:
urlpatterns += patterns('',
(r'^m/(?P<path>.*)$', serve, {
'document_root' : os.path.join(os.path.dirname(__file__), "media")
})
)
Run Code Online (Sandbox Code Playgroud)
我正在使用nginx作为前端,使用以下nginx配置在生产模式下为我的静态文件服务:
location m/
{
root /path/to/folder/media/;
}
Run Code Online (Sandbox Code Playgroud)
这看起来不太理想,因为我必须在媒体目录中创建一个"m"文件夹.我想知道其他人的Django/nginx配置文件是什么样的.具体来说,请你剪切并粘贴nginx.confg和urls.py的部分(settings.DEBUG == True)
谢谢.
我正在编写一个非常简单的宏,需要向服务器发出 HTTP GET 请求并且响应并不重要(它在服务器上启动一个进程)。HTTP GET 不需要身份验证。
我正在使用以下代码“成功”执行此操作(服务器日志表明请求已发送到服务器,但服务器正在运行 HTTP 406):
Function callAPI(Url As String)
With ActiveSheet.QueryTables.Add(Connection:="URL;" & Url, Destination:=Range("D15"))
.PostText = ""
.RefreshStyle = xlOverwriteCells
.SaveData = True
.Refresh
End With
End Function
Run Code Online (Sandbox Code Playgroud)
但我从服务器得到以下响应:
Unable to open http://someurl.com Cannot locate the Internet server or proxy server.
Run Code Online (Sandbox Code Playgroud)
我可以看到服务器返回一个 HTTP 406,经过一些研究,因为 GET 请求没有发送正确的Content-Type标头。
所以我的问题是 - 如何告诉ActiveSheet.QueryTables.Add设置标头,或者如何修改我的 NGINX 配置以支持这个特定的 GET CALL
我是rails的新手,对插件有疑问.在ROR应用程序中使用第三方插件时,您可以采用两种方法:
1)使用sudo gem install GEM安装gem,然后在rails项目中"require"它
2)使用script/generate插件安装PLUGIN安装插件.代码中的插件出现在您的供应商目录中,然后您很高兴(有时,我无法通过此方法使Devise工作).
既然看起来这两种方法都完成了同样的事情,为什么我要选择一种方法而不是另一种方法.
谢谢,
使用Pylons Verson 1.0:使用Pylons书中的FormDemo示例:
http://pylonsbook.com/en/1.1/working-with-forms-and-validators.html
我的控制器具有以下功能:
class FormtestController(BaseController):
def form(self):
return render('/simpleform.html')
def submit(self):
# Code to perform some action based on the form data
# ...
h.redirect_to(controller='formtest', action='result')
def result(self):
return 'Your data was successfully submitted.'
Run Code Online (Sandbox Code Playgroud)
首先我注意到在书中作者指示要导入redirect_来执行以下导入:
from pylons.controllers.util import redirect_to
Run Code Online (Sandbox Code Playgroud)
这似乎是不正确的,因为redirect_to存在于routes模块中,因此我将其更改为:
from routes import redirect_to
Run Code Online (Sandbox Code Playgroud)
一切正常,没有更多的导入错误,但当我执行表单提交时,我看到以下回溯
h.redirect_to(controller='formtest', action='result')
target = url_for(*args, **kargs)
encoding = config.mapper.encoding
return getattr(self.__shared_state, name)
AttributeError: 'thread._local' object has no attribute 'mapper'
Run Code Online (Sandbox Code Playgroud)
谁能帮我?
我正在使用R运行逻辑回归,但我似乎无法获得许多有用的模型拟合统计数据.我正在寻找类似于SASS的指标:
http://www.ats.ucla.edu/stat/sas/output/sas_logit_output.htm
有谁知道我可以用什么(或什么包)来提取这些统计数据?
谢谢
我有一个问题,我试图用Python解决,我找到了多个解决方案(我认为),但我想弄清楚哪一个是最好的.我希望将来能够选择完全支持的库,所以我不必重新编写这项服务.
我想用分类和连续因变量做一个普通的多变量最小二乘回归.代码必须用Python编写,因为它被集成到Web服务中.我一直在关注Pandas,但从未使用它,所以这似乎是一种方法:
解决方案1. https://github.com/pydata/pandas/blob/master/examples/regressions.py
显然,numpy/scipy是理想的,但我找不到一个使用虚拟变量的例子(有人有一个???).我确实找到了这个,
解决方案2. http://www.scipy.org/Cookbook/OLS
我可以修改以支持虚拟变量,但我不想这样做,如果其他人已经完成它+我希望数字与R非常相似,因为我离线完成了大部分分析,我可以使用这些单元测试的结果.
在上面的示例(2)中,我看到我可以在技术上使用rpy/rpy2,尽管这不是最佳的,因为我的Web服务需要另一项技术(R).使用界面的好处是数字与我从R的结果相同.
解决方案3. http://www.scipy.org/Cookbook/OLS(但使用Rpy/Rpy2)
无论如何,我感兴趣的是这三种解决方案中的每个人的方法是什么,如果有任何我遗失的......如果Panda已经足够成熟,可以开始在生产网络服务中使用.这里的关键是我不想支持/修补错误修复或尽可能从头开始编写任何东西.我太忙了,可能还不够聪明:)
谢谢.
我一直在关注围绕F8的公告,我发现了这个更改日志:
https://developers.facebook.com/docs/apps/changelog
我只是想知道,如果我理解正确的话......
此更改日志是否意味着图形API端点(例如/ me/friends等)将在2015年4月15日停止工作时关闭API版本1.0,或者Facebook将更快地删除功能?
我目前正在设置一个系统,它使用带有redis后端的芹菜来执行一系列异步任务,例如发送电子邮件,提取社交数据,抓取等等.一切都很好,但我正在寻找如何监控系统(也就是排队消息的数量).我开始浏览芹菜来源,但我想我会在这里发布我的问题:首先,这是我的配置:
BROKER_BACKEND = "redis"
BROKER_HOST = "localhost"
BROKER_PORT = 6379
BROKER_VHOST = "1"
REDIS_CONNECT_RETRY = True
REDIS_HOST = "localhost"
REDIS_PORT = 6379
REDIS_DB = "0"
CELERY_SEND_EVENTS = True
CELERYD_LOG_LEVEL = 'INFO'
CELERY_RESULT_BACKEND = "redis"
CELERY_TASK_RESULT_EXPIRES = 25
CELERYD_CONCURRENCY = 8
CELERYD_MAX_TASKS_PER_CHILD = 10
CELERY_ALWAYS_EAGER =True
Run Code Online (Sandbox Code Playgroud)
我要做的第一件事是监视队列中有多少消息.我假设,在幕后,redis后端只是从列表中推送/弹出,虽然我似乎无法在代码中找到它.所以我模拟了一个模拟,我开始大约100个任务,并试图在redis中找到它们:我的celeryd运行如下:python manage.py celeryd -c 4 --loglevel = DEBUG -n XXXXX --logfile = logs/celery.log所以我应该一次只有4个并发工作者......我不明白的两件事:问题1:排队完成100个任务后,在redis上查找它们,我只看到以下内容:
$ redis-cli
redis 127.0.0.1:6379> keys *
1) "_kombu.binding.celery"
redis 127.0.0.1:6379> select 1
OK
redis 127.0.0.1:6379[1]> keys *
1) "_kombu.binding.celery"
2) "_kombu.binding.celeryd.pidbox"
redis …Run Code Online (Sandbox Code Playgroud) 我到处都做这种事情,我正在寻找最有效的(计算+语法)方式来执行:
ids =[]
$('tr.selectON td').each( function() {
var answer_query = $(this).attr('id');
if ( answer_query !== undefined ) {
ids.push( answer_query )
}
});
Run Code Online (Sandbox Code Playgroud)
我可以访问underscore.js,我怀疑它会有所帮助.