小编tux*_*21b的帖子

为什么IoC/DI在Python中不常见?

在Java中,IoC/DI是一种非常常见的做法,广泛用于Web应用程序,几乎所有可用的框架和Java EE.另一方面,也有很多大的Python Web应用程序,但除了Zope(我听说代码应该非常糟糕),IoC在Python世界中似乎并不常见.(如果你认为我错了,请说出一些例子).

当然有几个流行的Java IoC框架克隆可用于Python,例如springpython.但它们似乎都没有被实际使用.至少,我从来没有在一个stumpled Django的SQLAlchemy的 + <insert your favorite wsgi toolkit here>,它使用类似的东西,基于Web应用程序.

在我看来,IoC具有合理的优势,并且可以很容易地替换django-default-user-model,但是在Python中广泛使用接口类和IoC看起来有点奇怪而不是"pythonic".但也许有人有更好的解释,为什么IoC没有在Python中广泛使用.

python architecture design-patterns dependency-injection inversion-of-control

296
推荐指数
12
解决办法
9万
查看次数

是否可以使用标准库在Go中嵌套模板?(Google App Engine)

如何在python运行时获得像Jin​​ja这样的嵌套模板.TBC我的意思是如何从基本模板继承一堆模板,只需在基本模板的块中归档,就像Jinja/django-templates一样.是否可以html/template在标准库中使用.

如果这不可能,我的替代方案是什么.小胡子似乎是一个选项,但我会错过那些html/template像上下文敏感的逃避等的微妙的功能?还有什么其他选择?

(环境:Google App Engin,Go runtime v1,Dev - Mac OSx lion)

谢谢阅读.

google-app-engine template-engine go mustache

82
推荐指数
5
解决办法
2万
查看次数

如何比较golang中的两个版本号字符串

我有两个字符串(它们实际上是版本号,它们可以是任何版本号)

a := "1.05.00.0156"  
b := "1.0.221.9289"
Run Code Online (Sandbox Code Playgroud)

我想比较哪一个更大.如何在golang中做到这一点?

go

18
推荐指数
4
解决办法
9031
查看次数

Go Rand套餐难度很大

是否有Go函数在每次运行中返回真正的伪随机数?我的意思是,考虑下面的代码,

package main

import (
    "fmt"
    "rand"
)

func main() {
    fmt.Println(rand.Int31n(100))
}
Run Code Online (Sandbox Code Playgroud)

每次执行此代码时,我都会得到相同的输出.有没有一种方法可以在每次调用时返回不同的随机结果?

go

11
推荐指数
1
解决办法
2163
查看次数

如何编写JSP/ASP/PHP类语言的ANTLR解析器?

我是解析器生成器的新手,我想知道像JSP/ASP/PHP这样的嵌入式语言的ANTLR语法怎么样,但不幸的是,ANTLR站点没有提供任何这样的语法文件.

更准确地说,我不确切地知道如何定义匹配所有内容的AnyText令牌(包括在代码块之外没有任何意义的关键字),并且仍然能够在块内正确识别它们.

例如,下面的snipped应该被标记为:AnyText,BlockBegin,Keyword,BlockEnd,AnyText.

lorem ipsum KEYWORD dolor sit <% KEYWORD %> amet
Run Code Online (Sandbox Code Playgroud)

也许还有另一个解析器生成器,它更适合我的需求.到目前为止我只尝试过ANTLR,因为它在stackoverflow上很受欢迎:)

提前谢谢了!

parsing antlr

6
推荐指数
1
解决办法
2817
查看次数

SECCOMP:如何模拟malloc,realloc和free?

我想在我的服务器上执行任意(潜在危险)二进制文件.因此,我已经习惯objcopy将"main"符号重命名为"other_main",以便我可以在我自己的小主函数中链接,该函数为调用other_main之前设置适当的值RLIMIT_CPU并切换SECCOMP标志.到目前为止,我对这个解决方案非常满意.

现在的问题是,第三方程序代码可能包含对malloc的一些调用,这些调用可能会立即终止程序(不允许使用sbrk).因此,我想在设置SECCOMP应该由malloc/realloc/calloc/free使用之前预先分配一些合理大小的数组(例如20MB).不幸的是,我不知道如何归档最后一步.我是否必须自己实现所有这4个功能?如何将我自己的函数注入stdlib(例如,当printf在内部调用malloc时会发生什么?).

c linux malloc gcc seccomp

6
推荐指数
1
解决办法
1104
查看次数

LaTeX:仅在剩余空间时显示块

嗨LaTeX爱好者和TeX程序员!

我正在为某种传单开发一个单页文档类,它应该自动生成.不幸的是,有限的空间不能显示页面上的所有内容,所以我需要完全跳过一些文章(我不希望只有一半的文章打印在传单上).

在伪代码中,这就是我正在寻找的命令:

\if_sufficient_vspace_left
    {<big block/minipage with an article>}
    {<otherwise do nothing or something else>}
Run Code Online (Sandbox Code Playgroud)

用例是:

  • 如果页面上留下了足够的垂直空间,请完整打印文章.否则只将标题添加到"其他文章"列表中.
  • 如果剩余足够的垂直空间,请添加大型广告,否则添加较小的广告或不执行任何操作.

我很确定会有办法获得这个.例如,\leaders在垂直和水平模式下工作的TeX命令仅在剩余足够空间时才插入引线.不幸的是,我不想重复任何事情,其他行动也可能很棒.

任何有用命令的关键字和提示将不胜感激.您不必发布完整的解决方案(但您当然可以).

非常感谢,
Christoph

latex tex pdflatex

5
推荐指数
1
解决办法
1550
查看次数