小编Tie*_*Dad的帖子

给定提交ID,如何确定当前分支是否包含提交?

我正在尝试做的是版本检查.我想确保代码保持在最低版本之上.所以我需要一种方法来知道当前分支是否包含指定的提交.

git

114
推荐指数
6
解决办法
5万
查看次数

Python:如何实现__getattr __()?

我的班级有一个词典,例如:

class MyClass(object):
    def __init__(self):
        self.data = {'a': 'v1', 'b': 'v2'}
Run Code Online (Sandbox Code Playgroud)

然后我想使用dict的密钥和MyClass实例来访问dict,例如:

ob = MyClass()
v = ob.a   # Here I expect ob.a returns 'v1'
Run Code Online (Sandbox Code Playgroud)

我知道这应该由__getattr__实现,但我是Python的新手,我不知道如何实现它.

python

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

xcode 4.5,视图大小在界面构建器中不可编辑

我从xcode 4.4开始我的项目,我用界面构建器创建了几个视图控制器(带有xib文件).几天前,我将xcode升级到4.5版.今天,我突然发现我可以在界面构建器中修改视图大小.这是xcode 4.5的预期功能还是xcode 4.5的错误?

xcode interface-builder ios

11
推荐指数
2
解决办法
7768
查看次数

这个Ruby语法是什么?

我刚看了下面的代码:

class Dir
   def self.create_uniq &b  ### Here, & should mean b is a block
      u = 0
      loop do
      begin
         fn = b[u]   ### But, what does b[u] mean? And b is not called.
         FileUtils.mkdir fn
         return fn
      rescue Errno::EEXIST
         u += 1
      end
    end
    io
  end
end
Run Code Online (Sandbox Code Playgroud)

我把我的困惑作为评论在代码中.

ruby

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

如何在Ruby中获取当前文件和行号?

我想实现这样的日志函数:

def mylog(str)
   puts __FILE__, ":"__LINENO__, ":", str  # Here how to get __FILE__ and __LINENO__ is my question.
end
Run Code Online (Sandbox Code Playgroud)

我打电话的时候mylog:

mylog 'hello' # say I call this in my.rb line 10
Run Code Online (Sandbox Code Playgroud)

我期待输出:

my.rb:10:hello
Run Code Online (Sandbox Code Playgroud)

请帮助正确实现mylog功能.

ruby

10
推荐指数
3
解决办法
7228
查看次数

如何获取类方法?

RubyModule有一个方法instance_methods可以返回该类的方法列表。但是如何检索类的类方法列表呢?

ruby

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

这是httplib2的错误吗?

我的python程序使用httplib2.Http来发出http请求.一旦我需要生成一个请求,我创建一个httplib2.Http对象,以便我的程序经常创建/销毁httplib2.Http对象.

我发现由于达到最大打开文件数,我的程序很容易崩溃.检查/ proc // fd,打开套接字fds太多了.这个问题使我不得不深入研究httplib2源代码.

然后我发现,在httplib2.Http._conn_request方法中,有这样的代码:

        else:
            content = ""
            if method == "HEAD":
                conn.close()
            else:
                content = response.read()
            response = Response(response)
            if method != "HEAD":
                content = _decompressContent(response, content)
        break
Run Code Online (Sandbox Code Playgroud)

这表明套接字仅在http方法为HEAD时关闭.也许httplib2想要以某种方式重用套接字.但是Http类没有close()方法.这意味着当我发出Http请求时,套接字将不会关闭,直到我的进程终止.

然后我修改了代码:

        else:
            content = ""
            if method == "HEAD":
                conn.close()
            else:
                content = response.read()
            response = Response(response)
            if method != "HEAD":
                content = _decompressContent(response, content)
                conn.close() # I ADD THIS CLOSE
        break
Run Code Online (Sandbox Code Playgroud)

在那之后,我的计划运作良好.

但我仍然很好奇,如果这是httplib2的错误,因为httplib2是一个非常古老而常见的lib.

python httplib2

7
推荐指数
1
解决办法
1470
查看次数

是绿色等同于"真实"线程

我从Unterstanding eventlet.wsgi.server中获取了示例代码.

from eventlet import wsgi
import eventlet
from eventlet.green import time
import threading

def hello_world(env, start_response):
    print "got request", eventlet.greenthread.getcurrent(), threading.currentThread()
    time.sleep(10)
    start_response('200 OK', [('Content-Type', 'text/plain')])
    return ['Hello, World!\n']

wsgi.server(eventlet.listen(('', 8090)), hello_world)
Run Code Online (Sandbox Code Playgroud)

当我通过不同的客户端IP地址访问Web服务器时,我可以看到它们是并行处理的.随着打印输入hello_world,我还可以在两个不同的greenthreads中处理它们,但是在相同的OS线程中.

我是Python的新手.我很好奇,如果每个greenthread与底层操作系统线程绑定?

python eventlet

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

静态同步函数如何工作?

当Java成员需要是线程安全的时,我们会喜欢以下内容:

 public synchronized void func() {
     ...
 }
Run Code Online (Sandbox Code Playgroud)

此语法相当于:

 public void func() {
      synchronized(this) {
           ....
      }
 }
Run Code Online (Sandbox Code Playgroud)

也就是说,它实际上this用于锁定.

我的问题是,如果我用synchronized一个static方法,如下所示:

class AA {
    private AA() {}

    public static synchronized AA getInstance() {
        static AA obj = new AA();
        return obj;
    }
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,该synchronized方法的锁是什么?

java synchronized thread-safety

6
推荐指数
2
解决办法
281
查看次数

是否可以同时在操作栏上显示标题和自定义视图?

要在操作栏上放置右对齐的微调器,我必须使用具有相对布局的自定义视图.但是当我在操作栏上放置自定义视图后,我发现应用程序标题消失了,必须通过在操作栏上放置自定义视图来影响它.

是否可以在操作栏上显示标题和自定义视图?否则我也必须将标题放在客户视图中,但我不希望这样做.

android

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