小编Enn*_*oji的帖子

Maven相当于python

我是一个java开发人员/ python初学者,我缺少我的maven功能,特别是依赖管理和构建自动化(我的意思是你不构建,但是如何创建一个包用于部署?)

有没有python相当于实现这些功能?
注意:我使用python 2.x.

谢谢.

python deployment dependency-management

134
推荐指数
5
解决办法
8万
查看次数

检查谓词是否为Python中的iterable中的所有元素计算为true

我很确定有一个常见的习惯用法,但我无法通过Google搜索找到它...

这是我想要做的(在Java中):

// Applies the predicate to all elements of the iterable, and returns
// true if all evaluated to true, otherwise false
boolean allTrue = Iterables.all(someIterable, somePredicate);
Run Code Online (Sandbox Code Playgroud)

这在Python中如何完成"Pythonic"?

如果我能得到这个答案也会很棒:

// Returns true if any of the elements return true for the predicate
boolean anyTrue = Iterables.any(someIterable, somePredicate);
Run Code Online (Sandbox Code Playgroud)

python

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

为什么用JIT编译器(就应用程序性能而言)难以击败AOT编译器?

我认为JIT编译器最终将在编译代码的性能方面击败AOT编译器,因为JIT具有固有的优势(可以使用仅在运行时可用的信息).一个论点是AOT编译器可以花更多时间编译代码,但服务器VM也可能花费大量时间.

我知道JIT确实在某些情况下击败了AOT编译器,但在大多数情况下它们似乎仍然落后.

所以我的问题是,阻止JIT编译器击败AOT编译器的具体而棘手的问题是什么?

编辑:
一些常见的论点:

  • AOT编译器可以花更多时间进行高级优化- >如果您运行的服务器虚拟机数天,您可以花费相同的时间,如果不是更长的话.
  • 字节代码解释有成本- >大多数JIT编译器最近都会缓存本地机器指令.

另一个编辑:
有关具体示例,请参阅此文章:改进Swing性能:JIT与AOT编译.从我从本文中可以收集的内容来看,作者基本上说当没有热点时,运行时信息的优势会降低,因此没有JIT开销的AOT就会获胜.但是40%?这似乎没有多大意义.仅仅是因为这种情况没有调整被比较的JIT编译器吗?还是更基本的东西?

compiler-construction performance jit vm-implementation

33
推荐指数
1
解决办法
1万
查看次数

为什么PHP适用于高流量网站?

今天我很惊讶地发现PHP在高流量网站中被广泛使用.

我一直认为PHP在性能方面不强,是一种动态的脚本语言(例如与静态类型的编译语言比如C/Java/C#等).

那怎么表现得这么好呢?

php performance

31
推荐指数
2
解决办法
5977
查看次数

为什么线程会自动从wait()中唤醒?

我想知道为什么线程会自动从java中的wait()中唤醒.
这是一个设计决定吗?这是妥协吗?

编辑:(来自Java Concurrency in Practice,p.300)

wait 甚至允许"虚假地"返回 - 不响应任何调用通知的线程.

作者进一步指出:

这就像一个连接器松动的烤面包机,当烤面包准备好时,铃铛会关闭,有时候还没有准备好.

这就是为什么你总是需要像

synchronized(this){
    while(!condition)
        wait();
    }
}
Run Code Online (Sandbox Code Playgroud)

永不

synchronized(this){
    if(!condition){
        wait();
    }
}
Run Code Online (Sandbox Code Playgroud)

即使条件仅从转换 falsetrue.

java concurrency multithreading

19
推荐指数
2
解决办法
2116
查看次数

这个Man-In-The-Middle攻击如何运作?

关于其CSRF保护Django文档指出:

