当我通过Git Extensions将新分支推送到远程存储库时,我收到一条警报说
The branch {branch name} does not have a tracking reference. Do
you want to add a tracking reference for {branch name}?
Run Code Online (Sandbox Code Playgroud)
什么是跟踪参考?我发现只有少数提到跟踪谷歌的参考文献,没有真正的定义.
我只是比较了scala actor和java线程的性能.
我惊讶地看到了差异,我观察到,通过我的系统,我能够产生最多~2000个线程(一次只能生存)但是使用相同的系统我能够产生~50万个scala的演员.
两个程序都使用了大约81MB的JVM堆内存.
你能解释一下java线程如何比scala/akka演员更重吗?使scala-actor重量轻的关键因素是什么?
如果我想实现最佳的可扩展性,我应该选择基于actor的Web服务器而不是基于Java的传统Web/app服务器,如JBoss或Tomcat?
谢谢.
在阅读了对另一个问题中的答案的评论并做了一些研究之后,我看到它=~
被定义Object
,然后被String
和覆盖Regexp
.实现String
和Regexp
似乎假设其他类:
"123" =~ "123" # => TypeError: type mismatch: String given
/123/ =~ /123/ # => TypeError: can't convert Regexp to String
Run Code Online (Sandbox Code Playgroud)
虽然=~
是定义的Object
,但+
不是:
Object.new =~ 1 # => nil
Object.new + 1 # => undefined method `+' for #<Object:0x556d38>
Run Code Online (Sandbox Code Playgroud)
为什么Object#=~
定义,而不是限制=~
到String
和Regexp
?
我正在为我正在使用的数据结构寻找数学形式,以便我可以找到相关的定理和算法.
假设您有以下内容:
artificial-intelligence directed-graph directed-acyclic-graphs data-structures
我正在尝试生成用于Google App Engine应用程序的唯一ID,并希望获得有关我正在考虑使用的方法的可行性的反馈(最后的问题).我已经阅读了很多关于这个主题的问题,但我不记得遇到过这种特殊的方法.
我想要随机查看ID,例如MD5哈希,但我也希望它们很小.沿着tinyurl线的四到六个字符将是理想的.在我的应用程序的上下文中,ID将用于用户生成的内容,例如人们将要编写的测试问题.这些ID不一定是随机的(如果它们看起来像序列ID就没问题),但我正在考虑使用的方法适用于此,所以它并不是真正的问题.
熟悉Google App Engine的人会知道,对数据存储的写入特别昂贵,并且如果对同一实体组中存在过多的写入,则会导致超时.分片计数器是一种常用于避免单个全局计数器上的写入争用以及与之一起的失败事务的方法.
除了获得短ID和避免写入争用,我还试图避免生日悖论.我想为有数百万个ID的可能性做准备,即使这有点过分.
我正在考虑沿着以下几行使用分片计数器:
我的问题是:我是否正确地认为这将在很大程度上避免由于重复密钥导致的写入争用,并且长度字段上的写入争用可能不会成为问题,特别是在长度较长的情况下?谁能描述这里涉及的数学?长度是否会迅速增加到接近MD5哈希的长度,从而质疑整个方法的价值?为了让事情更容易维护,仅仅使用完整(更长)的MD5哈希会更好吗?有什么我可以忽略的吗?
今天我遇到了以下正则表达式,想知道Ruby会用它做什么:
> "#a" =~ /^[\W].*+$/
=> 0
> "1a" =~ /^[\W].*+$/
=> nil
Run Code Online (Sandbox Code Playgroud)
在这种情况下,Ruby似乎忽略了这个+
角色.如果这是不正确的,我不确定它在做什么.我猜它不会被解释为量词,因为它没有被*
转义并且被用作量词.在Perl/Ruby正则表达式中,有时当-
在不能将其解释为特殊字符的上下文中使用字符(例如)时,它被视为文字.但是如果在这种情况下发生了这种情况,我会期望第一场比赛失败,因为+
左值字符串中没有.
这是对+
角色的巧妙正确使用吗?以上行为是个错误吗?我错过了一些明显的东西吗
假设正则表达式来自当前上下文之外的调用代码,然后传递给在当前项目之外实现的另一个调用:
["1", "2"].grep(/1/) #=> ["1"]
Run Code Online (Sandbox Code Playgroud)
在进行调用时,是否有一种简单的Ruby方式来实现以下行为?
["1", "2"].grep(/1/.negate) #=> ["2"]
Run Code Online (Sandbox Code Playgroud)
此行为类似于使用=~
操作员切换操作!~
员.它可以使用#select
或#reject
,当然,或者开辟或子类Regexp
.但我很好奇Ruby中是否有一种方法可以用上述方式否定正则表达式返回的匹配.另外,我不关心比赛的位置是否false
或者nil
或者true
或者是否与比赛的位置有关.
有一个理论问题是相关的,但超出了这里的简单考虑.
编辑:我得到迭代器是Ruby中过滤列表的一般方法,但是人们忽略了问题的限制.此外,我认为有关正则表达式被颠倒的方式有一些很好的功能.对于我来说,我不认为它过于紧张或过于聪明; 它是一种简单的面向对象编程,也是Ruby擅长的事情.
我试图简单地向google的托管模型sample.sentiment发送请求.我无法弄清楚如何通过谷歌使用Oauth 2.0进行授权,而且我正在获得无穷无尽的时间.如果你可以提供我的代码,这将是有帮助的.这就是我的工作方式.
client = Google::APIClient.new({:application_name => "CCE",:application_version => "1.0"} )
plus = client.discovered_api('prediction')
# Initialize OAuth 2.0 client
client.authorization.client_id = 'my client id'
client.authorization.client_secret = 'my client secret'
client.authorization.redirect_uri = 'my callback url'
client.authorization.scope = 'https://www.googleapis.com/auth/prediction'
# Request authorization
redirect_uri = client.authorization.authorization_uri
# Wait for authorization code then exchange for token
client.authorization.code = '....'
client.authorization.fetch_access_token!
# Make an API call
result = client.execute(
:api_method => plus.activities.list,
:parameters => {'hostedModelName' => 'sample.sentiment', 'userId' => ''})
Run Code Online (Sandbox Code Playgroud)
`
我有不同的哈希包含单位,分组为单位类型.我的代码旨在确定应返回哪个单元类型以进行进一步处理.但是,在检查每个列表时会发生很多重复.第一个if与第一个elsif完全相同.如何以最佳方式干燥代码?
from_unit = "gr"
to_unit = "kg"
WEIGHT = {
"gr" => 1000.0,
"kg" => 1.0,
}
MEASURE = {
"mm" => 1000.0,
"cm" => 100.0,
"m" => 1.0
}
if WEIGHT.has_key?(from_unit) or WEIGHT.has_key?(to_unit)
if WEIGHT.has_key?(from_unit) && WEIGHT.has_key?(to_unit)
return WEIGHT
elsif WEIGHT.has_key?(from_unit)
raise RuntimeError, "#{to_unit} is not a known unit"
else
raise RuntimeError, "#{from_unit} is not a known unit"
end
elsif MEASURE.has_key?(from_unit) or MEASURE.has_key?(to_unit)
if MEASURE.has_key?(from_unit) && MEASURE.has_key?(to_unit)
return WEIGHT
elsif MEASURE.has_key?(from_unit)
raise RuntimeError, "#{to_unit} is not a known unit" …
Run Code Online (Sandbox Code Playgroud) 只是好奇.如果你有时间和倾向于创建编程语言,它会有什么特点?
我希望看到的一种语言尽可能多地借用Python的语法,但编译成运行速度与C或C++一样快的机器代码.