WF的强大案例

我一直在努力寻找一个引人注目的工作stream用例(即:WF),而不是经常性的命令式编程。 每当我回到结论,我应该离开WF,或延迟进入,直到后来。 但我一直有这种唠叨的感觉,有一些东西是错过的。 有没有人知道任何书,真正强大的工作stream方式的情况? 本书必须:(1)很好地教授WF;(2)展示WF实现容易实现的恰当用例,而不是我们常规的直接编码。 我将不胜感激。

控制轨道validation的顺序

我有一个轨道模型,有7个数字属性由用户通过表单填写。 我需要validation这些显然易于使用的每个属性的存在 validates :attribute1, :presence => true validates :attribute2, :presence => true # and so on through the attributes 不过,我也需要运行一个自定义的validation器,它需要一些属性,并与他们做一些计算。 如果这些计算的结果不在一定范围内,那么该模型应该被宣布为无效。 就它自己而言,这也很容易 validate :calculations_ok? def calculations_ok? errors[:base] << "Not within required range" unless within_required_range? end def within_required_range? # check the calculations and return true or false here end 然而,问题是方法“validation”总是在方法“validation”之前运行。 这意味着如果用户将其中一个必填字段留空,则rails在尝试使用空属性执行计算时会引发错误。 那么我怎样才能首先检查所有必需属性的存在?

如何在web.config中指定根(/)位置?

如何在web.config中指定根目录位置以允许未经身份validation的用户访问? 根位置由default.aspx提供,但用户通常看不到default.aspx,他们只看到http://mysite.com/ 。 所以我补充说 <location path="~/default.aspx"> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> </location> 如果用户点击mysite.com/default.aspx ,但是如果用户点击mysite.com/default.aspx ,那么这种方法会起作用 – 他仍然被redirect到login页面。 我已经试过<location path="~"> (没有帮助),还有<location path="~/"> , <location path=""> site <location path=""> (网站完全失败),无法工作。 有任何想法吗?

为什么Android API Level 15中的“button栏中的button应该是无边界的”?

我正在为Android开发一个应用程序,最近我将API级别的目标从8更改为15,现在当Buttons位于“ Linear Layouts或“ Table Rows时,Eclipse会警告我。 Button处于Relative Layout时不会发生同样的情况。 警告说: button栏中的button应该是无边界的; 在父级上使用style =“?android:attr / buttonBarButtonStyle”(和?android:attr / buttonBarStyle) 我可以按照这个build议甚至是压制这个build议来摆脱这个警告,但是我现在有兴趣知道为什么这么做了。 边界button有什么问题?

升级到5.0.0后,TokenValidationParameters不再有效

我有以下代码,当我使用System.IdentityModel.Tokens.Jwt,版本= 4.0.20622.1351 private static void ConfigureAzureAD(IAppBuilder appBuilder) { appBuilder.UseWindowsAzureActiveDirectoryBearerAuthentication( new WindowsAzureActiveDirectoryBearerAuthenticationOptions { Tenant = ConfigurationManager.AppSettings["ida:Tenant"], TokenValidationParameters = new System.IdentityModel.Tokens.TokenValidationParameters { ValidAudience = ConfigurationManager.AppSettings["ida:Audience"] } }); } 然而,只要我升级这个包到最新的版本5,它不再编译抱怨引用types“TokenValidationParameters”声明它定义在System.IdentityModel.Token.Jwt中,但它不能被发现。 另外,如果您尝试使用以下编译器,则会警告您Audience已过时 : private static void ConfigureAzureAD(IAppBuilder appBuilder) { appBuilder.UseWindowsAzureActiveDirectoryBearerAuthentication( new WindowsAzureActiveDirectoryBearerAuthenticationOptions { Tenant = ConfigurationManager.AppSettings["ida:Tenant"], Audience = ConfigurationManager.AppSettings["ida:Audience"] }); } 我再次降级这个DLL,并使用版本4.0.20622.1351,它开始编译。 是否对configurationAzure Active Directory进行了语法更改? 在Github上,我找不到使用最新的5.0.0包的单个项目,并且他们都使用之前的包4.0.20622.1351。 任何人都可以使用最新的System.IdentityModel.Tokens.Jwt 5.0.0揭示这一点,或者使用最新的包引导我到Github上的一些项目?

