想象一下,您有一个站点API,它接受带有参数的GET请求形式的数据,或者作为POST请求(例如,使用标准的url编码和&分离的POST数据).如果要记录和分析API调用,GET请求将很容易,因为它们将位于apache日志中.是否有一种简单的方法来获取apache日志中的POST数据?
(当然我们可以在应用程序中显式记录POST数据,但我希望有一种配置级方式,让我不用担心它在代码中.)
我正在实现一个仪表板作为相对Rails新手(更多的基础设施人).仪表板将包含多个页面,每个页面将包含多个图表/表格等.对于模块化,我希望它尽可能简单地添加新图表或更改数据视图.
假设一页有5个不同的图表.我可以让控制器执行5次单独的数据查找,将所有相关数据保存在实例变量中,并渲染5个部分,每个部分触摸数据的子集.但似乎更模块化的是有一个"索引"控制器动作,其渲染具有一堆div,并且对于每个div,还有另一个控制器动作,它执行数据查找并具有部分负责管理该数据视图的关联视图在div内.
所以,如果我展示它有两个图的网站仪表盘页面,website/index
会使用website/graph1
和website/graph2
查找每一个,然后将数据_graph1.html.erb
和_graph2.html.erb
将使用控制器的数据填写申报单"graph1"
和"graph2"
等
这是正确的设计,如果是这样,最简单的方法是什么?我有使用近似remote_function
与:action => "graph1"
填写申报单,但我很高兴它不是100%.我怀疑我错过了Rails会为我做的更容易的事情.
我们有一个相当大的SVN存储库,我们希望将其迁移到perforce.我们非常希望保留~20k版本,分支等,但在一些初始测试中,perforce提供的svn2p4脚本无法复制整个结构.
有人使用这个工具取得了成功,还是有其他人在我的谷歌搜索没有出现?欢迎提供最佳实践和提示.
在命名文件中读取最pythonic的方法是什么,剥离为空的行,仅包含空格,或者将#作为第一个字符,然后处理剩余的行?假设它很容易适合记忆.
注意:这样做并不难 - 我要问的是最蟒蛇的方式.我一直在写很多Ruby和Java,但我已经失去了感觉.
这是一个稻草人:
file_lines = [line.strip() for line in open(config_file, 'r').readlines() if len(line.strip()) > 0]
for line in file_lines:
if line[0] == '#':
continue
# Do whatever with line here.
Run Code Online (Sandbox Code Playgroud)
我对简洁感兴趣,但不是以难以阅读为代价.
什么是"Rubyist"方式进行以下数据结构转换:
我有
incoming = [ {:date => 20090501, :width => 2}, {:date => 20090501, :height => 7}, {:date => 20090501, :depth => 3}, {:date => 20090502, :width => 4}, {:date => 20090502, :height => 6}, {:date => 20090502, :depth => 2}, ]
我希望通过以下方式折叠这些:日期,最终结束
outgoing = [ {:date => 20090501, :width => 2, :height => 7, :depth => 3}, {:date => 20090502, :width => 4, :height => 6, :depth => 2}, ]
如果列在每行中的顺序相同,则最后一步也可以使用数组数组.另外,重要的是,我事先并不知道所有的哈希键(也就是说,我不知道:宽度,高度,或:深度 - 它们可能是:猫,狗,和:仓鼠).