我需要一个php的框架.我几乎没有建议使用Zend Framework.令我担心的是Zend Framework api的稳定性.
你知道ZF有多稳定吗?是否有以前版本的更改列表/迁移计划.这样我可以查看引入了多少次重大变更?
我需要像django这样稳定的东西:
Django 1.0的发布带来了API稳定性和前向兼容性的承诺.>简而言之,这意味着您针对Django 1.0开发的代码将继续针对1.1继续工作,并且您应该只对任何1.X版本进行微小更改
后来我们可以读到:
如果错误或安全漏洞使它完全不可避免,我们只会破坏这些API的向后兼容性
我一直在尝试在Vista 上安装PyQt 4.7,但是当我尝试这样做时,我得到了一个ImportError : from PyQt4 import QtCore, QtGui.
ImportError:DLL加载失败:找不到指定的模块.
我已经检查了我的系统路径,并且C:\ Python31\Lib\site-packages\PyQt4\bin就在那里.
我无法运行任何示例,但Designer,Assistant和Linguist运行良好.
我正在使用ActivePython 3.1,如果这有任何区别.而且我没有安装任何以前版本的PyQt.
编辑:
我已将QtCore4和GtGui4 dll复制到C:\ Python31\Lib\site-packages\PyQt4.这修复了一些示例,但我仍然无法使用示例浏览器.
我已经看到很多论据,使用返回值比out参数更可取.我确信为什么要避免它们,但我发现自己不确定我是否遇到了不可避免的情况.
我的问题的第一部分是:你最喜欢/常见的使用out参数的方法是什么?沿着这条线:人,在同行评议中,我总是看到其他程序员在这样做的时候可以轻松完成.
我的问题的第二部分涉及我遇到的一些特定情况,我想避免使用out参数,但却想不到干净的方法.
示例1:我有一个昂贵的副本,我想避免.可以在对象上完成工作,这会使对象的构建变得昂贵.建立数据的工作也不是很简单.目前,我将此对象传递给将修改对象状态的函数.对我来说,最好是新建一个工作函数内部的对象并将其返回,因为它允许我把东西放在堆栈上.
class ExpensiveCopy //Defines some interface I can't change.
{
public:
ExpensiveCopy(const ExpensiveCopy toCopy){ /*Ouch! This hurts.*/ };
ExpensiveCopy& operator=(const ExpensiveCopy& toCopy){/*Ouch! This hurts.*/};
void addToData(SomeData);
SomeData getData();
}
class B
{
public:
static void doWork(ExpensiveCopy& ec_out, int someParam);
//or
// Your Function Here.
}
Run Code Online (Sandbox Code Playgroud)
使用我的函数,我得到这样的代码:
const int SOME_PARAM = 5;
ExpensiveCopy toModify;
B::doWork(toModify, SOME_PARAM);
Run Code Online (Sandbox Code Playgroud)
我想要这样的东西:
ExpensiveCopy theResult = B::doWork(SOME_PARAM);
Run Code Online (Sandbox Code Playgroud)
但我不知道这是否可行.
第二个例子:我有一个对象数组.数组中的对象是一个复杂的类型,我需要对每个元素进行处理,我希望将它与访问每个元素的主循环分开.代码目前看起来像这样:
std::vector<ComplexType> theCollection;
for(int index = 0; index < theCollection.size(); ++index)
{ …Run Code Online (Sandbox Code Playgroud) 我希望能够在ASP.Net MVC中向我的控制器发布帖子时发送JSON而不是标准的QueryStrings.我有前端工作正常(构建然后提交我的JSON对象).
问题出在控制器端,MVC框架附带的默认ModelBinder不支持此功能.
我已经看到了各种方法,其中之一是应用一个过滤器,它将对象作为参数,使用JSON库对其进行反序列化,并将其添加到操作参数中.这不太理想.
另一种更好的方法是使用自定义Model Binder.我见过的所有人都认为你只有一个模型而且它将是一个类而不是一个变量.如果你有多个,它会崩溃.
有人遇到过这种情况么?我有一个想法,如果我可以简单地覆盖MVC如何处理FormCollection并拦截那里,我自己将值添加到集合中,并希望MVC能够以正常的方式完成剩下的工作.有谁知道这是否可能?
我认为关键问题是我的问题不在于绑定,因为我的视图模型与之前的模型没有什么不同.问题是从JSON Post获取值.
如果我是正确的MVC获取QueryString中的值并将其放入表单集合中,然后将其用于ModelBinding.那么正确的方法是不应该改变FormCollection的分配方式?
动作示例:
public ActionResult MyFirstAction(Int32 ID, PersonObject Person, ClassObject ClassDetails)
{
//etc
}
Run Code Online (Sandbox Code Playgroud)
正常的绑定工作,JSON没有,模型绑定器的所有示例都不起作用.到目前为止,我最好的解决方案是将对象转换为字典并循环遍历每个参数并匹配它.看起来不太理想.
我有:
<form>
<input id="A" name="B">
<input id="C" name="D">
</form>
Run Code Online (Sandbox Code Playgroud)
每当第一个输入发生变化时,我需要将第二个输入设置为等于第一个输入.就像是:
$(function() {
$('input#A').change(function() {
$('input#C').val(this.text);
});
});
Run Code Online (Sandbox Code Playgroud) 我在Ruby中有这样的代码:
@clientipaddress = request.env["HTTP_CLIENT_IP"]
if (@clientipaddress == nil)
@clientipaddress = request.env["HTTP_X_FORWARDED_FOR"]
end
if (@clientipaddress == nil)
@clientipaddress = request.env["REMOTE_ADDR"]
end
if (@clientipaddress != nil)
comma = @clientipaddress.index(",")
if (comma != nil && comma >= 0)
@clientipaddress = @clientipaddress[0, comma]
end
end
Run Code Online (Sandbox Code Playgroud)
它处理了知识产权可能出现的所有可能方式.例如,在我的本地开发机器上,没有代理.但在QA和Production中,代理存在,有时它们提供多个地址.
我不需要知道Groovy语法,只是哪种方法让我相当于我要求上面的IP的三种不同方式.
创建平面页面时,我希望用户从预定义列表中选择模板.为了保持该Flatpage模式不变,我更喜欢ChoiceField过ModelChoiceField(后者提供模板的PK,但我需要为TEMPLATE_NAME字段中的名称):
class NewFlatpageForm(FlatpageForm):
template_name = forms.ChoiceField(choices = [])
def __init__(self, *args, **kwargs):
self.base_fields['template_name'].choices = ProjectTemplate.objects.values_list('path', 'name')
super(NewFlatpageForm, self).__init__(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
我重写__init__或Django在服务器启动时填充选项,然后不更新列表.
我没有任何管理员经验,但fields在不使用admin时我使用该属性做了类似的事情.但是在这种情况下,我得到一个异常,告诉fields它不是表单的属性.__dict__向我展示了一个base_fields属性并使用它有效.那么,为什么在这里使用base_fields,为什么fields不存在,最后我做了什么hacky?
要在Python的matplotlib包中用希腊字母注释我的数字,我使用以下内容:
import matplotlib
matplotlib.use('PDF')
import matplotlib.pyplot as plt
from matplotlib import rc
rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']})
plt.rcParams['ps.useafm'] = True
rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']})
plt.rcParams['pdf.fonttype'] = 42
# plot figure
# ...
# annotate figure
plt.xlabel(r'$\mu$ = 50')
plt.ylabel(r'$\sigma$ = 1.5')
Run Code Online (Sandbox Code Playgroud)
这使得Helvetica字体中的等号及其右边的所有符号都符合预期,希腊符号默认为通常的TeX字体(我认为是Times New Roman.)
我怎样才能使希腊字母使用的字体是"符号"字体呢?对我来说重要的是不要让它出现在TeX的默认Times字体中.
谢谢你的帮助.
我正在尝试编写一个iphone web应用程序,在离线状态下显示来自小型数据库的信息.是否可以准备数据库并下载而不是以其他格式下载数据并在首次使用时创建数据?
如果我必须创建数据库,那么什么是一个好的格式(有压缩的xml?)来发送数据?
本地dbs有最大存储限制吗?
如果您的网站访问者停用了JavaScript,您会怎么做?你阻止它们吗?
python ×2
asp.net-mvc ×1
c++ ×1
django ×1
django-admin ×1
function ×1
grails ×1
html5 ×1
importerror ×1
javascript ×1
jquery ×1
json ×1
latex ×1
matplotlib ×1
offline ×1
oop ×1
parameters ×1
php ×1
pyqt ×1
usability ×1
windows ×1