给定一个集合,我想迭代集合中的所有对.例
(all-pairs seq)
(all-pairs '(a b c d)) => ([a b] [a c] [a d] [b c] [b d] [c d]))
Run Code Online (Sandbox Code Playgroud)
这是我的想法
(defn all-pairs [coll]
(for [ [idx elmt] (indexed coll)
other-elmt (subvec coll (inc idx))]
(vector elmt other-elm)))
Run Code Online (Sandbox Code Playgroud)
但它并不像惯用语
我是hadoop的新手.我想提出一些我想出来的方法.
问题:
2个数据集:A和B.
两个数据集代表歌曲:一些顶级属性,标题(1 .. ),表演者(1 ..).
我需要使用基于标题和表演者的相等或模糊算法(例如levenshtein,jaccard,jaro-winkler等)来匹配这些数据集.
数据集大小为:A = 20-30M,B~ = 1-6M.
所以这里有我提出的方法:
将数据集B(最小)加载到HDFS中.对数据集A(最大)使用mapreduce,其中:
map phase:对于A访问HDFS中的每条记录,并拉出记录B进行匹配;
reduce phase:写入id对
将数据集A加载到优化形式的distirubted缓存(即jboss缓存)中以加速搜索.对数据集B使用mapreduce,其中:
map phase:对于B查询中的每个记录,用于匹配的分布式缓存
reduce:写入id对
使用mapreduce连接两个数据集,其中
map阶段:从集合A和集合B获取记录,匹配
减少阶段:相同
(我对第一个模糊不清.第一个:连接将是具有万亿个记录的笛卡尔积;第二个:不确定hadoop如何跨群集平行化)
使用配置单元(我正在寻找现在试图找出如何插入将进行字符串匹配的自定义函数)
我正在寻找一个指针,这种方法将是最好的候选人,或者也许还有一些我看不到的方法.
对不起,我真的不知道如何标题这个问题.
这是我的代码:
<% country.cities.each_with_index do |city, i| %>
<% city.shops.each do |shop| %>
<%=h shop.name.join(", ") %>
<% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
所以在这个城市,假设有三家商店:Walmart,Ace Hardware,Harman Kardon.
上面代码的结果将产生:
Walmart Ace Hardware Harman Kardon
Run Code Online (Sandbox Code Playgroud)
如何用","将每个人加入?
我试过<%= shop.name.join(", ") %>但不允许.错误.
谢谢.我喜欢Stack Overflow社区.你们这些人比真棒更棒!
编辑
我刚才注意到了一些事 沃尔玛在A市; Ace HArdware和Harman Kardon都在B市.这就是它逐个加入城市的原因.
是否可以使用Unix netcat(nc)程序来创建TCP代理服务器和监视器?我希望所有TCP流量都通过管道传递,并发送到stdout进行监控.请注意,这将用于监视硬件设备和HTTP服务器之间的HTTP流量.
"旧"HTML/XHTML标准具有为其定义的DTD(文档类型定义):
HTML 4.01 http://www.w3.org/TR/html401/sgml/dtd.html
XHTML 1.0 http://www.w3.org/TR/xhtml1/dtds.html#a_dtd_XHTML-1.0-Strict
此DTD指定嵌套元素的规则 - "哪些类型的元素可能出现在哪些类型的元素中".我在这里为XHTML 1.0制作了一个图表(抱歉,我不再拥有该资源)
我想用新版本更新该图表,该版本还包括新的HTML5元素.但是,似乎没有HTML5 DTD.似乎嵌套规则是由HTML5中定义的各种内容模型定义的.
所以没有DTD,对吗?
后续问题: HTML5中是否有没有DTD的原因?DTD是为所有不同类型的元素定义嵌套规则的一种很好的方法.他们为什么不包括这样的东西?
更新:我发现了这个: http: //www.w3.org/TR/html5/dom.html#kinds-of-content我猜,这是最接近DTD的.
更新: Visual Studio团队为XHTML5制作了XML Schema.我想这回答了我的问题: http: //blogs.msdn.com/b/webdevtools/archive/2009/11/18/html-5-intellisense-and-validation-schema-for-visual-studio-2008-and -视觉,网络developer.aspx
我有一个wstring声明如此:
// random wstring
std::wstring str = L"abcàdëefŸg€hhhhhhhµa";
Run Code Online (Sandbox Code Playgroud)
文字将是UTF-8编码,因为我的源文件是.
[编辑:根据Mark Ransom,情况不一定如此,编译器将决定使用什么编码 - 让我们假设我从例如UTF-8编码的文件中读取此字符串]
我非常希望将其转换为文件读取(当文本编辑器设置为正确的编码时)
abcàdëefŸg€hhhhhhhµa
Run Code Online (Sandbox Code Playgroud)
但是ofstream不是很合作(拒绝接受wstring参数),并且wofstream据说需要知道语言环境和编码设置.我只想输出这组字节.通常如何做到这一点?
编辑:它必须是跨平台的,不应该依赖于UTF-8编码.我碰巧有一组存储在a中的字节wstring,并希望输出它们.它很可能是UTF-16或纯ASCII.
我想'以这种格式解析日期,但忽略字符串的一部分.'星期三,1770年10月27日22:17:00 GMT'从我收集的信息来看,datetime不能很好地支持时区.哪个好,我真的只想忽略字符串的时区部分,而不必对其进行字符串操作.有什么我可以用下面替换%Z来说"这里有任何字符串"并解析日期吗?另外,我不明白为什么它会解析PST,GMT等时区而不是EST.在任何情况下它似乎都不附加tzinfo,不确定它真正寻找%Z部分的字符串类型.
>>> import datetime
>>> y = datetime.datetime.strptime('Wed, 27 Oct 1770 22:17:00 GMT', '%a, %d %b %Y %H:%M:%S %Z')
>>> y = datetime.datetime.strptime('Wed, 27 Oct 1770 22:17:00 PST', '%a, %d %b %Y %H:%M:%S %Z')
>>> y = datetime.datetime.strptime('Wed, 27 Oct 1770 22:17:00 EST', '%a, %d %b %Y %H:%M:%S %Z')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/brazil-pkg-cache/packages/Python/Python-2.5.1.17.1/RHEL5_64/DEV.STD.PTHREAD/build/lib/python2.5/_strptime.py", line 331, in strptime
(data_string, format))
ValueError: time data did not match format: data=Wed, 27 Oct 1770 …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过HTTP将二进制文件发送到服务器.文件的开头已包含标题
我正在尝试使用curl的命令行版本发送文件,如下所示:
C:>curl -H "Content-Type:application/octet-stream" --data-binary @asdf.file http://server:1234/url
Run Code Online (Sandbox Code Playgroud)
Curl正在添加导致400 Bad Request的标头.
当我使用linux版本的curl运行完全相同的命令时,帖子完成了吗?
关于使用单元测试,我迟到了派对...试图找出最佳实践等等.我的问题是,给定一个负责生成PDF(或Doc/Html/Xml /等)的类,我将如何测试最终输出文件是否正确?我想一个基于文本的文件(xml),我可以看看字符串是否匹配,但二进制文件(pdf)怎么样?我应该检查MD5哈希吗?我应该测试一下吗?
提前致谢.