小编Ear*_*rlz的帖子

序列不受交易影响?

我有一张桌子

create table testtable(
  testtable_rid serial not null,
  data integer not null,
  constraint pk_testtable primary key(testtable_rid)
);
Run Code Online (Sandbox Code Playgroud)

所以我要说这个代码约20次:

begin;
insert into testtable (data) values (0);
rollback;
Run Code Online (Sandbox Code Playgroud)

然后我做

begin;
insert into testtable (data) values (0);
commit;
Run Code Online (Sandbox Code Playgroud)

最后一个

select * from testtable
Run Code Online (Sandbox Code Playgroud)
Result:
row0: testtable_rid=21 | data=0
Expected result:
row0: testtable_rid=1 | data=0

如您所见,序列似乎不受事务回滚的影响.它们继续递增,就好像提交了事务一样,然后删除了该行.有没有办法防止序列以这种方式表现?

postgresql transactions rollback database-sequence

28
推荐指数
2
解决办法
1万
查看次数

从哪里开始阅读SQLite源代码?

我想了解sqlite是如何实现的.并且,想要阅读源代码(我已经下载了源代码).我应该开始考虑哪部分代码?

c sqlite open-source

27
推荐指数
1
解决办法
8405
查看次数

OpenID还是不OpenID?这值得么?

OpenID是否改善了用户体验?

编辑

不要贬低其他评论,但我在下面得到了一个非常好的回复,概述了OpenID在理性底线方式中的3个优点.我还听到其他评论中的一些低语,你可以通过OpenID访问用户的一些细节(名称?电子邮件?什么?),使用它甚至可以通过不需要收集来简化注册过程尽可能多的信息.

在结账过程中肯定需要收集的东西:

  • 全名
  • 电子邮件

(我很确定我自己要问这些)

  • 帐单地址
  • 收件地址
  • 信用卡信息

从营销的角度来看,可能还有其他一些有趣的事情,但我不会要求用户手动输入在结账过程中不是绝对必需的任何内容.那么这方面有什么可能呢?

/编辑

(您可能已经注意到stackoverflow使用OpenID)

在我看来,用户只需输入他们必须经历的注册表单中的用户名和密码就更容易,更快捷.我的意思是你不要避免使用OpenID输入用户名和密码.但是,您可以避免选择OpenID提供商的混乱,以及从外部站点到外部和外部的旅程.

由于微软将Live ID作为OpenID提供商(更多信息),为Google,雅虎和其他公司提供的额外帐户增加了数亿个,这个问题比以往任何时候都更加重要.

我必须要求新客户在结账过程中进行注册,并且尽可能简单,顺利地进行体验绝对至关重要,每一点点都会变得难以转化为销售损失.在一天结束时,没有极客因素超过冷硬现金:)

OpenID似乎是一个不错的主意,但实现的价值有问题.OpenID的优点是什么?在我上面描述的场景中它真的值得吗?

openid single-sign-on

26
推荐指数
4
解决办法
2757
查看次数

为什么Win32-API有这么多自定义类型?

我是Win32 API的新手,许多新类型开始让我感到困惑.

一些函数将1-2 ints和3 UINTS作为参数.

  • 为什么他们不能只使用整数?什么是UINTS?

然后,还有其他类型:

DWORD LPCWSTR LPBOOL 
Run Code Online (Sandbox Code Playgroud)
  • 同样,我认为"原始"C类型就足够了 - 为什么要引入100种新类型?

这个是痛苦的: WCHAR*

我不得不遍历它并将每个字符push_back到std :: string,因为没有其他方法可以将它转换为一个.可怕.

  • 为什么WCHAR?为什么重新发明轮子?他们本来可以用char*,或者?

c winapi

26
推荐指数
2
解决办法
4625
查看次数

量子计算和加密打破

我读过一段时间后,昆腾计算机可以在很短的时间内打破大多数类型的散列和加密(我相信这只是几分钟).这怎么可能?我试过阅读有关它的文章,但我迷失了a quantum bit can be 1, 0, or something else.有人可以解释这是如何与普通英语破解这些算法没有所有花哨的数学?

encryption cryptography quantum-computing

26
推荐指数
1
解决办法
9988
查看次数

我应该关注.NET字典的速度吗?

我将创建一个将使用字典查找和插入相当多的项目.这是值得关注的吗?

此外,如果我进行基准测试等并且它确实很糟糕,那么用其他东西替换字典的最佳方法是什么?使用带有"散列"键的数组会更快吗?那会对插入时间有所帮助吗?

另外,我认为我不是微优化,因为这确实是生产服务器上代码的重要组成部分,因此如果需要额外100毫秒才能完成,那么我们将寻找新的方法来处理这个问题.

c# arrays optimization dictionary

25
推荐指数
5
解决办法
1万
查看次数

接下来与if.在一个.each循环中?

我有一个文本处理的东西,我在Ruby中做.基本上,我必须实现一个简单的状态机(一个字符后视).

我的代码目前看起来像这样:

text.each{ |c|
  ...
  ...
  ...
  ...
  if @state!=:some_state
    next
  end
  #processing stuff for if in :some_state mode
  ...
  ...
  ...
  ...
  ...
}
Run Code Online (Sandbox Code Playgroud)

这是对的吗?或者它应该像下面这样实现:

text.each{ |c|
  ...
  ...
  ...
  ...
  if @state==:some_state
    #processing stuff for if in :some_state mode
    ...
    ...
    ...
    ...
    ...
  end
}
Run Code Online (Sandbox Code Playgroud)

有正确的方式还是只是偏好?哪一个与做事的"红宝石方式"更加融合?

ruby coding-style

25
推荐指数
2
解决办法
2万
查看次数

定义"循环数据结构"

JSON网站上说

JSON不支持循环数据结构,因此请注意不要给JSON字符串化器提供循环结构.

这是什么意思?有人能在Javascript中给我一个这样的数据结构的例子吗?

javascript json data-structures

25
推荐指数
2
解决办法
1万
查看次数

如何在Windows中轻松查看和过滤Android的logcat?

我正在"调试"一个Xamarin Android应用程序,它只在没有连接调试器时出现问题,因此,我不得不依靠登录来找出问题所在.但是,adb logcat从命令行执行操作非常痛苦.常量窗口滚动非常麻烦.Xamarin在Visual Studio中对logcat进行了一些集成,但在实践中,我发现使用它太麻烦了.从我在网上可以看出,看起来每个人都在Eclipse中使用一些插件用于logcat.但是,我没有或想要Eclipse.

是否有任何工具可以提供一个漂亮且易于过滤(并且不是经常滚动)的方式的logcat?最好是在GUI中,因为我必须从一次试图查出这个错误的过程中筛选出相当多的消息

android logcat

25
推荐指数
1
解决办法
3万
查看次数

NSString是什么样的:实际上呢?

我试图找出isLike:实际上对NSStrings有什么作用并遇到麻烦.Apple 自己的文档很模糊:

返回一个布尔值,指示接收者是否"喜欢"另一个给定对象.

...

NSObject方法返回的此方法的默认实现NO.NSString还提供了此方法的实现,YES如果接收器匹配object描述的模式,则返回该方法.

它提到了一个"模式",但通过一些初步的测试,它似乎没有使用正则表达式.在这种情况下,模式格式究竟是什么?

cocoa objective-c nsstring

24
推荐指数
2
解决办法
554
查看次数