从Python中的“with”块(以及为什么)产生安全吗?

协程和资源获取的结合似乎可能会带来一些意想不到的(或不直观的)后果。 基本的问题是这样的事情是否有效: def coroutine(): with open(path, 'r') as fh: for line in fh: yield line 它做的。 (你可以testing它!) 更深层次的问题是,应该是finally的替代scheme,在那里确保资源在块的末尾被释放。 协程可以暂停和恢复执行,那么冲突是如何解决的呢? 例如,如果在协程尚未返回的情况下,在协同程序内部和外部使用读/写打开文件: def coroutine(): with open('test.txt', 'rw+') as fh: for line in fh: yield line a = coroutine() assert a.next() # Open the filehandle inside the coroutine first. with open('test.txt', 'rw+') as fh: # Then open it […]

标准代表在C#中

有一些代表在C#中预定义 我知道这些: EventHandler // Default event callbacks EventHandler<T> // Default event callbacks with custom parameter (inheriting from EventArgs) Action // Function without return value and without parameter Action<T1, T2, T3, T4> // Function without return value and 1-4 parameters Func<T1, T2, T3, T4, TResult> // Methos with 0-4 parameters and one result type Predicate<T> // […]

显示djangopipe理员列表中的外键

如果一个Django模型包含一个外键字段,并且如果该字段以列表模式显示,那么它显示为文本 ,而不是显示到外部对象的链接 。 是否有可能自动显示所有的外键作为链接,而不是平面文字? (当然,有可能在一个字段的基础上做到这一点,但是有一个通用的方法吗?) 例如 : class Author(models.Model): … class Post(models.Model): author = models.ForeignKey(Author) 现在我select一个ModelAdmin,以便作者以列表模式显示: class PostAdmin(admin.ModelAdmin): list_display = […, 'author',…] 现在在列表模式下,author字段将使用Author类的__unicode__方法来显示作者。 最重要的是,我想要一个指向pipe理网站中相应作者url的链接 。 那可能吗? 手动方法 : 为了完整起见,我添加了手动方法。 这将是在PostAdmin类中添加一个方法author_link : def author_link(self, item): return '<a href="../some/path/%d">%s</a>' % (item.id, unicode(item)) author_link.allow_tags = True 这将适用于特定的领域,但这不是我想要的。 我想要一个通用的方法来达到同样的效果。 (其中一个问题是如何自动找出djangopipe理站点中对象的path。)

Graphviz和ASCII输出

是否可以使用Graphviz绘制ASCII图? 类似的东西: digraph { this -> is this -> a a -> test } 给出以下图像: 图表http://img15.imageshack.us/img15/6985/asciia.png 但我想获得ASCII表示法: this / \ is a | test 也许你知道其他工具,了解点文件格式,并可以绘制ASCII图?

BDD与黄瓜和rspec – 何时是多余的?

Rails /工具特定版本: 你的unit testing有多深? 现在我写下: 黄瓜function(集成testing) – 这些testing针对我们的应用程序返回的HTML / JS,但有时也testing其他的东西,如调用第三方服务。 RSpec控制器testing(functiontesting),最初只有当控制器有任何有意义的逻辑,但现在越来越多。 RSpec模型testing(unit testing) 有时这是完全必要的; 有必要对模型中的行为进行testing,这对最终用户来说并不是完全明显或可见的。 模型复杂时,一定要进行testing。 但其他时候,在我看来,testing是多余的。 例如,如果你testing方法foo如果它只是由bar调用, bar进行testing? 如果bar是一个简单的辅助方法,在Cucumber特性中使用并且容易testing的模型会怎么样? 你是否在rspec和Cucumber中testing了这个方法? 我发现自己正在为此付出努力,因为编写更多的testing需要花费时间,并且维护实际上相同行为的多个“版本”,这使得维护testing套件的时间更加紧凑,从而导致更改更加昂贵。 总之,你是否相信有一段时间只写黄瓜function就够了? 还是应该经常在各个层面上进行testing? 如果您认为存在灰色地带,您需要进行function/unit testing的门槛是多less? 实际上,你现在做什么,为什么(或为什么不),你认为这是足够的? 编辑 : 这是一个什么可能是“testing矫枉过正”的例子。 诚然,我能够很快写出这个,但这完全是假设的。