我的控制器中有一个方法,它使用send_data,如下所示:
def show
expires_in 10.hours, :public => true
send_data my_image_generator, :filename => "image.gif", :type => "image/gif"
end
Run Code Online (Sandbox Code Playgroud)
使用expires_in会导致标头像这样发送:
HTTP/1.1 200 OK
Connection: close
Date: Fri, 25 Jun 2010 10:41:22 GMT
ETag: "885d75258e9306c46a5dbfe3de44e581"
Content-Transfer-Encoding: binary
X-Runtime: 143
Content-Type: image/gif
Content-Disposition: inline; filename="image.gif"
Content-Length: 1277
Cache-Control: max-age=36000, public
Run Code Online (Sandbox Code Playgroud)
我想做的是添加一个标题,Expires: (some exact date)以防止用户代理重新验证.但我不知道如何让send_data设置那个标题?
我想我可以在response.headers哈希中明确地设置它,但肯定必须有一个包装器(或其他东西)?
嗨,我需要在jsf中实现一个无序列表 - 只是想知道我是否必须为此创建自定义标记?我尝试过使用<ul>但它目前正在jsf组件树之外.干杯
我正在使用大尺寸图像(例如16000x9440像素)并剪切一些区域以用于其他事物.我在创建一个新的Bitmap实例时遇到异常"Out of memory":
using (FileStream fileStream = new FileStream(mapFileResized, FileMode.Open))
{
byte[] data = new byte[fileStream.Length];
fileStream.Read(data, 0, data.Length);
using (MemoryStream memoryStream = new MemoryStream(data))
{
using (Bitmap src = new Bitmap(memoryStream)) // <-- exception
{
tile = new Bitmap(tileWidth, tileHeight, PixelFormat.Format24bppRgb);
tile.SetResolution(src.HorizontalResolution, src.VerticalResolution);
tile.MakeTransparent();
using (Graphics grRect = Graphics.FromImage(tile))
{
grRect.CompositingQuality = CompositingQuality.HighQuality;
grRect.SmoothingMode = SmoothingMode.HighQuality;
grRect.DrawImage(
src,
new RectangleF(0, 0, tileWidth, tileHeight),
rTile,
GraphicsUnit.Pixel
);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我使用小图像尺寸(例如8000x4720像素)时,一切正常.
我如何处理大尺寸图像?
PS tile位图在finally块中处理.
最好的问候,Alex.
这编译:
class ReplicatedBaseType
{
}
class NewType: ReplicatedBaseType
{
}
class Document
{
ReplicatedBaseType BaseObject;
Document()
{
BaseObject = new NewType();
}
}
Run Code Online (Sandbox Code Playgroud)
但这不是:
class DalBase<T> : where T: ReplicatedBaseType
{
}
class DocumentTemplate
{
DalBase<ReplicatedBaseType> BaseCollection;
DocumentTemplate ()
{
BaseCollection= new DalBase<NewType>(); // Error in this line. It seems this is not possible
}
}
Run Code Online (Sandbox Code Playgroud)
什么原因?
存储过程和函数之间有什么区别.
每当有更多输入时,输出参数就会用于存储过程.如果它只是一个我会去功能.
除此之外,如果我使用更多存储过程,是否存在任何性能问题?我很担心,因为我的项目中有近50个存储过程.
它们在概念上有何不同.
提前致谢!
编辑: -
当我在存储过程和函数中执行计算时,我发现在存储过程中它需要0.15秒,而在函数中需要0.45秒.
令人惊讶的是,功能比存储过程花费更多时间.可能功能是值得的可重用性.
内联函数的执行速度比执行程序快.我认为,这是因为多选功能不能使用statastics,这会降低它们的速度,但内联表值函数可以使用统计信息.
我见过很多Android答案,建议在某些情况下调用垃圾收集器.
在进行需要大量内存的操作之前,在Android中请求垃圾收集器是一个好习惯吗?如果没有,如果我收到OutOfMemory错误,我应该只调用它吗?
在使用垃圾收集器之前还有其他我应该使用的东西吗?
我一直在阅读Effective Java,我对第一个项目"使用静态工厂方法而不是构造函数"与TDD和依赖注入有关.
该项目表示您应该避免使用public/protected/default构造函数并使用静态工厂公开它.我同意与使用静态工厂相关的所有优点,例如工厂可以有名称,你可以返回子类型,你可以减少冗长等等.但是,我认为缺点是约书亚错过了TDD,因为你的代码中有静态工厂将导致紧密耦合和你不能用它来模拟这个类.我们将无法模拟将拥有静态工厂的类.因此,它阻碍了测试驱动的开发.
第二点,我认为他错过了在今天的企业开发中大多数应用程序使用一个或另一个依赖注入容器.所以,当我们可以使用DI注入依赖项时,为什么要使用它呢?
请解释它如何应用于今天的Java企业开发,包括DI和TDD.
虽然在Eclipse中安装了DDMS插件(通过检查已安装的插件进行验证),但它没有显示在Perspective中(它只显示JAVA和DEBUG).对此的任何帮助都会很棒.谢谢,animesh
我想在sqlight db b中写这行:
CREATE TABLE "android_metadata" ("locale" TEXT DEFAULT 'en_US')
Run Code Online (Sandbox Code Playgroud)
因此,在我生成此数据库的java文件中,我正在做:
stat.executeUpdate("create table "+"android_metadata"+"("+"locale"+ " TEXT DEAFULT"+");");
PreparedStatement prep1 = conn.prepareStatement(
"insert into "+"android_metadata"+" values (?);");
prep1.setString(1, "en_US") ;
Run Code Online (Sandbox Code Playgroud)
但是输出不是similer如何使sqlight语言环境在声明中使用""作为"locale",而字段语言环境只是TEXT
作为此博客的模拟开始:http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/
THANX
我和一位同事发生争执,但找不到证据来证明我们中的任何一方是正确的.我之前看过给定标签的有效元素列表,但是再也找不到了.有人能指出我正确的方向吗?
我对XHTML感到好奇,但是对于DIV标签在HTML 4.01中的TD标签内是否有效存在分歧.