假设您有两个哈希H(A)并且H(B)您想要将它们组合在一起.我已经读到了将两个哈希值组合在一起的好方法XOR,例如XOR( H(A), H(B) ).
我发现的最佳解释在这里简要介绍了这些哈希函数指南:
对具有大致随机分布的两个数字进行异或,导致另一个数字仍具有大致随机分布*,但现在取决于这两个值.
...
*在两个数字相结合的每个比特,一个输出0,如果两个比特相等,否则为1.换句话说,在组合的50%,1将输出.因此,如果两个输入位各有大约50-50的机会为0或1,那么输出位也是如此.
你能解释为什么XOR应该是组合散列函数(而不是OR或AND等)的默认操作的直觉和/或数学吗?
如何将第三方框架导入Xcode Playground?
斯威夫特游乐场显然有一个框架,导入机制,因为我们可以导入Cocoa,SpriteKit以及在OSX游乐场,XCPlayground(XCPlayground似乎来自iOS的缺失,奇怪)
我真正想做的是隐藏我操场上的代码,并能够展示一个最小的例子.有关如何将框架加载到Swift游乐场的任何想法?
也可以看看:
(这个问题不同,因为请求是在Playground中使用框架而不是简单的常规swift文件)
在MySQL我用过LOAD DATA LOCAL INFILE哪个工作正常.最后我得到一条消息:
Records: 460377 Deleted: 0 Skipped: 145280 Warnings: 0
Run Code Online (Sandbox Code Playgroud)
如何查看跳过的记录的行号?SHOW warnings不起作用:
mysql> show warnings;
Empty set (0.00 sec)
Run Code Online (Sandbox Code Playgroud) 假设我有一个包含六个未知值的字节:
???1?0??
Run Code Online (Sandbox Code Playgroud)
我想交换第2和第4位(不改变任何?值):
???0?1??
Run Code Online (Sandbox Code Playgroud)
但是如何在C 中的一次操作中执行此操作?
我在微控制器上每秒执行此操作数千次,因此性能是首要任务.
可以"切换"这些位.即使这与交换位不同,切换也可以用于我的目的.
问候,我正在学习Cocoa和Objective-C.我已经完成了"全部"教程,我对ObjC语言非常熟悉.我现在正在寻找的是学习Cocoa习语,并看到在漂亮的Cocoa应用程序中使用的真实代码.
似乎严肃的应用程序(iTunes等)不仅仅是放入IB元素.他们通过代码做了很多事情来调整它们看起来不错.(示例:iTunes播放列表抽屉.如何获得该样式?)
以下是我发现的开源友好UI的一些示例:
有关具有优秀Cocoa用户界面的开源应用程序的任何其他建议?
问候.我已经使用vim多年了,我最近开始玩XCode.我非常喜欢XCode的一个原因是它会在没有我打击的情况下自动完成单词.<TAB>
例如,在下图中我只需要打字NSSObj,其余部分自动填写,无需特殊按键.

我想在vim中重现这种效果.
要清楚,这个问题不是关于如何在vim中使用tab/omni-completion工作.我已经完成了tab/omni完成工作,这不是问题.问题是:当我打字时,有没有人知道如何让vim自动完成?
如何在Erlang中访问命令行标志(参数)作为环境变量.(作为标志,而不是ARGV)例如:
RabbitMQ cli看起来像:
erl \
...
-sasl errlog_type error \
-sasl sasl_error_logger '{file,"'${RABBITMQ_SASL_LOGS}'"}' \
... # more stuff here
Run Code Online (Sandbox Code Playgroud)
如果sasl.erl你看到你看到线:
get_sasl_error_logger() ->
case application:get_env(sasl, sasl_error_logger) of
% ... etc
Run Code Online (Sandbox Code Playgroud)
通过一些未知的魔法,sasl_error_logger变量变成了一个erlang元组!我试过在我自己的erlang中复制它application,但我似乎只能通过init:get_argument它来访问这些值,它将值作为字符串返回.
如何通过命令行传递值并能够以erlang术语轻松访问它们?
更新同样对于任何人来说,以"常规"方式使用环境变量os:getenv("THE_VAR")
我正在写一个iPhone应用程序,我想显示一些简单的乐谱(只是一个或两个和弦).
这个问题是要求以最快捷的方式提出建议.例如:
好的,有一个非常具体的设置问题.我正在使用Mac OS X,iTerm和vim.我真的很喜欢用我的鼠标在正常模式下点击标签,在正常模式下滚动等(例如我已经在iTerm/vim中使用了鼠标).
但是,我不喜欢使用视觉模式进行选择.我只是想使用OS X选择而不是 vim的视觉选择.下一个逻辑步骤?禁用选项中的视觉选择mouse:
set mouse=nicr
这个问题是,当我尝试选择(使用鼠标)时vim拦截鼠标点击并且根本不允许我选择!
有谁知道如何处理这个问题?如果一个人知道正确的字符/控制代码(我显然不知道),它就像是可以解决的.
目标:在vim中使用鼠标除"选择"之外的所有内容.让iTerm/OS做出选择.
你如何在Erlang中刷新io缓冲区?
对于实例:
io:format("hello") 要么
io:format(user, "hello")
这篇文章似乎表明没有干净的解决方案.
有没有比那篇文章更好的解决方案?
我是一个长期的vim用户,试图切换到emacs.
我正在使用viper-modeemacs,我一直在键入ESC(退出插入模式),然后键入一个键(比方说j).我打字很快,经常同时打它们.Emacs然后认为我正在击中META-j并运行一个我不打算的功能.
我喜欢使用选项作为元,并且当我在毒蛇时,不关心ESC曾经是元.
任何人都有关于如何在毒蛇模式下完全禁用ESC为meta的建议?
这是我尝试过的一些相关选项.这些都没有解决问题.
(setq viper-no-multiple-ESC t)
(setq viper-translate-all-ESC-keysequences t)
(setq viper-fast-keyseq-timeout 0)
Run Code Online (Sandbox Code Playgroud) vim ×3
c ×2
erlang ×2
objective-c ×2
xcode ×2
arduino ×1
arguments ×1
autocomplete ×1
automation ×1
bit ×1
buffer ×1
cocoa ×1
command-line ×1
cryptography ×1
emacs ×1
escaping ×1
flush ×1
hash ×1
input ×1
ios ×1
iphone ×1
iterm ×1
linux ×1
macos ×1
mouse ×1
mysql ×1
notation ×1
powerpoint ×1
probability ×1
sql ×1
swift ×1
viper ×1
viper-mode ×1
xcode6 ×1
xor ×1