众所周知,数字可以用数字写成,也可以用它们的名字来表示.虽然有很多例子可以将123转换成123,但我找不到如何以相反的方式转换它的好例子.
一些警告:
可能还有更多可能尚未列出的警告.假设算法需要非常健壮,甚至可以理解拼写错误.
我应该阅读哪些领域/论文/研究/算法来学习如何写这些?信息在哪里?
PS:我的最终解析器应该真正理解3种不同的语言,英语,俄语和希伯来语.也许在稍后阶段会添加更多语言.希伯来语也有男/女数字,如"一个男人"和"一个女人"有不同的"一个" - "ehad"和"ahat".俄罗斯也有一些自己的复杂性.
谷歌在这方面做得很好.例如:
(反过来也可以http://www.google.com/search?q=999999999999+in+english)
使用Comet或Ajax Long Pull技术时 - 通常使用iframe.虽然iframe正在等待关闭的长连接,但浏览器正在旋转它的悸动(进度/加载指示器).
一些网站,例如etherpad.com,设法让它停止.
他们是如何做到的呢?
我有一个公共数据{登录用户的消息号),以显示在每个页面上.我可以简单地传递给模板
dict={'messagenumber':5}
return render_to_response('template.html',dict,context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
但是如果我将这个dict数据传递到非常页面,那看起来很乏味.有没有更简单的方法将公共数据传递到每个页面?
谢谢
我使用south创建了一个数据迁移,它采用了一个版本表并将其转换为:
major: 1, minor: 2, micro: 3, release: a
Run Code Online (Sandbox Code Playgroud)
变得更简单:
name: 1.2.3.a
Run Code Online (Sandbox Code Playgroud)
现在我想使用django单元测试(1.3beta)来测试这个数据迁移.
如何指定要使用的自定义夹具,我可以如何以编程方式向前滚动向前和向后滚动迁移?
我有一个装饰器,我想断言我的代码中的某些方法是用它装饰的.
import functools
def decorator(func):
def _check_something(*args, **kwargs):
# some logic in here
return func(*args, **kwargs)
return functools.wraps(func)(_check_something)
class MyClass(object):
@decorator
def my_method(foo, bar):
pass
Run Code Online (Sandbox Code Playgroud)
我如何断言unittest(unitttest2)my_method有@decorator没有人删除它,并没有忘记?
我想使用RSpec模拟为块提供固定输入.
红宝石:
class Parser
attr_accessor :extracted
def parse(fname)
File.open(fname).each do |line|
extracted = line if line =~ /^RCS file: (.*),v$/
end
end
end
Run Code Online (Sandbox Code Playgroud)
RSpec的:
describe Parser
before do
@parser = Parser.new
@lines = mock("lines")
@lines.stub!(:each)
File.stub!(:open).and_return(@lines)
end
it "should extract a filename into extracted" do
linetext = [ "RCS file: hello,v\n", "bla bla bla\n" ]
# HELP ME HERE ...
# the :each should be fed with 'linetext'
@lines.should_receive(:each)
@parser.should_receive('extracted=')
@parser.parse("somefile.txt")
end
end
Run Code Online (Sandbox Code Playgroud)
这是一种通过将固定数据传递到其中来测试块内部正常工作的方法.但我无法弄清楚如何使用RSpec模拟机制进行实际喂食.
更新:看起来问题不是使用linetext,而是使用:
@parser.should_receive('extracted=')
Run Code Online (Sandbox Code Playgroud)
这不是它的调用方式,用红色代码替换它,self.extracted =有点帮助,但不知何故感觉不对.
可能重复:
Git浅子模块
启动Git 1.6.5+ git clone有一个--recursive选项,也可以递归地克隆子模块.
我们项目中的子模块非常大(历史很多),有时需要很长时间来克隆,可以通过--depth 1选项保存.
有没有办法以--depth 1递归方式浅层克隆()这些子模块?
我想使用AWS CloudWatch Events按照预定义的时间表向SQS发送消息。消息正文无关紧要,但是它确实需要几个消息属性。
在CloudFormation中创建此事件规则时,我找不到有关如何指定消息属性的任何文档。目前资源看起来像这样-
ScheduledEvent:
Type: AWS::Events::Rule
Properties:
RoleArn: !Ref ScheduledEventRole
ScheduleExpression: !Ref ScheduledEventRule
Targets:
- Arn: !Ref Queue
Id: !GetAtt Queue.Name
Input: "message body"
Run Code Online (Sandbox Code Playgroud)
要将属性发送到的消息正文应该是什么SQS?
使用chef我有一个安装gem的简单配方,例如:
gem_package "passenger" do
version node['passenger']['version']
end
Run Code Online (Sandbox Code Playgroud)
我还想用另一本食谱安装ruby,对于某些服务器可能是Ruby 1.9.3,对于其他服务器可能是Ruby Enterprise 1.8.7.所以我认为我可以使用gem_binary并ohai执行此操作,如下所示:
gem_package "passenger" do
version node['passenger']['version']
gem_binary "#{languages['ruby']['bin_dir']/gem}"
end
Run Code Online (Sandbox Code Playgroud)
但问题开始了,因为languages['ruby']安装新的ruby时没有改变.Ruby Enterprise安装到via /opt/ruby-enterprise并将其自身添加到PATHvia,/etc/profile.d/ree.sh但是ohai在同一次运行期间没有被拾取,但是在下一次运行中会被拾取.
在第一次运行中,ohai表示languages['ruby']安装/opt/vagrant_ruby/bin/ruby时使用vagrant和chef_solo配置.乘客宝石安装在错误的红宝石中.
如何ohai识别新安装的红宝石?
flow-bin当工具报告错误时,是否有办法解决错误,实际上它flow本身就是一个错误?
例如,使用Flow v0.62和Node.js Buffer#swap64方法:
Error: lib/index.js:88
88: int64buf.swap64() // turn into Little-Endian
^^^^^^ property `swap64`. Property not found in
88: int64buf.swap64() // turn into Little-Endian
^^^^^^^^ Buffer
Run Code Online (Sandbox Code Playgroud)
根据Node的文档,我很确定该方法存在.我真的不想分叉Flow项目来修复这么小的东西.
在我等待Facebook接受拉取请求时是否有解决方法?
ruby ×2
unit-testing ×2
ajax ×1
algorithm ×1
amazon-sqs ×1
chef-infra ×1
comet ×1
django ×1
django-south ×1
flowtype ×1
git ×1
loading ×1
mocking ×1
nlp ×1
node.js ×1
numbers ×1
parsing ×1
progress ×1
python ×1
rspec ×1
rspec-mocks ×1
throbber ×1
unittest2 ×1