我最近不得不寻找最初由Google开发的Protocol Buffers库的C#移植.猜猜看,我在这里发现了两个知名人士拥有的两个项目:由Jon Skeet编写的protobuf-csharp-port和由Marc Gravell编写的protobuf-net.我的问题很简单:我必须选择哪一个?
我非常喜欢Marc的解决方案,因为在我看来,我更接近C#philisophy(例如,你可以只添加属性到现有类的属性),看起来它可以支持.NET内置类型,如System.Guid.
我相信他们两个都是很棒的项目,但你的意见是什么?
在SQL Server 2005中执行原子"UPSERT"(在哪里存在UPDATE,否则为INSERT)的正确模式是什么?
我在SO上看到了很多代码(例如,请参阅检查是否存在行,否则插入),其中包含以下两部分模式:
UPDATE ...
FROM ...
WHERE <condition>
-- race condition risk here
IF @@ROWCOUNT = 0
INSERT ...
Run Code Online (Sandbox Code Playgroud)
要么
IF (SELECT COUNT(*) FROM ... WHERE <condition>) = 0
-- race condition risk here
INSERT ...
ELSE
UPDATE ...
Run Code Online (Sandbox Code Playgroud)
其中<condition>将是对自然键的评估.上述方法似乎都不能很好地处理并发问题.如果我不能拥有两个具有相同自然键的行,则似乎所有上述风险都会在竞争条件场景中插入具有相同自然键的行.
我一直在使用以下方法,但我很惊讶不要在人们的回复中看到它,所以我想知道它有什么问题:
INSERT INTO <table>
SELECT <natural keys>, <other stuff...>
FROM <table>
WHERE NOT EXISTS
-- race condition risk here?
( SELECT 1 FROM <table> WHERE <natural keys> )
UPDATE ...
WHERE <natural keys>
Run Code Online (Sandbox Code Playgroud)
请注意,此处提到的竞争条件与早期代码中的竞争条件不同.在早期的代码中,问题是幻读(在UPDATE/IF之间或在另一个会话的SELECT/INSERT之间插入行).在上面的代码中,竞争条件与DELETE有关.在(WHERE NOT EXISTS)执行之后但在INSERT执行之前,是否有可能由另一个会话删除匹配的行?目前还不清楚WHERE …
我想"复制到剪贴板" Control
我的WPF
应用程序在屏幕上绘制的内容.因此,我需要从Control当前显示中构建一个位图图像.
有一个简单的方法吗?
提前致谢.
是否有可能从应用程序中找到我的iphone附近的蓝牙设备?我可以使用GameKit框架来完成它,但这有限制,两个设备必须安装并运行我的应用程序.
有没有办法使用蓝牙检测附近的iPhone设备,即使他们没有运行相同的应用程序?
谢谢.
我正在尝试获取t-sql中的存储过程列表.我正在使用这条线:
exec sys.sp_stored_procedures;
Run Code Online (Sandbox Code Playgroud)
我想过滤回结果,所以我只获得用户创建的存储过程.我想过滤掉sp_*,dt_*,fn_*,xp_*以及其他所有系统存储过程并且对我没兴趣.如何操作返回的结果集?
使用Sql Server 2008 express.
解决了!这是我用过的:
SELECT name FROM sys.procedures
WHERE [type] = 'P'
AND name NOT LIKE 'sp_%'
AND name NOT LIKE 'dt_%'
ORDER BY name ASC;
Run Code Online (Sandbox Code Playgroud) 当我尝试将utf-8字符串转换为NSString时,如下所示:
NSString *s = [NSString stringWithUTF8String:"\U0627\U0644\U0641\U0631\U0646"];
NSLog(@"%@", s);
Run Code Online (Sandbox Code Playgroud)
我得到编译错误:
incomplete universal character name
Run Code Online (Sandbox Code Playgroud)
请注意,它有时正常工作:
NSString *UAE = [NSString stringWithUTF8String:"\U0627\U0644\U0641\U0631\U0646"];
NSLog(@"%@", UAE);
Run Code Online (Sandbox Code Playgroud)
和输出:
????????
Run Code Online (Sandbox Code Playgroud)
那为什么会这样呢?请帮忙.
用于生成对数正态分布随机数的大多数函数将相关正态分布的均值和标准差作为参数.
我的问题是我只知道对数正态分布的均值和变异系数.合理地直接从我所拥有的标准函数中获得所需的参数:
如果mu
且sigma
是相关正态分布的均值和标准差,我们就知道了
coeffOfVar^2 = variance / mean^2
= (exp(sigma^2) - 1) * exp(2*mu + sigma^2) / exp(mu + sigma^2/2)^2
= exp(sigma^2) - 1
Run Code Online (Sandbox Code Playgroud)
我们可以重新安排这个
sigma = sqrt(log(coeffOfVar^2 + 1))
Run Code Online (Sandbox Code Playgroud)
我们也知道
mean = exp(mu + sigma^2/2)
Run Code Online (Sandbox Code Playgroud)
这重新排列为
mu = log(mean) - sigma^2/2
Run Code Online (Sandbox Code Playgroud)
这是我的R实现
rlnorm0 <- function(mean, coeffOfVar, n = 1e6)
{
sigma <- sqrt(log(coeffOfVar^2 + 1))
mu <- log(mean) - sigma^2 / 2
rlnorm(n, mu, sigma)
}
Run Code Online (Sandbox Code Playgroud)
它适用于小的变异系数
r1 <- rlnorm0(2, 0.5)
mean(r1) # 2.000095
sd(r1) …
Run Code Online (Sandbox Code Playgroud) 我可以将字符串转换为html对象吗?喜欢:
string s = '<div id="myDiv"></div>';
var htmlObject = s.toHtmlObject;
Run Code Online (Sandbox Code Playgroud)
所以我以后可以通过id获取它并做一些改变它的风格
var ho = document.getElementById("myDiv").style.marginTop = something;
Run Code Online (Sandbox Code Playgroud)
丽娜,提前100万
我正在用C开发一个简单的库,供我自己+一些朋友个人使用.
我目前有一个C结构,其中一些成员应该以某种方式隐藏在应用程序的其余部分,因为它们的使用只是内部的.偶然修改其中一个成员可能会使图书馆"疯狂".
是否有任何"解决方法"隐藏这些成员以使其无法访问?
我希望在我的Leopard MacBook上安装Java,但是我在Sun的Java站点上找不到适用于Mac的JDK套件.我应该在哪里寻找它?
iphone ×2
atomic ×1
bluetooth ×1
c ×1
c# ×1
cocoa-touch ×1
html ×1
java ×1
javascript ×1
macos ×1
matlab ×1
objective-c ×1
protobuf-net ×1
r ×1
sql-server ×1
statistics ×1
t-sql ×1
upsert ×1
utf-8 ×1
wpf ×1