我使用hibernate作为我的ORM解决方案,使用EHCache作为二级(读写)缓存.
我的问题是:是否可以直接访问二级缓存?
我想访问这个:http://www.hibernate.org/hib_docs/v3/api/org/hibernate/cache/ReadWriteCache.html
如何访问Hibernate正在使用的相同ReadWriteCache?
我有一些我正在做的直接/自定义JDBC插入,我想自己将这些对象添加到二级缓存中.
我正在寻找一个光荣的报告工具.我知道光荣是一个主观的术语,但......这是我的愿望:
这听起来很像枢轴表,除了那些对于这种环境来说太复杂了.
这样的工具是否存在,或者我注定要花费其余的公司编程生涯来编写一份报告?
我已经尝试了所有存在的Python Web框架,我花了很长时间才意识到没有一个银弹框架,每个框架都有自己的优点和缺点.我开始使用Snakelets并且非常高兴能够在较低的水平上控制几乎所有东西而不用大惊小怪,但后来我发现了TurboGears并且我一直在使用它(1.x).像Catwalk和Web控制台这样的工具对我来说非常宝贵.
但是随着TurboGears 2的出现带来了WSGI的支持,在阅读了Django和WSGI阵营之间的宗教辩论之后,我真的在"以正确的方式做到"之间徘徊,例如,学习WSGI,花费宝贵的时间来编写功能已经存在于Django和其他全栈框架中,而不是使用Django或一些为我做任何事情的高级框架.我能看到的后者的缺点非常明显:
所以,我想我的问题是,这是更好的选择,还是仅仅是一个意见问题,如果它以最小的麻烦实现我想要的东西(我希望身份验证和CRUD接口,我应该使用Django)我的数据库)?我尝试过Werkzeug,Glashammer和朋友,但AuthKit和Repoze让我害怕,以及设置基本身份验证所涉及的步骤数量.我查看了Pylons,但文档似乎缺乏,并且在引用诸如身份验证或CRUD界面之类的简单功能时,各种wiki页面和文档似乎相互矛盾,对于版本等具有不同的hacks.
感谢S. Lott指出我不够清楚.我的问题是:从长远来看,下列哪一项是值得的,但在短期内并不痛苦(例如某种中间地带,任何人?) - 学习WSGI,或坚持使用"电池包含"框架?如果是后者,我会赞赏一个关于我是否应该再给Django一次尝试,坚持使用TurboGears 1.x,或冒险进入其他框架的建议.
此外,我尝试过CherryPy,但似乎找不到足够好的CRUD应用程序,我可以立即使用它.
好吧,我试图购买不应该使用html表的想法,而div应该是.但是,我经常使用类似于以下内容的代码
<table>
<tr>
<td>First Name:</td>
<td colspan="2"><input id="txtFirstName"/></td>
</tr>
<tr>
<td>Last Name:</td>
<td colspan="2"><input type="text" id="txtLastName"/></td>
</tr>
<tr>
<td>Address:</td>
<td>
<select type="text" id="ddlState">
<option value="NY">NY</option>
<option value="CA">CA</option>
</select>
</td>
<td>
<select type="text" id="ddlCountry">
<option value="NY">USA</option>
<option value="CA">CAN</option>
</select>
</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我希望标签对齐,我希望控件对齐.如果不使用表格,我该怎么做?
我用C++编程了一段时间,我使用了两种方法:
class Stuff {
public:
Stuff( int nr ) : n( nr ) { }
private:
int n;
}
Run Code Online (Sandbox Code Playgroud)
要么
class Stuff {
public:
Stuff( int nr ) {
n = nr;
}
private:
int n;
}
Run Code Online (Sandbox Code Playgroud)
注意:这与此不同,相似但不相同.
什么是最佳做法?
我有一些图像处理代码循环通过2个多维字节数组(相同大小).它从源数组中获取一个值,对其执行计算,然后将结果存储在另一个数组中.
int xSize = ResultImageData.GetLength(0);
int ySize = ResultImageData.GetLength(1);
for (int x = 0; x < xSize; x++)
{
for (int y = 0; y < ySize; y++)
{
ResultImageData[x, y] = (byte)((CurrentImageData[x, y] * AlphaValue) +
(AlphaImageData[x, y] * OneMinusAlphaValue));
}
}
Run Code Online (Sandbox Code Playgroud)
循环当前需要~11ms,我假设主要是因为访问字节数组值,因为计算非常简单(2次乘法和1次加法).
有什么办法可以加快速度吗?它是我的程序的一个时间关键部分,这个代码每秒被调用80-100次,所以任何速度增加,无论多小,都会产生影响.此刻xSize = 768和ySize = 576,但这将在未来增加.
更新:感谢Guffa(请参阅下面的答案),以下代码为每个循环节省了4-5ms.虽然它是不安全的代码.
int size = ResultImageData.Length;
int counter = 0;
unsafe
{
fixed (byte* r = ResultImageData, c = CurrentImageData, a = AlphaImageData)
{
while (size > …Run Code Online (Sandbox Code Playgroud) 背景:
我试图使用nHibernate时遇到映射失败.该应用程序由几个程序集组成.其中一个程序集是一个有用的例程库,另一个是使用该库的应用程序代码.库程序集将自身添加到nHibernate配置中,但由于它不了解其他程序集,因此不会添加它们.我的xml映射文件位于应用程序程序集中.我认为它没有找到它,因为它没有查看应用程序集.
问题: 您是否可以映射到任意程序集中的类而不将其添加到配置中?
如果没有,您可以在运行时添加映射吗?
谢谢
ps我确实确保映射文件被标记为嵌入式资源
更新 - 2009年4月3日
我更改了底层库以允许在初始化时添加程序集.这似乎很有效.
如果存在差异,则执行以下演员的两种方式之间有什么区别?
在这种情况下e是一个GridViewRowEventArgs对象.
GridView gv = (GridView)e.Row.FindControl("gv"); //first way
GridView gv2 = e.Row.FindControl("gv") as GridView; //second way
Run Code Online (Sandbox Code Playgroud) 我有一个带有状态列的ActiveRecord模型.当模型以状态更改保存时,我需要写入历史文件,更改状态以及由谁负责更改.我认为after_save回调会很好用,但我不能使用status_changed?用于确定执行历史写入的动态方法.如果模型已保存但状态未更改,我不想写入历史记录.我现在处理它的唯一想法是使用实例变量标志来确定after_save是否应该执行.有任何想法吗?
我有一个单元定义TBla和初始化部分中的以下代码:
initialization
RegisterClass(TBla);
showMessage('registered');
Run Code Online (Sandbox Code Playgroud)
这个单元在一个包内.好.
在按钮上单击我的应用程序,我有以下代码:
LoadPackage('C:\temp\testes_packs\pack1\Package1.bpl');
pc := GetClass('TBla');
if pc = nil then
ShowMessage('didnt work');
Run Code Online (Sandbox Code Playgroud)
当我点击按钮时,会显示"已注册"消息.但是,'没有工作'也显示出来.这表示初始化被调用但由于某种原因寄存器类不起作用.
好的,为了证明LoadPackage是问题,我将我的单元(包含TBla类)直接包含在我的项目中并删除了loadPackage行,并且tada显示了'registered'消息并且getClass正常工作.
有任何想法吗?
c# ×2
.net ×1
activerecord ×1
c++ ×1
caching ×1
callback ×1
css ×1
database ×1
delphi ×1
delphi-7 ×1
django ×1
ehcache ×1
hibernate ×1
html ×1
html-table ×1
java ×1
java-ee ×1
nhibernate ×1
optimization ×1
python ×1
report ×1
reporting ×1
turbogears ×1
wizard ×1
wsgi ×1