如何将一个寄存器的内容复制到另一个寄存器而不粘贴在剪贴板上?我猛拉了一个文本,它被拖入默认"寄存器.现在我想复制另一个文本而不删除/覆盖"寄存器.所以我想移动"寄存器的内容来说一些a或b注册,以便我可以复制里面的新文本".这该怎么做?
我正在编写一些代码,其中包含以下内容:
double a = SomeCalculation1();
double b = SomeCalculation2();
if (a < b)
DoSomething2();
else if (a > b)
DoSomething3();
Run Code Online (Sandbox Code Playgroud)
然后在其他地方我可能需要做平等:
double a = SomeCalculation3();
double b = SomeCalculation4();
if (a == 0.0)
DoSomethingUseful(1 / a);
if (b == 0.0)
return 0; // or something else here
Run Code Online (Sandbox Code Playgroud)
简而言之,我有很多浮点数学正在进行,我需要对条件进行各种比较.我无法将其转换为整数数学,因为在这种情况下这样的事情毫无意义.
我以前读过浮点比较可能不可靠,因为你可以做这样的事情:
double a = 1.0 / 3.0;
double b = a + a + a;
if ((3 * a) != b)
Console.WriteLine("Oh no!");
Run Code Online (Sandbox Code Playgroud)
简而言之,我想知道:我如何可靠地比较浮点数(小于,大于,相等)?
我使用的数字范围大致是从10E-14到10E6,所以我确实需要使用小数字和大数字.
我已将此标记为语言无关,因为无论我使用何种语言,我都对如何实现此目标感兴趣.
我目前正在进行一些测试,以确定在SQL Server 2005中为某个列包含索引的性能影响.
我使用的测试数据集大约有大约7200万行(大约6 GB的数据).为了实际测试索引的性能,我需要能够比较有和没有索引的性能.
这一切都很好,但首先创建一个索引并不是一个便宜的操作.如果我想在没有索引的情况下测试表,我至少需要禁用索引.要使用索引进行测试,我需要重新启用它,这需要相当长的时间.
有没有什么办法可以强制SQL Server 2005在执行查询时忽略给定的索引?我不想为了测试查询而禁用索引,因为它需要很长时间来禁用索引.
在我当前的项目中,我有一些对本地开发机器有效的连接字符串:
<configuration>
<connectionStrings>
<add name="ApplicationServices"
connectionString="Data Source=localhost;Initial Catalog=MyDB;Integrated Security=SSPI"
</connectionStrings>
....
</configuration>
Run Code Online (Sandbox Code Playgroud)
我如何使用Web.Config转换从此表达式转换为对我们的生产服务器有效的表达式?生产服务器看起来像:
<configuration>
<connectionStrings>
<add name="ApplicationServices"
connectionString="Data Source=IPAddress,Port;Initial Catalog=SomeOtherDB;User ID=TopSecretUsername;Password=SecurePassword"
</connectionStrings>
....
</configuration>
Run Code Online (Sandbox Code Playgroud)
语法对我来说并不明显,而且我完全没有在它上面浏览页面.
在我的Web API项目中,我无法执行HTTP PUT我的资源.我已经阅读了一些 关于这个问题的类似 问题 , 并且我遵循了建议的建议.
首先,我在我的机器上完全卸载了WebDAV(Windows 7 64位),然后重新启动了我的机器.
其次,WebDAV处理程序在我的指定中被删除,web.config并且HTTP PUT动词被指定为允许无扩展URL处理程序.
<modules runAllManagedModulesForAllRequests="false">
<remove name="WebDAVModule"/>
</modules>
<handlers>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="WebDAV"/>
<add name="ExtensionlessUrlHandler-Integrated-4.0"
path="*."
verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
type="System.Web.Handlers.TransferRequestHandler"
resourceType="Unspecified"
requireAccess="Script"
preCondition="integratedMode,runtimeVersionv4.0" />
<add name="AttributeRouting" path="routes.axd" verb="*" type="AttributeRouting.Web.Logging.LogRoutesHandler, AttributeRouting.Web" />
</handlers>
Run Code Online (Sandbox Code Playgroud)
我甚至尝试添加ISAPI无扩展URL处理程序(32位和64位)并将我的应用程序从集成管道应用程序池更改为经典应用程序池.
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit"
path="*."
verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
modules="IsapiModule"
scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll"
preCondition="classicMode,runtimeVersionv4.0,bitness32"
responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit"
path="*."
verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
modules="IsapiModule"
scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll"
preCondition="classicMode,runtimeVersionv4.0,bitness64"
responseBufferLimit="0" />
Run Code Online (Sandbox Code Playgroud)
我目前正在使用Thinktecture IdentityModel来启用跨源资源共享(CORS)支持.为了我的理智,我已经选择了启用一切以确保HTTP …
对于我目前正在开发的Web应用程序(ASP.NET MVC),我们有以下架构:
Data Access Layer:用于将数据持久保存到任意数据库的逻辑Domain:数据模型Service Layer:业务逻辑(例如订单处理,账户管理等)Controller:使用服务并向View提供/接收数据View:用户的用户界面从本质上讲,我把Model它分成了DAL,Service Layer然后把它分成了Domain.我觉得填充所有逻辑Model使得我的代码过于复杂.此外,我觉得它让我干净利落地表达我的业务逻辑,而不会让控制器做太多工作.
我的问题是:这种类型的架构叫做什么?
作为第二个问题:这种类型的架构是否有意义?如果没有,我做错了什么?
architecture model-view-controller asp.net-mvc design-patterns
下面是我最里面的循环,运行几千次,输入大小为20 - 1000或更多.这段代码占用了99-99.5%的执行时间.我能做些什么来帮助挤出更多的表现吗?
我不打算将此代码移动到类似于使用树代码(Barnes-Hut)的东西,而是为了优化内部发生的实际计算,因为在Barnes-Hut算法中进行相同的计算.
任何帮助表示赞赏!
编辑:我在Core 2 Duo T5850(2.16 GHz)上使用Visual Studio 2008版本运行Windows 7 64位
typedef double real;
struct Particle
{
Vector pos, vel, acc, jerk;
Vector oldPos, oldVel, oldAcc, oldJerk;
real mass;
};
class Vector
{
private:
real vec[3];
public:
// Operators defined here
};
real Gravity::interact(Particle *p, size_t numParticles)
{
PROFILE_FUNC();
real tau_q = 1e300;
for (size_t i = 0; i < numParticles; i++)
{
p[i].jerk = 0;
p[i].acc = 0;
}
for (size_t i = 0; i < …Run Code Online (Sandbox Code Playgroud) 假设我有一个构造函数,由于我无法控制的原因,它的初始化可能会引发异常.
FantasticApiController(IAwesomeGenerator awesome,
IBusinessRepository repository, IIceCreamFactory factory)
{
Awesome = awesome;
Repository = repository;
IceCream = factory.MakeIceCream();
DoSomeInitialization(); // this can throw an exception
}
Run Code Online (Sandbox Code Playgroud)
通常,当WebAPI中的Controller操作抛出异常时,我可以通过csutom处理它ExceptionFilterAttribute:
public class CustomErrorHandler
{
public override void OnException(HttpActionExecutedContext context)
{
// Critical error, this is real bad.
if (context.Exception is BubonicPlagueException)
{
Log.Error(context.Exception, "CLOSE EVERYTHING!");
Madagascar.ShutdownAllPorts();
}
// No big deal, just show something user friendly
throw new HttpResponseException(new HttpResponseMessage
{
Content = new StringContent("Hey something bad happened. " +
"Not closing …Run Code Online (Sandbox Code Playgroud) 我正在做一些相当长的计算,这可能很容易跨越几天.在这些计算过程中,有时Mathematica会耗尽内存.为此,我最终采取了以下措施:
ParallelEvaluate[$KernelID]; (* Force the kernels to launch *)
kernels = Kernels[];
Do[
If[Mod[iteration, n] == 0,
CloseKernels[kernels];
LaunchKernels[kernels];
ClearSystemCache[]];
(* Complicated stuff here *)
Export[...], (* If a computation ends early I don't want to lose past results *)
{iteration, min, max}]
Run Code Online (Sandbox Code Playgroud)
这很好,但是随着时间的推移,主内核会累积内存.目前,我的主要内核占用大约1.4 GB的RAM.有什么方法可以强迫Mathematica清除它正在使用的内存吗?我试过乱扔垃圾Share和Clear整个很多Modules,我用我的代码,但记忆似乎仍然在时间来建立.
我也试图确保在a之外没有任何大而复杂的运行Module,因此某些东西不会在范围内停留太长时间.但即便如此,我仍然有记忆问题.
我能做些什么吗?我总是会使用大量的内存,因为我的大多数计算涉及几个大而密集的矩阵(通常是1200 x 1200,但它可能更多),所以我对使用它很谨慎MemoryConstrained.
更新:
问题正是Alexey Popkov在他的回答中所说的.如果使用Module,内存会随着时间缓慢泄漏.在这种情况下,它恰好加剧了,因为我有多个Module[..]陈述."main" Module位于ParallelTable8个内核同时运行的位置.解决(相对)大量迭代问题,这是导致大量内存泄漏的滋生地Module.
在Mathematica中,ClearAll的文档指出:
ClearAll[symb1, symb2, ...]
使用符号清除值,定义,属性,消息和默认值.
它还支持类似的格式,它可以清除与输入字符串模式匹配的任何值/定义:
ClearAll["form1", "form2", ...]
Run Code Online (Sandbox Code Playgroud)
但是还有函数Remove,文档说:
Remove[symbol1, ...]
完全删除符号,以便Mathematica不再识别它们的名称.
它还支持相同的基于模式的字符串输入ClearAll.
对我来说,似乎两个功能完全相同.使用其中一个有什么实际区别吗?
我知道,如果我举一个属性的象征,Clear不会删除,但ClearAll和Remove意志.但似乎Remove并且ClearAll正在做同样的事情.
c# ×2
architecture ×1
asp.net-4.5 ×1
asp.net-mvc ×1
c++ ×1
comparison ×1
iis-7.5 ×1
indexing ×1
loops ×1
math ×1
memory-leaks ×1
optimization ×1
physics ×1
sql ×1
vim ×1
web-config ×1