小编Mar*_*ark的帖子

我可以从WinDbg运行.NET垃圾回收吗?

我正在研究为什么托管进程使用大量内存.有没有办法GC.Collect(3)从WinDbg 运行,以便我可以专注于实际的内存分配?

memory clr garbage-collection windbg sos

15
推荐指数
1
解决办法
5274
查看次数

跨窗口Javascript:有正确的方法吗?

问题

我正在尝试创建一个方法,将对象传递给弹出窗口中的类似方法.我无法控制目标方法中的代码或传入的对象.目标方法当前使用JSON.stringify可能的方式序列化对象,或者instanceof Array.

第一个问题是IE8中的一个错误(见下文).第二个,更基本的是,原语在不同窗口中是不一样的:

w = open("http://google.com")
w.Array == Array               // returns false
Run Code Online (Sandbox Code Playgroud)

在弹出窗口上覆盖可能传入的任何类,然后在调用之后恢复它们,但它确实很脆弱并且是一个维护问题.

将对象序列化为JSON,然后在窗口的上下文中解析它会触及下面的Firefox错误.

我也有点厌恶做对象的深层复制或使用new w.Object等解析JSON ,因为它不觉得它应该那么复杂.

任何人都可以提出一个明智的方法来处理这个问题,或者我应该接受这些对象不能在Windows之间逐字传递?


IE错误

JSON.stringify在IE8中不能跨窗口工作.如果我将一个对象传递给弹出窗口,它会尝试序列化它,则stringify返回undefined.要查看此问题,请在IE8中打开脚本控制台并尝试:

w = open("http://google.com")
JSON.stringify(Object())          // returns "{}"
w.JSON.stringify(w.Object())      // returns "{}"

w.JSON.stringify(Object())        // returns "undefined" on IE8
JSON.stringify(w.Object())        // returns "undefined" on IE8
JSON.stringify([1, w.Object()])   // returns "[1,null]" on IE8
Run Code Online (Sandbox Code Playgroud)

我尝试通过设置来解决这个问题w.JSON = JSON,但是正如最后一个测试所示,当你从两个窗口获得对象时会中断.

Firefox bug

似乎w.Object()在Firefox中调用创建对象实际上是调用window.Object().调用w.JSON.parse或时会遇到同样的错误w.eval.要看到这一点,打开Firebug的控制台并尝试:

w = open("http://google.com")
new …
Run Code Online (Sandbox Code Playgroud)

javascript firefox serialization popup internet-explorer-8

8
推荐指数
1
解决办法
1832
查看次数

可接受的CSS黑客/修复

是否有一个'好'干净的CSS黑客列表,这肯定是面向未来的?

例如,zoom:1安全,只要它只提供给IE,你就会记得它在那里.使用子选择器的常见黑客并不安全,因为IE7支持它们.使用height:1%只是感觉很脏(但可能只是我).

我知道ie7-js,所以IE6的bug不用担心我.此外,我不是在寻找宗教辩论,只是消息来源.


感谢回复 - 我选择了最好的来源作为回答.

还要感谢使用单独的CSS文件的建议,或者不要担心它.我完全同意你的看法,对我来说,这些都是给予的.但是当遇到布局问题时,我想要一个安全的解决方案,这将最大程度地降低我在IE或$ FF + 1中重新审视问题的风险.抱歉,我没有说清楚.

css shim css-hack

7
推荐指数
1
解决办法
1823
查看次数

教数据库设计的好例子

有没有人有任何教学关系数据库和SQL的好方案?我可以找到的所有示例都是微不足道的或具有不可能的域约束(如全名是唯一的).

我特别想找到一些标准化的好例子:不能立即适合3NF和BCNF的表格.目前我正在为每个级别使用不同的问题.

当然,我也喜欢设计糟糕的数据库的好例子,但是在掌握了基础知识之前,它会有点分散注意力.


谢谢,一些很好的例子.我已经将学生/班级标记为答案,因为我认为这是迄今为止最好的,但如果有人想要贡献更多,请做.

database-design scenarios normalization

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

为什么memory_order_relaxed和memory_order_seq_cst没有区别?

我正在使用C++ Concurrency in Action中的一个示例,它std::memory_order_relaxed用于从5个不同的线程读取和写入3个原子变量.示例程序如下:

#include <thread>
#include <atomic>
#include <iostream>

std::atomic<int> x(0);
std::atomic<int> y(0);
std::atomic<int> z(0);
std::atomic<bool> go(false);

const unsigned int loop_count = 10;

struct read_values
{
   int x;
   int y;
   int z;
};

read_values values1[loop_count];
read_values values2[loop_count];
read_values values3[loop_count];
read_values values4[loop_count];
read_values values5[loop_count];

void increment( std::atomic<int>* v, read_values* values )
{
    while (!go)
       std::this_thread::yield();

    for (unsigned i=0;i<loop_count;++i)
    {
       values[i].x=x.load( std::memory_order_relaxed );
       values[i].y=y.load( std::memory_order_relaxed );
       values[i].z=z.load( std::memory_order_relaxed );
       v->store( i+1, std::memory_order_relaxed );
       std::this_thread::yield();
    }
}

void read_vals( read_values* …
Run Code Online (Sandbox Code Playgroud)

c++ concurrency atomic c++11

4
推荐指数
1
解决办法
1463
查看次数

插入多对多记录时,sqlalchemy UnmappedColumnError

我在 Flask-sqlalchemy 模型中定义了以下多对多关系:

\n\n
class Course: \n    ...\n    modules = db.relationship('Module', secondary=course_modules,\n        primaryjoin=(course_modules.c.course_id == id),  \n        secondaryjoin=(course_modules.c.module_id == id),\n        backref=db.backref('courses', lazy='dynamic'), lazy='dynamic') \n
Run Code Online (Sandbox Code Playgroud)\n\n

module_course 表对象定义为:

\n\n
course_modules=db.Table('course_modules',\n    db.Column('course_id', db.Integer, db.ForeignKey('course.id')),\n    db.Column('module_id', db.Integer, db.ForeignKey('module.id'))\n)\n
Run Code Online (Sandbox Code Playgroud)\n\n

当执行以下操作在此表中创建记录时,我收到 sqlalchemy.orm.exc.UnmappedColumnError:

\n\n
module = module_service.get_by_id(1) #\xc2\xa0returns a Module instance\ncourse.modules = [module] #\xc2\xa0course being a Course instance\ncourse.modules.all()\n\nsqlalchemy.orm.exc.UnmappedColumnError: Can't execute sync rule for  \nsource column 'course.id'; mapper 'Mapper|Module|module' does not map \nthis column.  Try using an explicit `foreign_keys` collection which \ndoes not include destination column 'course_modules.module_id' …
Run Code Online (Sandbox Code Playgroud)

python many-to-many sqlalchemy flask-sqlalchemy

4
推荐指数
1
解决办法
2349
查看次数