我刚刚看到以下代码:
for(Iterator<String> iterator = stuff.iterator(); iterator.hasNext();) {
...
}
Run Code Online (Sandbox Code Playgroud)
这让我感到有点误用for......这段代码不会更好:
Iterator<String> iterator = stuff.iterator();
while(iterator.hasNext()) {
...
}
Run Code Online (Sandbox Code Playgroud)
?
任何人都可以想到使用的具体原因for?哪种方法更好?
如果我在某种日期类型的表中有一个字段,并且我知道我将始终使用between, >or之类的比较来搜索它,<并且永远=不会有充分的理由不为其添加索引吗?
我想使用某种哈希函数为表设置非整数主键.md5()似乎有点长(32个字符).
什么是一些替代哈希函数,可能使用字母表中的每个字母以及字符串长度较短且碰撞率较低的整数?
谢谢!
假设你取字符串'a'和'z'并按字母顺序列出它们之间的所有字符串:['a','b','c'...'x','y','z "].从这个列表的中点开始,你会发现'm'.所以这有点像取两个字符串的平均值.
您可以将其扩展为具有多个字符的字符串,例如,'aa'和'zz'之间的中点可以在列表中间找到['aa','ab','ac'...'zx ','zy','zz'].
可能在某处有一个Python方法可以做到这一点吗?如果没有,即使知道算法的名称也会有所帮助.
我开始制作我自己的例程,简单地通过两个字符串并找到第一个不同字母的中点,这似乎在'aa'和'az'中点是'am'时工作得很好,但是然后它在'cat'上失败了,它认为是'c'的'小狗'中点.我尝试使用谷歌搜索"二进制搜索字符串中点"等但不知道我在这里尝试做什么的名称我没有运气.
我添加了自己的解决方案作为答案
我正在尝试在一个文件中创建一组defs然后我可以导入它们每当我想在python中创建一个脚本
我试过这个:
def get_dblink( dbstring):
"""
Return a database cnx.
"""
global psycopg2
try
cnx = psycopg2.connect( dbstring)
except Exception, e:
print "Unable to connect to DB. Error [%s]" % ( e,)
exit( )
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:未定义全局名称'psycopg2'
在我的主文件script.py中
我有:
import psycopg2, psycopg2.extras
from misc_defs import *
hostname = '192.168.10.36'
database = 'test'
username = 'test'
password = 'test'
dbstring = "host='%s' dbname='%s' user='%s' password='%s'" % ( hostname, database, username, password)
cnx = get_dblink( dbstring)
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我一把吗?
我试图找到一种处理memcache密钥的好方法,用于以更文明的方式存储,检索和更新缓存层中的数据.
找到这个看起来很棒的模式,但是如何将它变成PHP应用程序的功能部分呢?
身份地图模式:http://martinfowler.com/eaaCatalog/identityMap.html
谢谢!
更新:我被告知修改后的memcache(memcache-tag)显然确实做了很多,但我无法在我的Windows开发盒上安装linux软件......
我在perforce中存储了各种自定义二进制文件,对于许多文件类型,我构建了一个自定义diff工具,向内容创建者显示文件实际更改的差异.
例如,如果文件将简单键值对保存为压缩二进制blob,则diff工具会将每个版本加载到内存格式中,并生成一个添加,删除和编辑的列表,该文件在一个漂亮干净的报表视图中显示.
就像P4V中的内置图像差异工具一样,我希望能够在我的软件仓库中使用我自己的差异工具来处理某些文件扩展,并允许用户使用现有的P4V界面来选择差异修改和检查历史记录.
所以,我知道你可以为P4V编写加载项,但是我找不到任何关于它的文档,我想知道P4V中是否有这种扩展功能以及如何使用它?
我在C#中需要这样的东西..在课堂上有列表但是在运行时决定列表中的内容
class A
{
List<?> data;
Type typeOfDataInList;
}
public void FillData<DataTyp>(DataTyp[] data) where DataTyp : struct
{
A a = new A();
A.vListuBudouDataTypu = typeof(DataTyp);
A.data = new List<A.typeOfDataInList>();
A.AddRange(data);
}
Run Code Online (Sandbox Code Playgroud)
这有可能做到这样吗?
在我目前学习hibernate并将其设置为使用appserver的连接池的冒险中,大多数示例和资源都指向了将SessionFactory绑定到进程中appserver中的JNDI资源的方向.
我想知道这有什么好处?由于您可以访问连接池而不执行此操作.
我在Sinatra上运行REST-API构建.现在我想编写一个从API中获取数据的jQuery脚本.
Sinatra被告知要回应JSON
before do
content_type :json
end
Run Code Online (Sandbox Code Playgroud)
简单的路线看起来像
get '/posts' do
Post.find.to_json
end
Run Code Online (Sandbox Code Playgroud)
我的jQuery脚本是一个简单的ajax调用
$.ajax({
type: 'get',
url: 'http://api.com/posts',
dataType: 'json',
success: function(data) {
// do something
}
})
Run Code Online (Sandbox Code Playgroud)
实际上只要两者都在相同的IP,API和请求JS上运行,一切正常.不过,我已经尝试过使用JSONP for Rack而没有任何积极的结果.可能我只需要提示如何继续.