我正在为Web应用程序设计REST API.我想清楚地对API进行版本化,以便将来可以更改界面而不会破坏现有服务.因此,在我的v1.0 API中,我希望将其清楚地标识为v1.0 API,让我可以自由地发布未来的v1.1版本并进行重大更改.
我的问题是,URI的路径组件中的一段时间是不好的做法?
例如.有没有什么好的理由不使用http://example.com/myapi/v1.0/services作为我服务的URI?
我有一个PHP脚本,它将使用PHPExcel从MySQL DB查询的数据生成报告.目前,处理是线性的,因为它从MySQL获取数据,读取Excel模板,将数据写入模板,然后输出.我已经优化了代码,使得数据只迭代一次,并且PHP方面的处理很少.查询在不到.001秒内返回数百行,因此运行速度足够快.经过一段时间后,我发现我的瓶颈是(惊讶,惊讶)阅读模板并编写输出.我想这样做:
Spawn a thread/process to read the template
Spawn a thread/process to fetch the data
Return back to parent thread - Parent thread will wait until both are complete
Proceed on as normal
Run Code Online (Sandbox Code Playgroud)
我的主要问题是这可能,值得吗?如果两者都是,你会如何解决它?此外,它在CentOS上是PHP 5
我有一个Qt 4 GUI,我需要在下拉菜单中有一个选项,允许用户选择重新启动计算机.我意识到这可能看起来不太重要,能够以其他方式重新启动计算机,但选择需要留在那里.我尝试使用system()来调用以下内容:
而且所有这些都是因为
reboot: must be superuser打印.使用system()直接调用reboot会做同样的事情.我并不特别喜欢使用system()来做这件事,但它似乎是最直接的选择.
如何从GUI重启系统?
说我的问题数量未知.例如:
现在,这些问题中的每一个都提出了一个不同但非常类型的答案(布尔值,日期,浮点数,整数).本土django可以在模型中愉快地处理这些问题.
class SkyModel(models.Model):
question = models.CharField("Is the sky blue")
answer = models.BooleanField(default=False)
class BirthModel(models.Model):
question = models.CharField("What date were your born on")
answer = models.DateTimeField(default=today)
class PiModel(models.Model)
question = models.CharField("What is pi")
answer = models.FloatField()
Run Code Online (Sandbox Code Playgroud)
但这有一个明显的问题,即每个问题都有一个特定的模型 - 所以如果我们以后需要添加一个问题,我必须更改数据库.呸.所以现在我想得到想象 - 如何通过答案类型转换自动地设置模型?
ANSWER_TYPES = (
('boolean', 'boolean'),
('date', 'date'),
('float', 'float'),
('int', 'int'),
('char', 'char'),
)
class Questions(models.model):
question = models.CharField(()
answer = models.CharField()
answer_type = models.CharField(choices = ANSWER_TYPES)
default = models.CharField()
Run Code Online (Sandbox Code Playgroud)
所以在理论上这将做到以下几点:
我该如何进行这种自动转换?或者有人可以提出更好的方法吗? …
使用VS2008和R#5我遇到了一个奇怪的情况,在aspx页面上我不断得到
Cannot resolve symbol 'symbolname'
Run Code Online (Sandbox Code Playgroud)
但代码编译并运行良好.虽然有一个解决方案是很好的,我只是想弄清楚我是否会失去理智.
CodeFile指令和Inherits指令都可以.如果我编译应用程序或只是让devenv坐了一会儿它就会消失,但是一旦我保存了aspx [通过ctrl + s] R#突然遇到了Inherits属性的问题并且翻转了每个方法页面(OnClick等).
// Anonymized of course but otherwise intact
<%@ Page AutoEventWireup="true" CodeFile="TestPage.aspx.cs" Inherits="TestPage" Language="C#" MasterPageFile="~/MasterPage.master" Title="Test Page Title" %>
Run Code Online (Sandbox Code Playgroud)
这主要是一种不满,因为代码编译它并不能阻止我做我需要的事情.
我会向JetBrains网站发布一个错误报告,但首先我想知道我并不孤单.它可能是我的机器.也许当我在几周内推出VS2010时,它会消失吗?
我正在使用py.test对我的python程序进行单元测试.我希望用python调试器以正常的方式调试我的测试代码(我的意思是代码中的pdb.set_trace())但是我无法使它工作.
将pdb.set_trace()放入代码中不起作用(引发IOError:在捕获输出时从stdin读取).我也尝试使用选项--pdb运行py.test但是如果我想探索在断言之前发生的事情,那似乎并不起作用.当断言失败时它会中断,从该行继续前进意味着终止程序.
有没有人知道一种方法来调试,或者调试和py.test只是不想在一起?
对于我在使用大型SWT表的RCP应用程序中追逐一段时间的问题,这更像是一个答案.
问题是SWT Table.remove(int start,int end)方法的性能.它提供了非常糟糕的性能 - 在我的Windows XP上每100个项目大约50毫秒.但真正的节目制作者是在Vista和Windows 7上,删除100个项目需要5秒钟!查看表格的源代码表明,在这次调用中有大量的窗口事件飞来飞去.这使得窗口系统瘫痪.
解决方案是在这次通话中隐藏该死的东西:
table.setVisible(false);
table.remove(from, to);
table.setVisible(true);
Run Code Online (Sandbox Code Playgroud)
这确实很奇怪 - 在XP和Windows7上删除500个项目需要大约15毫秒,这只是打印我使用的时间戳的开销.
好:)
关于如何生成多部分响应或执行多部分文件上传,有很多信息.我似乎无法找到有关如何处理多部分http响应的任何信息.这是我正在使用的多部分http响应的一些IRB输出.
>> response.http.content_type
=> "multipart/related"
>> response.http.body[0..2048]
=> "\r\n------=_Part_3_806633756.1271797659309\r\nContent-Type: text/xml; charset=UTF-8\r\nContent-Transfer-Encoding: binary\r\nContent-Id: <A0FCC4333C6D0FCA346B97FAB6B61818>\r\n\r\n<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><ns1:runReportResponse soapenv:encodingStyle="http://www.w3.org/2003/05/soap-encoding" xmlns:ns1="http://192.168.1.200:8080/jasperserver/services/repository"><ns2:result xmlns:ns2="http://www.w3.org/2003/05/soap-rpc">runReportReturn</ns2:result><runReportReturn xsi:type="xsd:string"><?xml version="1.0" encoding="UTF-8"?>\n<operationResult version="2.0.1">\n\t<returnCode><![CDATA[0]]></returnCode>\n</operationResult>\n</runReportReturn></ns1:runReportResponse></soapenv:Body></soapenv:Envelope>\r\n------=_Part_3_806633756.1271797659309\r\nContent-Type: application/pdf\r\nContent-Transfer-Encoding: binary\r\nContent-Id: <report>\r\n\r\n%PDF-1.4\n%\342\343\317\323\n3 0 obj
Run Code Online (Sandbox Code Playgroud) 我注意到从插件生成的大多数HTML/XML/HAML使用2个空格而不是1个选项卡.我使用textmate并将标签设置为4个空格用于HAML/HTML/XML和2个空格用于Javascript/Ruby,但我只需按Tab键一次即可获得良好的缩进.按空格键两次并删除两次似乎太多的工作:p.
您是手动键入两个空格,还是将一些中间层转换为两个空格?或者只是你们中的一些人使用标签?
我是Android开发新手,遇到了一个我很难解决的问题.我试图弄清楚如何AutoCompleteTextView正确使用小部件.我想AutoCompleteTextView使用来自Web服务的XML数据创建一个.我设法让它工作,但我对输出肯定不满意.
我想在其中添加一个HashMapid => name对,AutoCompleteTextView并获取所点击项的id.当我点击自动完成过滤集输出时,我想填充自动完成框下面的列表,我也设法开始工作.
到目前为止:
事件onItemClick(AdapterView父,View v,int position,long id)不按我的意愿行事.如何确定所点击项目的未过滤数组位置?过滤后的位置是我不感兴趣的位置.
进一步的问题:
我对这个问题进行了非常广泛的研究,但没有找到任何有价值的信息来回答我的问题.