我已经开始使用VIM进行一些编程.到目前为止,
我的感情非常复杂.一方面我很喜欢这个想法,另一方面 - 很难记住一切.
所以我采用了学习的方法,而实际上做了一些事情(对于Ruby on rails开发).
不幸的是,我现在没有机会像其他" 常规 "文本编辑器那样提高工作效率.而且似乎需要花费大量时间来适应VIM.
我注意到,我经常不使用 VIM导航/搜索和替换功能,而只是像在其他编辑器中那样移动.
我正在努力推动自己不要在除VIM之外的其他编辑器中打开任何东西,这样我就可以学习它.
但是,老实说,昨天我放弃了,并在GEdit进行了最后20分钟的编码.
更新:我想说为什么我给了 - 只是因为我会更快地完成我需要的东西(这是很晚的时间,并不是学习VIM的最佳时间).事实上,我确实喜欢使用VIM.但我总是有这种there must a better way of doing this感觉,花了很多时间找到这种方式.
所以我的问题是:如果我想在学习时做一些真正的编码,我怎样才能更有效地学习和开始日常使用VIM?
谢谢,
德米特里.
DataAnnotationsModelMetadataProvider在ASP.NET MVC2中实现自定义.
假设正在渲染的对象如下所示:
- Contact : IUpdateable
- Name: string
- ContactType: (Lead, Prospect, Customer)
Run Code Online (Sandbox Code Playgroud)
以下方法的Contact.ContactType含义是:
meta.PropertyName == "ContactType"meta.ContainerType == typeof(Contact)meta.Model == ContactType.Lead(有问题的代码:)
protected override ModelMetadata CreateMetadata(IEnumerable<Attribute> attributes,
Type containerType,
Func<object> modelAccessor,
Type modelType, string propertyName) {
var containerInstance = meta.NotSureWhatGoesHere as IUpdateable;
meta.IsReadOnly = containerInstance != null && containerInstance.CanBeUpdated(meta.PropertyName);
}
Run Code Online (Sandbox Code Playgroud)
问题:如何从元数据中获取联系实例?(换成NotSureWhatGoesHere正确的)?
谢谢.
为了我的自学目的,我想调查一个复杂的Ruby On Rails(最好是3个)业务应用程序的代码,这样我就可以通过Rails了解如何在现实世界中做事.
有很多"另一个博客"或"另一个CMS",但我真的在研究具有相当高复杂性(在业务规则方面)的Rails应用程序,但不仅仅是CRUD.
像房地产系统这样的东西必须足够复杂.或者也许在政府领域(根据定义总是很复杂:)).
谢谢.
我想知道什么是最简单的方法来进行JavaScript 单元测试作为Rails 3.1应用程序的一部分.
我非常喜欢Jasmine并且效果很好(虽然它需要一些技巧才能获取.coffee文件).
我使用Jasmine的唯一问题是它在一个巨大的页面中运行所有测试示例,这是非常有问题的,因为它需要加载所有脚本.
我真正想要的是Jasmine +多个文件中的多个测试套件(因此它生成多个html文件,包括spec文件).
除此之外,我想在浏览器,无头或JS引擎内运行测试(希望很容易)(如果可能的话).
有什么建议?
javascript ruby unit-testing ruby-on-rails ruby-on-rails-3.1
为了允许/禁止动作,我需要一个简单的用户识别系统.
这不是一个高安全性要求,可以犯错误(例如,同一个用户将使用不同的浏览器执行不允许的操作).
为了不那么抽象,让我们看看StackOverflow投票,并假设我们希望允许公众投票,但只允许一次.
最简单的方法就是使用cookie:每个答案设置一个新的cookie; 将所有投票存储在一个cookie中(或以某种方式组合这些).
由于cookie大小/数量的限制,这有点不可靠.它还会一直将cookie发送到网站,而只需要1次操作.
所以从这个角度来看,我想避免使用cookie.
但是,不要在常规HTTP上做得更好.我不考虑IP/MAC地址等.
因此,根据上述背景,问题是:如何匿名识别用户并将该信息存储在客户端上?
谢谢.
我想知道什么REST API客户端可以从Ruby使用(而不是JRuby,所以本机绑定不是一个选项)?
理想情况下,我希望API类似于neo4jgem或ActiveRecord(验证,迁移,观察者等).
目前可用的(REST)工具甚至没有接近我们所拥有的工具,例如,在ActiveRecrod中:
我喜欢更多的代码architect4r(主要是因为它使用ActiveModel).
但neology似乎是更实用的选择,因为它已经neography在引擎盖下使用.
选择非常小而且艰难.
你能告诉我什么时候应该使用而不是另一个吗?
此外,任何有助于我决定宝石的建议都是非常受欢迎的.
谢谢.
我真的很想念独立于控制器测试视图的能力.RSpec的方式.
我想要做的是在渲染视图上执行断言(不涉及控制器!).为了做到这一点,我应该提供必需的Model,ViewData以及HttpContextBase中的一些细节(我们何时会摆脱HttpContext!).
到目前为止,我还没有找到任何允许这样做的东西.它也可能在很大程度上取决于所使用的ViewEngine.
视图可能包含的内容列表如下:
另请注意,我不是在谈论客户端测试,因此Selenium根本就与它无关.它只是简单的.NET测试.
那么有没有选择实际进行视图测试?
谢谢,
德米特里.
s = "#main= 'quotes'
s.gsub "'", "\\'" # => "#main= quotes'quotes"
Run Code Online (Sandbox Code Playgroud)
这似乎是错误的,我希望得到 "#main= \\'quotes\\'"
当我不使用转义字符时,它按预期工作.
s.gsub "'", "*" # => "#main= *quotes*"
Run Code Online (Sandbox Code Playgroud)
所以必须与逃避有关.
使用ruby 1.9.2p290
我需要用反斜杠和引号替换单引号.
更多的不一致:
"\\'".length # => 2
"\\*".length # => 2
# As expected
"'".gsub("'", "\\*").length # => 2
"'a'".gsub("'", "\\*") # => "\\*a\\*" (length==5)
# WTF next:
"'".gsub("'", "\\'").length # => 0
# Doubling the content?
"'a'".gsub("'", "\\'") # => "a'a" (length==3)
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?
Backbone/Spine中的常见模式是在发生某些事情时从头开始重新渲染整个视图.
但是如果你只需要更新它的一小部分(突出显示,选择,禁用,动画等),你会怎么做?
重新渲染所有内容没有任何意义,因为它可能会搞砸当前布局(例如,如果页面已滚动到某个点).
另一方面,如果使用类似的东西从View更新"内联"小部件$('.selected').highlight(),则必须在视图模板和JavaScript代码中复制相同的逻辑.
那么Backbone/Spine的"最佳实践"是什么呢?
有了数据serializeArray,你如何用它更新表格?
var values = form.serializeArray();
form.deserializeArray(value); // What is the deserializeArray analogue?
form.seriaizeArray() === values; // So that this is always true
Run Code Online (Sandbox Code Playgroud) ruby ×4
asp.net-mvc ×2
javascript ×2
unit-testing ×2
.net ×1
asp.net ×1
backbone.js ×1
browser ×1
c# ×1
editor ×1
forms ×1
gsub ×1
html ×1
http ×1
jquery ×1
neo4j ×1
open-source ×1
regex ×1
rest ×1
rspec ×1
spine.js ×1
views ×1
vim ×1