在Excel 2010中,我在列中有一个值列表,A并在中指定了bin大小B1.这允许我使用以下公式创建具有N个bin的直方图:
{=FREQUENCY(A:A,(ROW(INDIRECT("1:"&CEILING((MAX(A:A)-MIN(A:A))/B1,1)))-1)*B1+MIN(A:A))}
唯一的问题是我需要选择 N个单元格并应用此公式来获取N个bin作为条形图的数据源.可以跳过这一步吗?例如,是否可以在单个单元格中使用此公式 - 稍微修改一下 - 以便在用作数据源时,它被解释为N个单元格,从而产生具有N个值的漂亮直方图?
谢谢.
我有一个计算密集型图像算法,对于每个像素,需要读取许多远距离像素.距离取决于在编译时定义的常量.我的OpenCL算法运行良好,但在一定的最大距离 - 导致更多的循环 - 驱动程序似乎纾困.屏幕变黑几秒钟,然后命令队列永远不会完成.气球消息显示司机不满意:
"显示驱动程序AMD驱动程序停止响应并已成功恢复."
(使用AMD FirePro V4900 (FireGL V) Graphics Adapter.在OpenCL 1.1上运行.)
自从引入var关键字以来,为什么要使用为什么要使用完全限定名?
var有效地减少了变量声明的输入.因此,可以保持完整的声明而不会使代码膨胀.这让我很奇怪,为什么你甚至想宣布namespace使用?
// A lot of typing, but unambiguous.
System.Drawing.Point a = new System.Drawing.Point();
// using System.Drawing, Point possibly ambiguous.
Point b = new Point();
// using System.Drawing, Point possibly ambiguous.
var c = new Point();
// Less typing, still unambiguous.
var d = new System.Drawing.Point();
Run Code Online (Sandbox Code Playgroud)
这里的最佳做法是什么?
用SQL Server 2012.我想从一个表中选择一个不同的值,T如果只有一个独特的价值存在.下面我有一个简单的例子,说明我正在尝试做什么.
此数据将导致1个返回值:'bbb'
ID Data
----------
1 'bbb'
Run Code Online (Sandbox Code Playgroud)
这些数据也是如此:
ID Data
----------
1 'bbb'
2 'bbb'
3 'bbb'
Run Code Online (Sandbox Code Playgroud)
但是这个数据会导致0个返回的行:
ID Data
----------
1 'aaa'
2 'bbb'
3 'bbb'
Run Code Online (Sandbox Code Playgroud)
理想情况下,有一种方法可以计算WHERE子句中的行数(不分组数据).另外,请记住我的原始查询非常复杂.对于这个简化版本,我尝试过这样的东西,但它不起作用:
SELECT [Data] FROM
(SELECT [Data], COUNT(*) OVER() AS [DinstinctValueCount] FROM
(SELECT DISTINCT [Data] FROM [T]) [A]) [B] WHERE [DistinctValueCount] = 1
Run Code Online (Sandbox Code Playgroud)
列名称'DistinctValueCount'无效.
我找到了解决方案.还有更好的吗?
SELECT CASE WHEN COUNT(*) = 1 THEN MIN([Data]) ELSE NULL END AS [Data] FROM
(SELECT DISTINCT [Data] FROM …Run Code Online (Sandbox Code Playgroud) 运行SQL Server 2014.如何从表中插入多行并将插入的数据与新ID组合?
让我们看一个精简的例子吧!
DECLARE @Old TABLE
(
[ID] [int] PRIMARY KEY,
[Data] [int] NOT NULL
)
DECLARE @New TABLE
(
[ID] [int] PRIMARY KEY,
[OtherID] [int] NULL
)
INSERT INTO [dbo].[Test] ([Data])
OUTPUT inserted.[ID], [@Old].[ID] /* <--- not supported :( */ INTO @New
SELECT [Data]
FROM @Old
Run Code Online (Sandbox Code Playgroud)
我需要将插入的ID与正在插入的数据相结合.我可以假设插入的行与所选行的顺序相同吗?([Data]插入操作后我将无法加入.)
以下似乎是一个可能的解决方案,但我找不到它的工作原理.它保证有效吗?
DECLARE @Old TABLE
(
[RowID] [int] PRIMARY KEY IDENTITY, -- Guaranteed insert order?
[ID] [int] NOT NULL,
[Data] [int] NOT NULL
)
DECLARE @New TABLE …Run Code Online (Sandbox Code Playgroud) 在.NET Framework你可以很容易地反映方法.例如:
var methodInfo = typeof(object).GetMethod("MemberwiseClone", bindingFlags);
Run Code Online (Sandbox Code Playgroud)
.NET Standard但是,在一个项目中,编译器抱怨:
错误CS1061:'Type'不包含'GetMethod'的定义,并且没有扩展方法'GetMethod'接受类型'Type'的第一个参数(你是否缺少using指令或汇编引用?)
问:你如何使用等效反射.NET Standard?
使用Android NDK r18b(使用clang工具链)和Android Studio 3.2.1.
我的相关部分mylib.gradle:
task ndkBuild(type: Exec) {
commandLine "${ndkDir}/ndk-build${ndkExt}"
}
Run Code Online (Sandbox Code Playgroud)
我的Application.mk:
APP_PLATFORM := android-17
APP_ABI := armeabi-v7a
# APP_OPTIM := release
APP_CFLAGS += -D_BSD_SOURCE
Run Code Online (Sandbox Code Playgroud)
和我的相关部分Android.mk:
include $(CLEAR_VARS)
LOCAL_PATH := $(BASE_PATH)
LOCAL_MODULE := mylib_jni
LOCAL_STATIC_LIBRARIES := \
lib1 \
lib2
LOCAL_WHOLE_STATIC_LIBRARIES := \
mylib_wrap \
other_wrap
include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)
静态库mylib_jni.so构建成功。然后我运行以下命令(来自 NDK):
arm-linux-androideabi-readelf -a mylib_jni.so
在输出中,我可以看到lib1and中所有非静态方法的名称lib2(不是上面可以看到的整个库)。这怎么可能?如何从ndk-build …
我有一个Image如下所示。使用MatrixTransformI 可以轻松放大和缩小。如何检测缩放是否太小/太大?例如,我想将缩放限制为 10-200%。
<ScrollViewer x:Name="scrollViewer" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto">
<Border x:Name="border" ClipToBounds="True" Width="Auto" Height="Auto">
<Image x:Name="image" Source="test.png"/>
</Border>
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)
实际改造:
Point p = e.MouseDevice.GetPosition(image);
Matrix m = image.RenderTransform.Value;
if (e.Delta > 0)
m.ScaleAtPrepend(1.1, 1.1, p.X, p.Y);
else
m.ScaleAtPrepend(1.0 / 1.1, 1.0 / 1.1, p.X, p.Y);
// How do I know if the zoom level is lower than 10% or higher than 200%?
image.RenderTransform = new MatrixTransform(m);
Run Code Online (Sandbox Code Playgroud) C#4.0.我有一个属性缓慢的属性.我想在不调用getter的情况下读取此属性:
[Range(0.0f, 1000.0f)]
public float X
{
get
{
return SlowFunctionX();
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我现在拥有的:
public static T GetRangeMin<T>(T value)
{
var attribute = value.GetType()
.GetField(value.ToString())
.GetCustomAttributes(typeof(RangeAttribute), false)
.SingleOrDefault() as RangeAttribute;
return (T)attribute.Minimum;
}
var min = GetRangeMin<double>(X); // Will call the getter of X :(
Run Code Online (Sandbox Code Playgroud)
问:如何在不调用getter的情况下读取此属性X?
使用SQL Server 2012.我想在表中插入唯一的字符串.我总是希望返回唯一字符串的行ID.现在,这可以通过两种方式实现.
哪种解决方案最好?
这是有问题的表:
CREATE TABLE [dbo].[Comment](
[CommentID] [int] IDENTITY(1,1) NOT NULL,
[Comment] [nvarchar](256) NOT NULL
CONSTRAINT [PK_Comment] PRIMARY KEY CLUSTERED([CommentID] ASC)
)
CREATE UNIQUE NONCLUSTERED INDEX [IX_Comment_Comment] ON [dbo].[Comment]
(
[Comment] ASC
)
Run Code Online (Sandbox Code Playgroud)
解决方案1:
SELECT首先检查字符串是否存在.如果确实如此,请返回ID.否则,INSERT新行并返回新创建的ID.
CREATE PROCEDURE [dbo].[add_comment]
@Comment [nvarchar](256)
AS
BEGIN
SET NOCOUNT ON
DECLARE @CommentID [int]
DECLARE @TransactionCount [int]
BEGIN TRY
SET @TransactionCount = @@TRANCOUNT
IF @TransactionCount = 0
BEGIN TRANSACTION
SELECT @CommentID = [CommentID] FROM [dbo].[Comment] WHERE …Run Code Online (Sandbox Code Playgroud) 在POSIX中,您有这个不错的mmap()API.文档不清楚值是否会length影响内存/性能.请指教!
void *mmap(void *addr, size_t length, int prot, int flags,
int fd, off_t offset);
Run Code Online (Sandbox Code Playgroud)
考虑一个10 MB的文件,我只需要映射它的一个子集,如2 MB.另外,我们假设我们从不尝试访问2 MB边界之外的内存.(这样做显然会产生影响.)
问:如果将length其设置为2或10 MB,这是否重要?
我有一个SQL Server 2014实例和一个用C#编写的客户端应用程序.
从这个应用程序,我使用下面的代码检索数据.使用一些经验测试,似乎正在使用服务器端游标.对于我的特定用例,我想使用客户端游标.如何才能做到这一点?
如何使用客户端游标进行连接?
<connectionStrings>
<clear/>
<add name="myDB"
connectionString="Server=SERVER\INSTANCE;Database=test"
providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
C#客户端代码:
using (var connection = OpenConnection())
{
using (var command = connection.CreateCommand())
{
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "dbo.my_stored_procedure";
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
object retrievedObject = reader.GetValue(0);
// Use object...
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
有用的链接: