小编Gor*_*son的帖子

为什么窗口与Internet Explorer中的window.self不同?

有一个复杂的背景故事涉及我是如何遇到这个,但为什么该self属性不完全等于窗口本身?

在Safari和Firefox以及朋友中,结果如我所料:

> window == window.self
  true
> window === window.self
  true
Run Code Online (Sandbox Code Playgroud)

但在Internet Explorer中却不是这样:

>> window == window.self
   true
>> window === window.self
   false
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释这种不一致吗?究竟是什么是self窗口对象指向的属性?它投射到平等的东西,这更令人烦恼.

javascript internet-explorer dom cross-browser

26
推荐指数
1
解决办法
2352
查看次数

动态语言中的接口有什么意义吗?

在像Java这样的静态语言中,你需要接口,否则类型系统就不会让你做某些事情.但是在PHP和Python这样的动态语言中,你只需要利用duck-typing.

PHP支持接口.Ruby和Python没有它们.所以你可以在没有他们的情况下幸福地生活.

我一直在用PHP工作,并且从未真正使用定义接口的能力.当我需要一组类来实现某些通用接口时,我只是在文档中描述它.

所以你怎么看?如果不使用动态语言中的接口,你最好不是最好的吗?

php dynamic-languages duck-typing interface

25
推荐指数
4
解决办法
3629
查看次数

(简单)提升thread_group问题

我正在尝试编写一个相当简单的线程应用程序,但它是boost的线程库的新手.我正在研究的一个简单的测试程序是:

#include <iostream>
#include <boost/thread.hpp>

int result = 0;
boost::mutex result_mutex;

boost::thread_group g;

void threaded_function(int i)
{
    for(; i < 100000; ++i) {}

    {
        boost::mutex::scoped_lock lock(result_mutex);
        result += i;
    }
}

int main(int argc, char* argv[])
{
    using namespace std;

    // launch three threads
    boost::thread t1(threaded_function, 10);
    boost::thread t2(threaded_function, 10);
    boost::thread t3(threaded_function, 10);

    g.add_thread(&t1);
    g.add_thread(&t2);
    g.add_thread(&t3);

    // wait for them
    g.join_all();

    cout << result << endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我编译并运行该程序时,我得到了一个输出

$ ./test 
300000
test: pthread_mutex_lock.c:87: __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0' …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading boost boost-thread

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

23
推荐指数
3
解决办法
4935
查看次数

在Mac OS X Mountain Lion上编译apache2的问题

在我的Mac(10.8)上尝试编译最新版本的apache web服务器(2.4.3)时遇到了问题.当我运行./configure命令时,我得到以下输出:

checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking build system type... x86_64-apple-darwin12.0.0
checking host system type... x86_64-apple-darwin12.0.0
checking target system type... x86_64-apple-darwin12.0.0
configure: 
configure: Configuring Apache Portable Runtime library...
configure: 
checking for APR... yes
  setting CC to "/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/cc"
  setting CPP to "/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/cc -E"
  setting CFLAGS to " "
  setting CPPFLAGS to " -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK"
  setting LDFLAGS to " " …
Run Code Online (Sandbox Code Playgroud)

apache macos

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

Python嵌套循环成语

我经常发现自己这样做:

for x in range(x_size):
    for y in range(y_size):
        for z in range(z_size):
            pass # do something here
Run Code Online (Sandbox Code Playgroud)

有没有更简洁的方法在Python中执行此操作?我正在考虑的事情

for x, z, y in ... ? :
Run Code Online (Sandbox Code Playgroud)

python foreach loops for-loop idioms

23
推荐指数
3
解决办法
1110
查看次数

Java类中允许的最大代码行数?

一个.java文件可以包含多少行代码?它取决于所使用的JVM吗?

java

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

在离开页面之前询问用户确认的最佳方式

我目前正在建立一个注册页面,如果用户离开,我想弹出一个CSS框询问他是否确定.我可以使用确认框来完成这个壮举,但客户说他们太难看了.我尝试过使用unload和beforeunload,但两者都无法阻止页面被重定向.使用那些事件,我返回false,所以也许有一种方法可以取消而不是返回false?

我有另一个解决方案是将它们重定向到另一个有我的弹出窗口的页面,但问题是如果他们确实想要离开页面,并且这不是一个错误,他们会丢失他们最初尝试的页面要去.如果我是用户,那会激怒我.

最后的解决方案是真正的弹出窗口.我唯一不喜欢的是主要的winow将有他们的目标页面,而pop将有我的页面.在我看来,它看起来不相干.最重要的是,我会担心弹出窗口拦截器.

只是为了添加每个人的评论.我知道阻止用户退出页面是令人恼火的,我认为不应该这样做.现在我正在使用确认框.发生的事情是它实际上并没有"阻止"用户离开,如果用户对注册有疑问,客户实际想要做的是提出建议.如果用户处于注册过程的中途并且由于某种原因离开,则客户希望向用户提供免费优惠券到研讨会(该客户正在销售研讨会)以希望说服用户注册.客户的印象是,由于用户已经在表单上,​​他正在考虑注册,因此他正在注册的内容可能是让用户注册的最终推动.理想情况下,我不必阻止用户离开,什么会一样好,而且在我看来更好的是我可以暂停卸载过程.也许睡觉命令?我不需要将用户留在页面上,因为他们将离开去任何其他页面.

此外,正如人们所说,这是一个非常可怕的标题,所以如果有人知道一个更好的标题,我真的很感激它,如果他们可以将标题改为不被垃圾邮件发送者邀请的东西.

javascript javascript-events

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

有人可以澄清Joel On Software引用的含义:(功能程序没有副作用)

我今天正在阅读Joel On Software并且遇到了这个引用:

如果不理解函数式编程,就无法发明MapReduce,这种算法使Google具有如此大规模的可扩展性.术语Map和Reduce来自Lisp和函数式编程.回想起来,对于那些从6.001等效编程类中记得纯粹功能性程序没有副作用且因此可以简单地并行化的人来说,MapReduce是显而易见的.

当他说功能性程序没有副作用时,他的意思是什么?这如何使并行化变得微不足道?

functional-programming

21
推荐指数
3
解决办法
855
查看次数

什么是最常被滥用的html标签?

html中哪些未弃用的标签通常被滥用?它们应该如何使用/它们应该被替换?如果我们有一些帮助人们学习HTML的指南,那将是非常棒的.

答案应包括:

  • 突出文本中的html标记
  • 它是如何被滥用的
  • 我们如何避免滥用它

每个问题只能使用一个标签.如果您已在帖子中看到自己的标记,请不要双重发布,而是将其他误用评论编辑到该答案中.

html tags semantic-markup

21
推荐指数
7
解决办法
2091
查看次数