我正在尝试在Google App Engine页面中设置Cookie:
self.response.headers.add_header('Set-Cookie','CookieName=1234; expires:Sun, 31-May-2009 23:59:59 GMT; path=/;')
Run Code Online (Sandbox Code Playgroud)
到期日期未显示在浏览器中.所以它会在会话结束时删除自己.
这是curl -D的输出:
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Cache-Control: no-cache
Set-Cookie: CookieName=1234; expires:Fri, 01 Jan 2010 11:48:41 GMT
Date: Fri, 08 May 2009 11:57:25 GMT
Server: Google Frontend
Expires: Fri, 08 May 2009 11:57:25 GMT
Transfer-Encoding: chunked
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
我试图将文本放在一个元素中,我只想获取文本,如果它在一个placehoder div的第一个孩子里面,或者如果没有childrent,那里面只有文本.
所以这两种情况是:
<div id="wrap">text1</div>
Run Code Online (Sandbox Code Playgroud)
和
<div id="wrap"><b>text1</b><b>text2</b></div>
Run Code Online (Sandbox Code Playgroud)
因此,在这两种情况下,我想回来,"text1"
我知道如何使用2个不同的查询,但我试图将它们合二为一
$("#wrap :first-child").text()
$("#wrap").text()
Run Code Online (Sandbox Code Playgroud) 我有一个标准的文本框,我在页面上有jQuery.我想在用户在文本框中键入空格时执行操作.但是,我不确定如何做到这一点.
请有人帮我一把吗?
好吧,我已经在网上搜索了一下并发现了这个帖子,但它对我来说还是不太清楚.
前控制器模式和外墙模式之间究竟有什么区别?
据我所知到目前为止:Façade模式不包含任何业务逻辑,只是集中访问多个对象.
前端控制器执行相同的操作,但可能包含业务逻辑,以便根据输入数据等方式调用所调用的内容.
要理解这一点,以下简单的伪代码片段是否意味着drawLine是一个Façade来简化将坐标转换为点然后实现实际完成工作的draw方法?
private void drawLine(Int32 StartX, Int32 StartY, Int32 EndX, Int32 EndY)
{
Point Start = new Point(StartX, StartY);
Point End = new Point(EndX, EndY);
Draw(Start, End);
}
Run Code Online (Sandbox Code Playgroud)
Façade可以调用应用程序的较低层,还是仅仅集中访问同一层上的许多组件?
据我了解,前端控制器协调完整的函数调用过程.
示例:Front控制器将检查数据,然后决定要采取的操作.然后,它将为每个后续调用较低级别的类编译数据,直到它到达可以提供给调用系统的合适响应.
我认为我对外墙模式的理解是错误的或过于简单化.如果我错了,请纠正我.
如果我对此的理解是正确的,那么将应用程序外观更改为Microsoft应用程序架构指南2.0中的前端控制器会更有意义吗?我在第18章中特别关注服务架构.(虽然我有Beta 2版本)
更新:感谢Rune的响应.为什么说将Facade更改为Front控制器是不正确的?我是Front-controller的忠实粉丝,因为它可以让所有低级别的东西更加受控制.因此,虽然它可能没有更多的意义,但这样做是否完全错误?如果是:为什么?
每当新开发人员加入团队或计算机时,开发人员都在使用更改,开发人员需要做大量工作来设置本地开发环境以使当前项目正常工作.作为一个SCRUM团队,我们正在尝试自动化所有内容,包括部署和测试,所以我要问的是:是否有工具或实践使本地开发环境设置自动化?
例如,为了设置我的环境,首先我必须安装eclipse,然后安装SVN,Apache,Tomcat,MySQL,PHP.之后我填充了数据库,我不得不对各种配置文件进行微小的改动等等......有没有办法将这种劳动减少到一键?
Ruby中一个简单的wordcount reducer看起来像这样:
#!/usr/bin/env ruby
wordcount = Hash.new
STDIN.each_line do |line|
keyval = line.split("|")
wordcount[keyval[0]] = wordcount[keyval[0]].to_i+keyval[1].to_i
end
wordcount.each_pair do |word,count|
puts "#{word}|#{count}"
end
Run Code Online (Sandbox Code Playgroud)
它在STDIN中获得所有映射器的中间值.不是来自特定的密钥.所以实际上只有一个减速器(而不是每个单词或每组单词的减速器).
但是,在Java示例中,我看到这个接口获取了一个键和值列表inout.这意味着在缩减和缩减器可以并行运行之前,按键对中间映射值进行分组:
public static class Reduce extends MapReduceBase implements Reducer<Text, IntWritable, Text, IntWritable> {
public void reduce(Text key, Iterator<IntWritable> values, OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException {
int sum = 0;
while (values.hasNext()) {
sum += values.next().get();
}
output.collect(key, new IntWritable(sum));
}
}
Run Code Online (Sandbox Code Playgroud)
这是Java唯一的功能吗?或者我可以使用Ruby使用Hadoop Streaming吗?
您可以找到在Static类上使用Singleton的众多原因.但肯定会有一些情况,在Singleton之前使用静态类会更好.这些是什么?
你能告诉我:我可以使用twisted来创建p2p应用程序吗?我应该选择哪种协议?
根据这里,C编译器将在将结构写入二进制文件时填充值.正如链接中的示例所示,在编写这样的结构时:
struct {
char c;
int i;
} a;
Run Code Online (Sandbox Code Playgroud)
对于二进制文件,编译器通常会在char和int字段之间留下未命名的未使用的孔,以确保int字段正确对齐.
我怎样才能使用不同的语言(在我的例子中,Java)创建二进制输出文件(在C中生成)的精确副本?
是否有自动方式在Java输出中应用C填充?或者我是否必须通过编译器文档来了解它是如何工作的(顺便说一句,编译器是g ++).
我有这个代码用于对webservice执行ajax请求:
var MyCode = {
req: new XMLHttpRequest(), // firefox only at the moment
service_url: "http://url/to/Service.asmx",
sayhello: function() {
if (this.req.readyState == 4 || this.req.readyState == 0) {
this.req.open("POST", this.service_url + '/HelloWorld', true);
this.req.setRequestHeader('Content-Type','application/json; charset=utf-8');
this.req.onreadystatechange = this.handleReceive;
var param = '{}';
this.req.send(param);
}
},
handleReceive: function() {
if (this.req.readyState == 4) {
// todo: using eval for json is dangerous
var response = eval("(" + this.req.responseText + ")");
alert(response);
}
}
}
Run Code Online (Sandbox Code Playgroud)
它当然是用MyCode.sayhello()调用的.
它的问题是handleReceive函数的第一行"req未定义".它确实被调用了4次,所以我知道上面的代码将请求发送到服务器.
我怎么解决这个问题?