我是来自PHP背景的Python开发人员.在PHP中,大多数框架包括一个体面的表单生成/验证API(Zend和CakePHP浮现在脑海中).在我的新公司,我们试图远离Django并广泛使用Werkzeug.
我看过FormEncode和Formular.Formular对我来说似乎更好,但必须有我的noobish大脑不知道的东西.请赐教.
在我的数据库接口库jOOQ中,我想添加对Oracle(或DB2等)包的支持.我已经实现了存储过程/函数支持,其中每个存储对象都被建模为生成的Java类.例如,这个存储的函数
CREATE FUNCTION f_author_exists (author_name VARCHAR2) RETURNS NUMBER;
Run Code Online (Sandbox Code Playgroud)
将生成一个可以像这样使用的类(注意,还有很多方便的方法,这个例子只显示了一般设计):
// A new "function call instance". The function needs to be instanciated
// once per call
FAuthorExists f = new FAuthorExists();
// Set the function parameters on the call instance and call it
f.setAuthorName("Paulo");
f.execute(connection);
// Fetch the result from the function call instance
BigDecimal result = f.getReturnValue();
Run Code Online (Sandbox Code Playgroud)
我之所以选择了一个映射SQL函数 - > Java的类是因为存储过程允许复杂的返回值(几个OUT,或IN OUT参数)我希望能够调用程序后去取一个:
p.getOutParam1();
p.getOutParam2();
Run Code Online (Sandbox Code Playgroud)
现在这个设计适用于存储的函数/过程,无法进行重载.但是,在Oracle(或DB2)的软件包中,我可以使用多个具有相同名称的函数,例如
CREATE PACKAGE my_package IS
FUNCTION f_author_exists (name VARCHAR2) RETURNS …Run Code Online (Sandbox Code Playgroud) 有很多关于Java对象大小的问答,这很容易理解.但我想知道PermGen空间中Java类的大小.
我想知道这个的原因是因为我正在编写代码生成器,生成了很多类.基本上,我为数据库中的每个表/视图生成两个类.现在我也想建模外键关系.而不是维护一个复杂的,可序列化的对象结构(考虑一个具有唯一键的表,该表由属于具有其他外键的其他表的几个外键引用,等等),我宁愿每个生成一个类,每个UNIQUE KEY类生成一个类FOREIGN KEY.
这是我的问题:
public类,static类和private成员类之间有区别吗?让Enterprise Architect识别C#中的可选参数的任何选项?
我试图导入现有代码并收到以下错误:
在第30行解析C:\ MyProject\FooBar.cs时出错.意外的符号:=
码:
public void Foo(int bar = 1) //Line 30
{
}
Run Code Online (Sandbox Code Playgroud)
我还尝试从头开始并从Enterprise Architect生成代码.我创建了一个类,然后向该类添加了一个操作并定义了参数.编辑参数的表单允许我提供"名称","类型"和"默认"(以及其他信息).我添加了Name:bar,Type:int,默认值:1.然后,当我生成代码时,这就是我得到的(没有生成可选参数!)
namespace System {
public class FooBar {
///
/// <param name="bar"></param>
public void Foo(int bar){
}
}//end FooBar
}//end namespace System
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
我想用RelaxNG Schema生成一个对象模型.
因此,我想使用RNGOM对象模型/解析器(主要是因为我找不到任何替代方案 - 尽管我甚至不关心解析器编写/生成的语言).现在我从SVN 检查了RNGOM源代码,我不知道如何使用RNGOM,因为没有关于用法的任何信息.
一个有用的提示如何从RNGOM开始 - 一个链接,示例或任何描述,使我不必阅读理解RNGOM的整个源代码 - 将作为答案.更好的是如何使用解析器从RNG文件生成对象模型的简单示例.
更多信息:
我想从以下RelaxNG模式中生成Java类:http://libvirt.org/git/?p = libvirt.git; a = tree; f = docs/schemas; hb = HEAD
我发现Glassfish的人正在使用rngom生成我需要的相同对象模型,但我还不知道他们是如何使用rngom的.
有没有办法从C#代码生成汇编代码?我知道C代码可以使用GAS,但有人知道C#是否可行?
我正在设计一个Clojure中的DSL,用于驱动代码生成器(在这种情况下用于程序图像合成 - clisk),并且无法计算出中间值的最佳表示.
最初DSL由返回一个或多个表单的函数组成,例如(说明性的)
(v+ 1.0 [1.0 'y])
=> ['(+ 1.0 1.0) '(+ 1.0 y)]
Run Code Online (Sandbox Code Playgroud)
然后可以组合这些函数以构建更大的代码块.
这很简单,结果表格可以直接输入代码生成器.然而,我现在已经确定了这种方法看起来有些弱点,例如,如果需要传递一些辅助数据(例如,无法以BufferedImages等形式编码的对象,对优化有用的元数据等).
我确信这是Lisp世界中一个已经解决的问题 - 这种DSL的最佳中间代表通常是什么?
我正在编写一个Scheme解释器(尝试完全兼容R5RS),这让我感到震惊的是编译成VM操作码会使它更快.(如果我错了,请纠正我.)我可以解释内存中的Scheme源代码,但我仍然坚持理解代码生成.
我的问题是:从解析树生成操作码需要哪些模式,例如JVM或任何其他VM(甚至是真机)?如果有的话,这样做的复杂性,优点或缺点是什么?
有没有工具将LLVM IR代码转换为Python代码?我知道有可能将它转换为Javascript(https://github.com/kripken/emscripten/wiki),转换为Java(http://da.vidr.cc/projects/lljvm/),我很乐意转换它也适用于Python.
另外如果这样的工具不存在,你可以提供任何信息,什么是最好的工具(也许我应该用其他语言扩展emscripten - Javascript和Python在某些方面相似;))
关于我的域对象中生成的getter和setter方法,我有一个小问题.我想为我的源代码使用一个通用的样式指南.该样式指南的一部分说我开始使用前缀'm'作为成员的每个类成员名称.
class User{
String mName;
List<Call> mAllCall;
List<Geo> mAllGeo;
Run Code Online (Sandbox Code Playgroud)
不幸的是,我有几个有更多成员变量的类.我遇到的问题是我是一个非常懒惰的开发人员,我在Eclipse中创建了getter和setter方法
"来源" - >"生成吸气剂和二传手".
结果是
public String getmName() {
return mName;
}
public void setmName(String mName) {
this.mName = mName;
}
public List<Call> getmAllCall() {
return mAllCall;
}
public void setmAllCall(List<Call> mAllCall) {
this.mAllCall = mAllCall;
}
public List<Geo> getAllGeo() {
return mAllGeo;
}
public void setmAllGeo(List<Geo> mAllGeo) {
this.mAllGeo = mAllGeo;
}
Run Code Online (Sandbox Code Playgroud)
那不是我想要的结果.我需要这个:
public String getName() {
return mName;
}
public void setName(String pName) {
this.mName = pName;
}
public …Run Code Online (Sandbox Code Playgroud)