此外,对于HTTPS请求,严格的引用检查由CsrfViewMiddleware完成.这对于解决在使用会话无关nonce时在HT​​TPS下可能发生的中间人攻击是必要的,因为HTTP'Set-Cookie'标头(不幸地)被正在与之交谈的客户端接受HTTPS下的网站.(对HTTP请求不进行引用检查,因为在HTTP下,Referer头的存在不够可靠.)

我无法想象这次攻击的工作原理.有人可以解释一下吗?

更新:
Django文档中的措辞似乎意味着存在一种特定类型的中间人攻击(这导致我假设成功的CSRF),它与会话无关的随机数(但不是特定于事务) nonce等,我想)并涉及使用'Set-Cookie'标题.
所以我想知道这种特定类型的攻击是如何起作用的.

security django csrf man-in-the-middle

18
推荐指数
1
解决办法
3695
查看次数

如何选择列并在Hive中执行TRANSFORM?

我正在使用TRANSFORM USINGHive 0.8.1,并注意到这是无效的语法:

SELECT
    a,
    TRANSFORM(b, c) USING 'fake.py' AS d,
FROM test_table;
Run Code Online (Sandbox Code Playgroud)

删除"a"会使此语句有效.使用它的正确方法是什么?

hive

18
推荐指数
1
解决办法
1万
查看次数

Oracle瘦驱动程序与OCI驱动程序.优点和缺点?

当您开发一个与oracle DB对话的Java应用程序时,有两个选项吗?一个是oracle瘦驱动程序,另一个是需要自己安装的OCI驱动程序(如果我误解,请更正).

现在,有什么利弊?很明显,薄型驱动器在安装方面听起来要好得多,但是OCI可以做什么,薄的却不行?

开发环境是Tomcat6 + Spring 3.0 + JPA(Hibernate)+ apache-DBCP

java oracle persistence oracle-call-interface

17
推荐指数
2
解决办法
1万
查看次数

为什么Guava中的Iterables.find()抛出NoSuchElementException,而不是返回null?

我喜欢谷歌番石榴并且使用它很多,但有一种方法我总能找到我写的..

 public static <T> T tryFind(Iterable<T> iterable, Predicate<T> predicate){
     for(T t : iterable){
         if(predicate.apply(t)){
              return t;
         }
     }
     return null;
  }
Run Code Online (Sandbox Code Playgroud)

对我来说,这似乎是一个非常有用的补充Iterables(也是Iterators为了那个问题),所以我想知道它为什么缺失.此外,虽然我可以看到有一个方法抛出的点NoSuchElementException,也许是为了区分找到一个null而没有找到该元素,但只有当你使用的谓词是

public boolean apply(T t){
     return t==null;
}
Run Code Online (Sandbox Code Playgroud)

这似乎不是一个常见的情况.

那么为什么番石榴设计师选择了这种行为,而不是只是在找不到它时才返回null?

这是[Iterables.find()] [1]的javadoc

[1]:http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/collect/Iterables.html#find (java.lang.Iterable,com.google.common.base.谓语)

api-design guava

17
推荐指数
3
解决办法
7982
查看次数

什么是"模拟阻塞"(在tomcat doc中看到)?

我在官方tomcat配置文档中看到了以下描述(省略了APR连接器描述):

             Java Blocking Connector       Java Nio Blocking Connector
Classname         Http11Protocol                  Http11NioProtocol   
Tomcat Version   3.x 4.x 5.x 6.x                       6.x            
Support Polling         NO                             YES            
Polling Size           N/A                   Unlimited - Restricted by mem
Read HTTP Request     Blocking                     Non Blocking
Read HTTP Body        Blocking                     Sim Blocking
Write HTTP Response   Blocking                     Sim Blocking
SSL Support           Java SSL                     Java SSL
SSL Handshake         Blocking                     Non blocking
Max Connections       maxThreads                   See polling size
Run Code Online (Sandbox Code Playgroud)

"Sim Blocking"是什么意思?

java multithreading tomcat network-programming

13
推荐指数
1
解决办法
1464
查看次数