我开始阅读关于CRDT的这篇论文,这是一种通过确保修改数据的操作是可交换的,同时共享可修改数据的方法.在我看来,这将是Haskell中抽象的一个很好的候选者 - 为CRDT提供一个类型类,指定数据类型和在该类型上通信的操作,然后使库实际上在并发进程之间共享更新.
我无法想象的是如何表达操作必须在类型类规范中通勤的合同.
举个简单的例子:
class Direction a where
turnLeft :: a -> a
turnRight :: a -> a
Run Code Online (Sandbox Code Playgroud)
不能保证和它turnLeft . turnRight一样turnRight . turnLeft.我认为后备是指定monad定律的等价物 - 使用注释来指定类型系统不强制执行的约束.
可能重复:
什么是控制反转?
我理解依赖注入(DI)是什么(我认为!).它基本上是对象可能具有的依赖性的满足.我尝试考虑使用DI作为面向服务时编写的代码,并将我的代码定义为使用其他服务.
但是,我现在想知道在使用IoC时我们正在反转控制权.这是一个相当含糊的术语,它可能意味着一些事情.
但是,我认为由IoC框架处理的是创建对象(因此使用DI来满足依赖性)的责任.
应用程序仍然有责任询问它使用的对象(即 - 服务),区别在于它不知道(或关心)如何创建它.那么,为什么服务定位器被认为是反模式,如果它所做的就是要求服务呢?
我说得对吗?或者它是否意味着别的东西.另外,我是否正确分离了DI和IoC的职责?如果我有一个IoC框架,没有DI框架就无法运行.或者DI只是IoC框架的一个特性?

<input type="password" value="<?php echo md5($row['password']);?>">
<input type="password" value="<?php echo $row['password'];?>">
Run Code Online (Sandbox Code Playgroud)
我试图从数据库中检索密码.在输入框中,我希望它显示,比如说密码:12345,而不是MD5版本的12345.
我有一个SQL Server数据库.
一个字段具有类似的值
ID VALUE
1 NEGATIF
2 11.4
3 0.2
4 A RH(+)
5 -----
6 >>>>>
7 5.6<
8 -13.9
Run Code Online (Sandbox Code Playgroud)
我想将CONVERT VALUE字段转换为十进制,当然还有可转换字段.
什么样的SQL语句可以做到这一点?
如何理解转换时哪个值会引发错误?
PS:我认为这可以解决 WHERE VALUE LIKE '[a-z]'但是如何添加更多像[ - +()]这样的过滤器?
我的环境是带有Devise 1.1的Rails 3.0.1.我正在开发一个移动Web应用程序,主要使用javascript,并且希望尽可能多地保持基于JSON的通信.
有没有办法让设计用JSON响应成功/失败消息,而不是必须遵循302重定向并解析HTML?
看着用这个.
......但是没有它工作.
假设我有一个这样的课程:
class Parser
attr_accessor :config, :html
def initialize(config, html)
@config = config
@html = html
end
...
end
Run Code Online (Sandbox Code Playgroud)
将参数命名为初始化方法与attr_accessors相同是否安全?风格不好吗?什么是更好的风格?
最近我从TFS 2010目录中删除了所有分支,使其再次独立,但它仍然有一个图标显示它似乎表明它是分支的父级.反正有没有删除该图标,使其看起来像其他文件夹?这是TFS 2010.谢谢!
我知道如何实现一个关键的监听器; 那不是问题.
public void keyTyped(KeyEvent event) {
if (event.getKeyChar() == KEY_LEFT) {
cTDirection = LEFT;
}
if (event.getKeyChar() == 40) {
cTDirection = DOWN;
}
if (event.getKeyChar() == 39) {
cTDirection = RIGHT;
}
if (event.getKeyChar() == 38) {
cTDirection = UP;
}
}
Run Code Online (Sandbox Code Playgroud)
我把什么放在LEFT_KEY/ 40/39/38?当我创建一个keylistener并键入键时,我相信我得到了37 - 40.我不知道该放在那里只听箭头键.
是否有条件连接之类的东西:
SELECT *
FROM TABLE1 A
IF (a=='TABLE2') THEN INNER JOIN TABLE2 B ON A.item_id=B.id
ELSE IF (a=='TABLE3') THEN INNER JOIN TABLE3 C ON A.item_id=C.id
Run Code Online (Sandbox Code Playgroud)
而 a 是 TABLE1 中的一个字段。
我喜欢在不使用动态 sql 的存储过程中使用它(不将查询编写为字符串和 EXEC(@query))。
编辑:我不能写:
IF (a=='TABLE2) THEN queryA
ELSE IF (a=='TABLE3') THEN queryB
Run Code Online (Sandbox Code Playgroud)
因为 a 是 TABLE1 的一个字段。
我正在努力理解GWT布局面板的奇怪行为.我想知道GWT如何将布局逻辑转换为javascript和html.有时我们没有得到预期的布局.封面下的东西由GWT编译器完成.关于如何在封面下执行布局,GWT文档还不够清晰.是否有一些好的书籍或教程可以很好地解释GWT布局问题?
谢谢.