我的目标
我想让浏览器缓存我的整个网站,但只在我更改了一个或多个文件时才下载静态内容.
我的情况
经过一些研究,我找到了一种方法.这是添加Far Future Expires Header到我的htaccess文件并使用该filemtime()函数向我的文件添加查询字符串.
问题
当我点击地址栏并在firefox中输入我的网站地址时,Firebug会显示38.3 KB (36.4 KB from cache)
当我在firefox中按F5时,Firebug会显示:241.1 KB (10.9 KB from cache)
现在我尝试对谷歌做同样的事情,他们正在发回HTTP标题304.我已经阅读了很多关于ETag和Last Modified标题的内容,但我听到很多人都说他们并不是真的可靠.
我的问题
如果我想用我的静态内容发送HTTP标头304,如果用户按下F5,如谷歌,那么最佳解决方案是什么?
我问这个问题是因为我经常访问一个网站并使用F5查看是否有新的信息.不要重新加载图像等.
更新
似乎Firefox正在控制缓存的使用方式,我也想在用户按下F5时使用缓存.
我有一个表单,page1.php其中指向page2.php从表单中的数据page1.php插入数据库的位置.成功插入后,page2.php显示一条消息并提供转到第三页的链接.
问题是当插入后的用户点击浏览器的后退按钮并单击表单提交按钮时,再次插入.
是否有任何方法可以在按下后退按钮一次插入后显示一条消息,表明不允许访问后退按钮?或者如果允许,点击表单提交按钮时不会插入?
编辑稍后添加此部分:
哦,让我详细说说.这是一个管理员后端.管理员为不同的产品提供描述文本输入.他给出了page1.php的输入,并且在page2.php上显示了消息,说明已经插入到db中.然后信息下方还有另一个表格.它只是询问管理员是否希望用描述文本做更多的事情.如果是的话,那么点击表单提交按钮,他就会被带到一个页面,从那里,他再次被带到page1.php(这次是另一个产品),从那里到page2.php等等.顺便说一句,我可以使用普通页面链接而不是page2.php上消息下面的表单按钮链接
问题是,当管理员在page2.php上并点击后退按钮时,他会回到page1.php,如果他点击表单提交按钮,那么数据将在新行中第二次插入.
你可能会建议在'INSERT'命令中使用'IGNORE',但是行中还有其他列可能与另一列的列不匹配,而描述列(admin插入此列的文本数据)可能会匹配.
1)在这种情况下是否适用?
2)如果网站数据库允许重复输入,应该是什么解决方案?
谢谢
希望它能让事情变得清晰.
我正在对我之前从文件中读取的矩阵执行模板计算.我使用两种不同的矩阵(NonZero类型和Zero类型).两种类型共享边界的值(通常为1000),而其余元素对于零类型为0,对于NonZero类型为1.
代码将文件的矩阵存储在两个相同大小的分配矩阵中.然后,它使用自己的值和邻居值(添加x 4和mul x 1)在一个矩阵的每个元素中执行操作,并将结果存储在第二个矩阵中.一旦计算完成,交换矩阵的指针并且执行相同的操作有限次数.这里有核心代码:
#define GET(I,J) rMat[(I)*cols + (J)]
#define PUT(I,J) wMat[(I)*cols + (J)]
for (cur_time=0; cur_time<timeSteps; cur_time++) {
for (i=1; i<rows-1; i++) {
for (j=1; j<cols-1; j++) {
PUT(i,j) = 0.2f*(GET(i-1,j) + GET(i,j-1) + GET(i,j) + GET(i,j+1) + GET(i+1,j));
}
}
// Change pointers for next iteration
auxP = wMat;
wMat = rMat;
rMat = auxP;
}
Run Code Online (Sandbox Code Playgroud)
我暴露的情况使用固定量的500个timeSteps(外部迭代)和8192行和8192列的矩阵大小,但是在更改timeSteps或矩阵大小的数量时问题仍然存在.请注意,我只测量算法的这个具体部分的时间,因此从文件读取矩阵或其他任何因素都会影响时间度量.
它发生了什么,取决于我使用哪种类型的矩阵,我得到不同的时间,使用Zero类型时获得更差的性能(每隔一个矩阵执行与NonZero类型相同,因为我已经尝试生成一个充满随机的矩阵值).
我确定它是乘法运算,就像我删除它并只留下添加,它们执行相同的操作.注意,对于零矩阵类型,大多数类型的和的结果将为0,因此操作将为"0.2*0".
这种行为对我来说当然很奇怪,因为我认为浮点运算独立于操作数的值,这看起来不像这里的情况.我也尝试捕获并显示SIGFPE异常以防出现问题,但我没有得到任何结果.
如果有帮助,我使用的是Intel Nehalem处理器和gcc 4.4.3.
使用Python v2,我让用户在字符串中输入金额,如下所示:
RawPurchaseAmount = raw_input("Please enter purchase amount: ")
PurchaseAmount = float(RawPurchaseAmount.strip().lstrip("$"))
Run Code Online (Sandbox Code Playgroud)
这将删除输入前面的任何空白区域,如果输入了$符号,则删除$符号.
如果输入逗号符号,有没有办法删除它?IE:$ 10,000.00变为10000.00
谢谢你的帮助.
我正在尝试构建一个应用程序,用于从手机上的加速度计读取值,该应用程序仅支持Android 2.1.
如何使用兼容2.1的代码读取加速度计?
创建第一个用户后(在我的情况下,用户名为"root",密码为"root"),对于任何onvif请求,AXIS P3301(固件5.11.2)都会返回NotAuthorized soap fault:
<SOAP-ENV:Fault
SOAP-ENV:encodingStyle="http://www.w3.org/2003/05/soap-encoding"
xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope">
<SOAP-ENV:Code>
<SOAP-ENV:Value>SOAP-ENV:Sender</SOAP-ENV:Value>
<SOAP-ENV:Subcode>
<SOAP-ENV:Value>ter:NotAuthorized</SOAP-ENV:Value>
</SOAP-ENV:Subcode>
</SOAP-ENV:Code>
<SOAP-ENV:Reason>
<SOAP-ENV:Text xml:lang="en">Sender not authorized</SOAP-ENV:Text>
</SOAP-ENV:Reason>
<SOAP-ENV:Detail>
The action requested requires authorization and the sender is not authorized
</SOAP-ENV:Detail>
</SOAP-ENV:Fault>
Run Code Online (Sandbox Code Playgroud)
根据ONVIF规范1.02,我使用用户名令牌配置文件 进行身份验证,详见http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0 .pdf.
下面是我用来形成soap请求的脚本:
xquery version "1.0";
declare copy-namespaces no-preserve, inherit;
<s:Envelope
xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
xmlns:s="http://www.w3.org/2003/05/soap-envelope">
<s:Header>
<o:Security
s:mustUnderstand="true"
xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<o:UsernameToken u:Id="UsernameToken-3ae8d972-d014-47b0-858b-2364f6119763">
<o:Username>{model/userName/text()}</o:Username>
<o:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">
{model/passwordDigest/text()}
</o:Password>
<o:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">
{model/nonce/text()}
</o:Nonce>
<u:Created>{model/created/text()}</u:Created>
</o:UsernameToken>
</o:Security>
</s:Header>
<s:Body>
<tds:GetDeviceInformation xmlns:tds="http://www.onvif.org/ver10/device/wsdl" />
</s:Body>
</s:Envelope>
Run Code Online (Sandbox Code Playgroud)
这是我发送请求的代码:
static …Run Code Online (Sandbox Code Playgroud) 我是NHibernate的新手所以到目前为止对映射等的接触有限,而且我刚刚遇到了一个我需要一些帮助的场景.
我有2张桌子:
评论TaggedReviews
我有2个看起来像这样的类(为简洁起见,我排除了非重要属性):
public virtual int ReviewId { get; set; }
public virtual TaggedReview TaggedReview { get; set; }
public virtual string Title { get; set; }
public virtual string Descrip { get; set; }
Run Code Online (Sandbox Code Playgroud)
public virtual int ReviewId { get; set; }
public virtual Review Review { get; set; }
public virtual string TaggedReviewDescrip { get; set; }
Run Code Online (Sandbox Code Playgroud)
我的NHibernate这些表/类的XML映射文件目前如下(为简洁起见编辑):
<class xmlns="urn:nhibernate-mapping-2.2" name="Review" table="Reviews">
<id name="ReviewId" unsaved-value="0">
<column name="ReviewId"></column>
<generator class="native" />
</id>
<property name="Title" not-null="true" …Run Code Online (Sandbox Code Playgroud) 我有一个.y4m视频文件,我想用FFmpeg将其转换为.mp4.问题是我想要某种GOP,这个:IBBPBBPBBPBB.但是,当我将GOP大小设置为12(-g 12)时,我得到的是IPPPPPPPPPPP.我也试过使用该-bf 8选项,但我得到的结果就像IPBBB ......而且视频播放不正确.
你能告诉我如何IBBPBBPBBPBB使用FFmpeg 获得准确的GOP吗?
谢谢你的帮助
LoginAction.java的源代码
package com.test;
import java.util.ArrayList;
import java.util.List;
public class LoginAction {
private List list;
public void setList(List list) {
this.list = list;
}
public List getList() {
return list;
}
public String execute() {
list = new ArrayList();
list.add(new Questions("Pet Name", "Junk"));
list.add(new Questions("Nick Name", "Bunk"));
list.add(new Questions("Real Name", "Hunk"));
return "SUCCESS";
}
}
Run Code Online (Sandbox Code Playgroud)
来源代码问题.java
package com.test;
public class Questions {
private String question;
private String answer;
public Questions(String question, String answer) {
// TODO Auto-generated constructor stub
this.question = …Run Code Online (Sandbox Code Playgroud)