最近一直在观看一些Greg Young视频,我试图理解为什么对Setters on Domain对象持否定态度.我认为在DDD中,Domain对象应该是"重"的逻辑.这个坏例子在网上是否有任何好的例子然后他们纠正它的方法?任何例子或解释都是好的.这仅适用于以CQRS方式存储的事件,还是适用于所有DDD?
我在C#工作,我有一个大文本文件(75MB)我想保存与正则表达式匹配的行
我尝试使用streamreader和ReadToEnd读取文件,但它需要400MB的内存
并在再次使用时创建内存不足异常.
然后我尝试使用File.ReadAllLines():
string[] lines = File.ReadAllLines("file");
StringBuilder specialLines = new StringBuilder();
foreach (string line in lines)
if (match reg exp)
specialLines.append(line);
Run Code Online (Sandbox Code Playgroud)
这一切都很棒,但是当我的函数结束时,所采用的内存并没有清除,只留下300MB的已用内存,只有在调用函数并执行行时:string [] lines = File.ReadAllLines("file"); 我看到内存清理为50MB给予或接受然后重新分配回200MB
如何清除此内存或以不同的方式获取我需要的行?
我知道使用Eclipse创建任务的两种方法; 使用任务视图或TODO注释中的注释:
//TODO: wtf? Rewrite it using constants.
int foo = 3.1 * 3;
Run Code Online (Sandbox Code Playgroud)
如果我使用第一种方式,我可以编辑任务并设置"优先级".
我可以为使用TODO注释创建的任务执行此操作吗?
我有一个我备份的数据库.现在我试图删除原始数据库中的所有内容并将其恢复为空状态.因为它是关系数据库,所以它具有关键约束.我可以使用任何工具吗?
当我使用SWFObject进行静态发布时,我总是在标签中看到一个classid,即
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
Run Code Online (Sandbox Code Playgroud)
这个是来做什么的??我可以放弃它吗?
我使用Eclipse(Helios)与PDT和EGit.我有一个没有版本控制的项目,所以我通过执行以下操作为它创建了一个git存储库:
Team -> Share Project
Run Code Online (Sandbox Code Playgroud)
当我尝试将项目的文件添加到存储库时:
Team -> Add
Run Code Online (Sandbox Code Playgroud)
我得到一个例外:
Failed to add resource to index
Failed to add resource to index
Exception caught during execution of add command
Run Code Online (Sandbox Code Playgroud)
当我在命令行上手动添加文件时,一切正常.
有任何想法吗?
编辑:
eclipse给出的错误是:
Caused by: org.eclipse.jgit.errors.ObjectWritingException: Unable to create new object: Z:\eage_layout\.git\objects\60\f30dd232bd6ddaeb198fb11400c2613a072189
at org.eclipse.jgit.storage.file.ObjectDirectoryInserter.insert(ObjectDirectoryInserter.java:100) at org.eclipse.jgit.api.AddCommand.call(AddCommand.java:177)
Run Code Online (Sandbox Code Playgroud)
我正在运行的代码位于CentOs上运行的虚拟机上.我正在使用Windows机器并使用samba共享来访问虚拟机上的代码.我已将.git目录上的文件系统权限设置为777,但它仍然无效.
当我在Global.asax.cs中创建一个空的Session_Start处理程序时,它会在向浏览器呈现页面时造成重大影响.
如何重现:
创建一个空的ASP.NET MVC 3 Web应用程序(我正在使用MVC 3 RC2).然后使用以下代码添加Home控制器:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Number(int id)
{
return Content(id.ToString());
}
}
Run Code Online (Sandbox Code Playgroud)
接下来创建一个视图Home/Index.cshtml并将以下内容放在BODY部分中:
@for (int n = 0; n < 20; n++)
{
<iframe src="@Url.Content("~/Home/Number/" + n)" width=100 height=100 />
}
Run Code Online (Sandbox Code Playgroud)
当您运行此页面时,您将看到页面上出现20个IFRAME,每个IFRAME都有一个数字.我在这里所做的就是创建一个页面,在幕后加载20多页.在继续之前,请注意这20页加载的速度(刷新页面几次以重复加载).
接下来转到你的Global.asax.cs并添加这个方法(是的,方法体是空的):
protected void Session_Start()
{
}
Run Code Online (Sandbox Code Playgroud)
现在再次运行该页面.这次你会注意到20个IFRAME的加载速度要慢得多,一个接一个地大约相隔1秒.这很奇怪,因为我们实际上并没有在Session_Start中做任何事情......它只是一个空方法.但这似乎足以导致所有后续页面的减速.
有谁知道为什么会这样,更好的是有人有修复/解决方法吗?
更新
我发现只有在附加调试器(使用F5运行)时才会出现此行为.如果你在没有连接调试器的情况下运行它(Ctrl-F5),那么它似乎没问题.所以,也许这不是一个重大问题,但它仍然很奇怪.
我需要帮助我正在制作的应用程序.这是一个响应命令行参数的简单程序.如果第一次调用该应用程序,它将在另一个专用于它的线程上作为管道服务器(阻塞,非重叠)启动,而主线程执行其他操作.现在,用户仍然可以使用相同的应用程序可执行文件和命令行参数调用应用程序,但由于它不是应用程序的第一个实例,因此它使用管道将命令行参数传递给第一个实例,然后杀死自身.所以,它就像一个模式术语中的单例过程.
理想情况下,应该是这样的:
app.exe "first" // starts app.exe as a pipe server and prints "first"
app.exe "second" // client process causes server instance to print "second"
app.exe "third" // client process causes server instance to print "third"
app.exe "fourth" // client process causes server instance to print "fourth"
app.exe "fifth" // client process causes server instance to print "fifth"
app.exe -quit // client process causes server instance to terminate.
Run Code Online (Sandbox Code Playgroud)
现在,我唯一的问题是,当我执行上述操作时会发生这种情况:
app.exe "first" // starts app.exe as a pipe server and prints …Run Code Online (Sandbox Code Playgroud) 我使用下面的代码渲染透明图标:
private void button1_Click(object sender, EventArgs e)
{
// using LoadCursorFromFile from user32.dll
var cursor = NativeMethods.LoadCustomCursor(@"d:\Temp\Cursors\Cursors\aero_busy.ani");
// cursor -> bitmap
Bitmap bitmap = new Bitmap(48, 48, PixelFormat.Format32bppArgb);
Graphics gBitmap = Graphics.FromImage(bitmap);
cursor.DrawStretched(gBitmap, new Rectangle(0, 0, 32, 32));
// 1. Draw bitmap on a form canvas
Graphics gForm = Graphics.FromHwnd(this.Handle);
gForm.DrawImage(bitmap, 50, 50);
// 2. Draw cursor directly to a form canvas
cursor.Draw(gForm, new Rectangle(100, 50, 32, 32));
cursor.Dispose();
}
Run Code Online (Sandbox Code Playgroud)
不幸的是我无法将透明光标渲染到位图!当我将Cursor直接绘制到窗体画布时,它可以工作,但是当我将Cursor绘制到位图时会出现问题.任何建议都非常感谢.
