小编Dmy*_*iak的帖子

怎么不放弃VIM?

我已经开始使用VIM进行一些编程.到目前为止,
我的感情非常复杂.一方面我很喜欢这个想法,另一方面 - 很难记住一切.

所以我采用了学习的方法,而实际上做了一些事情(对于Ruby on rails开发).
不幸的是,我现在没有机会像其他" 常规 "文本编辑器那样提高工作效率.而且似乎需要花费大量时间来适应VIM.

我注意到,我经常不使用 VIM导航/搜索和替换功能,而只是像在其他编辑器中那样移动.

我正在努力推动自己不要在除VIM之外的其他编辑器中打开任何东西,这样我就可以学习它.

但是,老实说,昨天我放弃了,并在GEdit进行了最后20分钟的编码.

更新:我想说为什么我给了 - 只是因为我会更快地完成我需要的东西(这是很晚的时间,并不是学习VIM的最佳时间).事实上,我确实喜欢使用VIM.但我总是有这种there must a better way of doing this感觉,花了很多时间找到这种方式.

所以我的问题是:如果我想在学习时做一些真正的编码,我怎样才能更有效地学习和开始日常使用VIM?

谢谢,
德米特里.

vim editor

15
推荐指数
5
解决办法
3847
查看次数

从ASP.NET MVC中的ModelMetadataProvider获取包含对象实例

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正确的)?

谢谢.

.net c# asp.net asp.net-mvc

14
推荐指数
1
解决办法
2244
查看次数

真实的复杂Rails应用程序?

为了我的自学目的,我想调查一个复杂的Ruby On Rails(最好是3个)业务应用程序的代码,这样我就可以通过Rails了解如何在现实世界中做事.

有很多"另一个博客"或"另一个CMS",但我真的在研究具有相当高复杂性(在业务规则方面)的Rails应用程序,但不仅仅是CRUD.

像房地产系统这样的东西必须足够复杂.或者也许在政府领域(根据定义总是很复杂:)).

谢谢.

ruby open-source ruby-on-rails business-application

12
推荐指数
1
解决办法
5503
查看次数

Rails中的JavaScript单元测试3.1

我想知道什么是最简单的方法来进行JavaScript 单元测试作为Rails 3.1应用程序的一部分.

我非常喜欢Jasmine并且效果很好(虽然它需要一些技巧才能获取.coffee文件).

我使用Jasmine的唯一问题是它在一个巨大的页面中运行所有测试示例,这是非常有问题的,因为它需要加载所有脚本.

我真正想要的是Jasmine +多个文件中的多个测试套件(因此它生成多个html文件,包括spec文件).

除此之外,我想在浏览器,无头或JS引擎内运行测试(希望很容易)(如果可能的话).

有什么建议?

javascript ruby unit-testing ruby-on-rails ruby-on-rails-3.1

12
推荐指数
2
解决办法
3057
查看次数

如何匿名识别用户并存储该信息

为了允许/禁止动作,我需要一个简单的用户识别系统.

不是一个高安全性要求,可以犯错误(例如,同一个用户将使用不同的浏览器执行不允许的操作).

为了不那么抽象,让我们看看StackOverflow投票,并假设我们希望允许公众投票,但只允许一次.

最简单的方法就是使用cookie:每个答案设置一个新的cookie; 将所有投票存储在一个cookie中(或以某种方式组合这些).

由于cookie大小/数量限制,这有点不可靠.它还会一直将cookie发送到网站,而只需要1次操作.

所以从这个角度来看,我想避免使用cookie.
但是,不要在常规HTTP上做得更好.我不考虑IP/MAC地址等.

因此,根据上述背景,问题是:如何匿名识别用户并将该信息存储在客户端上?

谢谢.

browser authentication ruby-on-rails http

11
推荐指数
1
解决办法
3018
查看次数

neo4j的哪个Ruby REST API客户端?

我想知道什么REST API客户端可以从Ruby使用(而不是JRuby,所以本机绑定不是一个选项)?

理想情况下,我希望API类似于neo4jgem或ActiveRecord(验证,迁移,观察者等).

目前可用的(REST)工具甚至没有接近我们所拥有的工具,例如,在ActiveRecrod中:

  1. neograhy - 只是简单的REST API.与模特等无关
  2. neology - 只是一个neography包装器,并不是一个功能齐全的ActiveModel.
  3. architect4r - 符合ActiveModel,但只提供一种查询数据的方法(Cypher语言),也没有索引支持.

我喜欢更多的代码architect4r(主要是因为它使用ActiveModel).

neology似乎是更实用的选择,因为它已经neography在引擎盖下使用.

选择非常小而且艰难.

你能告诉我什么时候应该使用而不是另一个吗?
此外,任何有助于我决定宝石的建议都是非常受欢迎的.

谢谢.

ruby rest ruby-on-rails neo4j

11
推荐指数
1
解决办法
2365
查看次数

ASP.NET MVC2中的测试视图(ala RSpec)

我真的很想念独立于控制器测试视图的能力.RSpec的方式.

我想要做的是在渲染视图上执行断言(不涉及控制器!).为了做到这一点,我应该提供必需的Model,ViewData以及HttpContextBase中的一些细节(我们何时会摆脱HttpContext!).

到目前为止,我还没有找到任何允许这样做的东西.它也可能在很大程度上取决于所使用的ViewEngine.

视图可能包含的内容列表如下:

  • 部分视图(可能深层嵌套).
  • 母版页(或其他视图引擎中的类似页面).
  • Html助手生成链接和其他元素.
  • 通常几乎任何常识的范围:).

另请注意,我不是在谈论客户端测试,因此Selenium根本就与它无关.它只是简单的.NET测试.

那么有没有选择实际进行视图测试?

谢谢,
德米特里.

asp.net-mvc unit-testing rspec views asp.net-mvc-2

9
推荐指数
1
解决办法
858
查看次数

为什么String#gsub会双重内容?

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)

这里发生了什么?

ruby regex ruby-on-rails gsub

9
推荐指数
1
解决办法
1009
查看次数

如何更新Backbone或Spine中的一小部分视图

Backbone/Spine中的常见模式是在发生某些事情时从头开始重新渲染整个视图.

但是如果你只需要更新它的一小部分(突出显示,选择,禁用,动画等),你会怎么做?

重新渲染所有内容没有任何意义,因为它可能会搞砸当前布局(例如,如果页面已滚动到某个点).

另一方面,如果使用类似的东西从View更新"内联"小部件$('.selected').highlight(),则必须在视图模板和JavaScript代码中复制相同的逻辑.

那么Backbone/Spine的"最佳实践"是什么呢?

backbone.js spine.js

9
推荐指数
1
解决办法
2485
查看次数

与jQuery中的serializeArray相反(恢复表单)

有了数据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)

html javascript forms jquery serialization

9
推荐指数
1
解决办法
5985
查看次数