小编its*_*dok的帖子

使用Python实现触摸?

touch是一个Unix实用程序,它将文件的修改和访问时间设置为当前时间.如果该文件不存在,则使用默认权限创建该文件.

你如何将它作为Python函数实现?尝试跨平台和完整.

(目前Google搜索"python touch file"的结果并不是那么好,但是指向os.utime.)

python utility

298
推荐指数
9
解决办法
16万
查看次数

当"隐式"流程运行良好时,为什么OAuth2中存在"授权代码"流程?

使用"隐式"流程,客户端(可能是浏览器)将在资源所有者(即用户)提供访问权限后获得访问令牌.

但是,通过"授权代码"流程,客户端(通常是Web服务器)仅在资源所有者(即用户)授予访问权限后才获取授权代码.使用该授权代码,客户端再次调用API,将client_id和client_secret与授权代码一起传递,以获取访问令牌.这里描述的都很好.

两个流都具有完全相同的结果:访问令牌.但是,"隐式"流程要简单得多.

问题:当"隐式"流程接缝没问题时,为什么要打扰"授权代码"流程呢?为什么不对webserver使用"Implicit"?

这对提供商和客户来说都是更多的工作.

authentication oauth oauth-2.0

241
推荐指数
7
解决办法
5万
查看次数

.toArray(new MyClass [0])或.toArray(new MyClass [myList.size()])?

假设我有一个ArrayList

ArrayList<MyClass> myList;
Run Code Online (Sandbox Code Playgroud)

我想打电话给阿瑞,是否有使用性能的原因

MyClass[] arr = myList.toArray(new MyClass[myList.size()]);
Run Code Online (Sandbox Code Playgroud)

过度

MyClass[] arr = myList.toArray(new MyClass[0]);
Run Code Online (Sandbox Code Playgroud)

我更喜欢第二种风格,因为它不那么冗长,我认为编译器会确保空数组不会真正被创建,但我一直想知道这是不是真的.

当然,在99%的情况下,它不会以某种方式产生影响,但我希望在我的普通代码和优化的内部循环之间保持一致的风格......

java performance coding-style

147
推荐指数
4
解决办法
7万
查看次数

调用接口有什么意义?

我正在阅读这篇关于JVM如何调用方法的文章,我想我已经掌握了大部分内容.但是,我仍然无法理解需要invokeinterface.

我理解它的方式,一个类基本上有一个方法的虚拟表,当调用一个方法时,invokevirtualinvokeinterface咨询这个虚拟表.

那么,在接口上定义的方法和在基类上定义的方法之间有什么区别?为什么不同的字节码?

的指令描述看起来也非常相似.

该文章似乎声称,每次调用方法时,接口的方法表都可以具有"不同的偏移量".我不明白的是为什么接口会有一个方法表,因为没有对象可以将接口作为其实际类型.

我错过了什么?

jvm

65
推荐指数
1
解决办法
9341
查看次数

如何在python中获取逐行MySQL ResultSet

默认情况下,MySQL ResultSet会在完成任何工作之前从服务器中完全检索.在巨大的结果集的情况下,这变得无法使用.我希望实际上从服务器中逐个检索行.

在Java中,按照这里的说明(在"ResultSet"下),我创建一个这样的语句:

stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,
              java.sql.ResultSet.CONCUR_READ_ONLY);
stmt.setFetchSize(Integer.MIN_VALUE);
Run Code Online (Sandbox Code Playgroud)

这在Java中很有效.我的问题是:有没有办法在python中做同样的事情?

我试过的一件事是一次将查询限制为1000行,如下所示:

start_row = 0
while True:
    cursor = conn.cursor()
    cursor.execute("SELECT item FROM items LIMIT %d,1000" % start_row)
    rows = cursor.fetchall()
    if not rows:
        break
    start_row += 1000
    # Do something with rows...
Run Code Online (Sandbox Code Playgroud)

但是,较高的start_row似乎会变慢.

不,使用fetchone()fetchall()不是改变任何东西.

澄清:

我用来重现这个问题的天真代码如下所示:

import MySQLdb

conn = MySQLdb.connect(user="user", passwd="password", db="mydb")
cur = conn.cursor()
print "Executing query"
cur.execute("SELECT * FROM bigtable");

print "Starting loop"
row = cur.fetchone()
while row is not None:
    print …
Run Code Online (Sandbox Code Playgroud)

python mysql

47
推荐指数
3
解决办法
7万
查看次数

'receive-pack':服务未启用'./.git'

(已经解决了,我正在为下一个人写这个)

我在一台计算机上运行git守护程序并尝试与另一台计算机同步.

在计算机A上,我跑了:

git daemon --reuseaddr --base-path=. --export-all --verbose
Run Code Online (Sandbox Code Playgroud)

在电脑B上,我跑了:

git clone git://computerA/.git source # worked
cd source
git pull # worked
git push # failed with "fatal: The remote end hung up unexpectedly"
Run Code Online (Sandbox Code Playgroud)

在计算机A上,守护程序输出为:

[5596] Connection from 127.0.0.1:2476
[5596] Extended attributes (16 bytes) exist <host=localhost>
[5596] Request receive-pack for '/.git'
[5596] 'receive-pack': service not enabled for './.git'
[5444] [5596] Disconnected (with error)
Run Code Online (Sandbox Code Playgroud)

我要发布我发现的灵魂.如果您有更完整的答案,请继续添加.

git

47
推荐指数
3
解决办法
4万
查看次数

如何从Java中的字符串中正确修剪空格?

JDK的String.trim()方法很幼稚,只删除ascii控制字符.

Apache Commons的StringUtils.strip()略胜一筹,但使用的是JDK的Character.isWhitespace(),它不会将不间断的空格识别为空格.

那么在Java中修剪字符串的最完整,Unicode兼容,安全和正确的方法是什么?

顺便说一句,是否有比commons-lang我应该使用的更好的库?

java string unicode

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

找出Python正则表达式中的捕获组数量

有没有办法确定给定正则表达式中有多少个捕获组?

我希望能够做到以下几点:

def groups(regexp, s):
    """ Returns the first result of re.findall, or an empty default

    >>> groups(r'(\d)(\d)(\d)', '123')
    ('1', '2', '3')
    >>> groups(r'(\d)(\d)(\d)', 'abc')
    ('', '', '')
    """
    import re
    m = re.search(regexp, s)
    if m:
        return m.groups()
    return ('',) * num_of_groups(regexp)
Run Code Online (Sandbox Code Playgroud)

这允许我做的事情:

first, last, phone = groups(r'(\w+) (\w+) ([\d\-]+)', 'John Doe 555-3456')
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何实施num_of_groups.(目前我只是解决它.)

编辑:按照rslite建议,我换成re.findallre.search.

sre_parse 看起来像是最强大和最全面的解决方案,但需要树遍历并且看起来有点沉重.

MizardX的正则表达似乎覆盖了所有基础,所以我将继续使用它.

python regex

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

java堆转储中的那些奇怪的类名是什么意思?

我正在尝试使用jmapjhat跟踪java进程中的内存泄漏.每次我这样做,我都会看到特定对象类型的奇怪符号,比如[S字符串数组和[C字符数组.我永远不会记得什么意味着什么,这很难谷歌这个东西.

(编辑:为了证明我的观点,事实证明这[S是一个简短[C的数组并且是char数组.)

任何人都想制作一张表,列出所有不同的类名及其含义?或者指点我这样的桌子?

具体来说,我想知道是什么[Ljava.lang.Object;意思.

java debugging heap memory-leaks jmap

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

使用jQuery的非ajax GET/POST(插件?)

这种情况之一我觉得我错过了一个关键的关键词来找到谷歌的答案......

我有一包参数,我想让浏览器导航到带参数的GET URL.作为一个jQuery用户,我知道如果我想发一个ajax请求,我会这样做:

$.getJSON(url, params, fn_handle_result);
Run Code Online (Sandbox Code Playgroud)

但有时我不想使用ajax.我只想提交参数并返回页面.

现在,我知道我可以循环参数并手动构建GET URL.对于POST,我可以动态创建表单,用字段填充并提交.但是我确定有人已经编写了一个插件来执行此操作.或许我错过了一些东西,你可以用核心jQuery来做.

那么,有人知道这样的插件吗?

编辑:基本上,我想要的是写:

$.goTo(url, params);
Run Code Online (Sandbox Code Playgroud)

并且可选

$.goTo(url, params, "POST");
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-plugins

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