草庐IT

search-engine-bots

全部标签

google-app-engine - appengine aetest 的不一致行为

我正在尝试测试一个函数,该函数应该从数据存储中获取某种特定类型的所有对象。在测试中,我似乎必须插休眠眠以使查询找到所有已保存的项目。下面的代码是一个可重现的例子。第一个日志跟踪来自sleep行被注释掉的时间,第二个日志跟踪来自sleep未被注释的时间。注意长度:0和长度:3我假设这是一个最终的一致性问题,如果我持久化多个对象并立即查询它们,就会在生产中出现。但在生产中,这些项目在很久以前就被保留了下来。由于这种情况只出现在我的测试中,我是否打算做些什么来强制数据存储区等到它完全保存项目后再继续?我尝试将测试保存包装在事务中,但出现“事务中只允许祖先查询”错误。typeThingstru

google-app-engine - 具有任何过期时间的 Memcache 项目在 Google App Engine 上使用 Go 立即过期

此代码段:err=memcache.JSON.Set(c,&memcache.Item{Key:mkey,Object:&total,Expiration:600,})接着是第二次调用:_,err:=memcache.JSON.Get(c,mkey,&total);...导致缓存未命中。只需将过期值更改为0即可导致缓存命中,但我无法控制项目何时过期。我是不是误读了过期的原理? 最佳答案 自memcache.Item确实使用Time.Duration(纳秒),最好使用秒来指定Expiration字段:time.Second*600内存

google-app-engine - 具有任何过期时间的 Memcache 项目在 Google App Engine 上使用 Go 立即过期

此代码段:err=memcache.JSON.Set(c,&memcache.Item{Key:mkey,Object:&total,Expiration:600,})接着是第二次调用:_,err:=memcache.JSON.Get(c,mkey,&total);...导致缓存未命中。只需将过期值更改为0即可导致缓存命中,但我无法控制项目何时过期。我是不是误读了过期的原理? 最佳答案 自memcache.Item确实使用Time.Duration(纳秒),最好使用秒来指定Expiration字段:time.Second*600内存

search - 包含 slice 的结构集

我正在尝试实现一种玩具搜索算法,并且需要维护一组探索状态。状态是一个结构:typeVWStatestruct{botLocationVWCoordsdirtLocations[]VWCoords}我的第一个想法是可以使用map[VWState]bool来实现一个简单的Set,但我似乎想不出一种方法让它工作。如果我尝试使用VWState作为map的键,我会遇到以下panic:Panic:runtimeerror:hashofunhashabletypevw.VWState(PC=0x40EB0D)有没有办法让它工作?我可以为该结构实现自定义哈希函数,还是应该寻找其他实现方法?如有任何帮助

search - 包含 slice 的结构集

我正在尝试实现一种玩具搜索算法,并且需要维护一组探索状态。状态是一个结构:typeVWStatestruct{botLocationVWCoordsdirtLocations[]VWCoords}我的第一个想法是可以使用map[VWState]bool来实现一个简单的Set,但我似乎想不出一种方法让它工作。如果我尝试使用VWState作为map的键,我会遇到以下panic:Panic:runtimeerror:hashofunhashabletypevw.VWState(PC=0x40EB0D)有没有办法让它工作?我可以为该结构实现自定义哈希函数,还是应该寻找其他实现方法?如有任何帮助

search - 如何通过基本名称(不带扩展名)检查文件是否存在?

问题是不言自明的。谁能告诉我如何通过简短有效的方式按名称(不带扩展名)检查文件是否存在。如果文件夹中有多个同名文件,如果代码返回多次出现,那就太好了。例子:folder/file.htmlfile.md更新:官方文档没有明确说明如何使用filepath.Match()或filepath.Glob()函数之一。所以这里有一些例子:matches,_:=filepath.Glob("./folder/file*")//returnspathstorealfiles[folder/file.html,folder/file.md]matchesToPattern,_:=filepath.Ma

search - 如何通过基本名称(不带扩展名)检查文件是否存在?

问题是不言自明的。谁能告诉我如何通过简短有效的方式按名称(不带扩展名)检查文件是否存在。如果文件夹中有多个同名文件,如果代码返回多次出现,那就太好了。例子:folder/file.htmlfile.md更新:官方文档没有明确说明如何使用filepath.Match()或filepath.Glob()函数之一。所以这里有一些例子:matches,_:=filepath.Glob("./folder/file*")//returnspathstorealfiles[folder/file.html,folder/file.md]matchesToPattern,_:=filepath.Ma

google-app-engine - GAE Go 在注销时执行其他操作

当用户通过user.LogoutURL路径注销GAE应用程序时,我想在他们注销时执行其他操作。如何使用特定的处理程序覆盖它(例如:https://cloud.google.com/appengine/docs/go/users/#Go_User_authentication_in_Go)并仍然执行所需的注销操作?或者我如何检测用户正在注销,然后执行我想要的操作? 最佳答案 您可以做的是创建您自己的注销处理程序,并重定向到user.LogoutURL。funclogoutHandler(whttp.ResponseWriter,r*h

google-app-engine - GAE Go 在注销时执行其他操作

当用户通过user.LogoutURL路径注销GAE应用程序时,我想在他们注销时执行其他操作。如何使用特定的处理程序覆盖它(例如:https://cloud.google.com/appengine/docs/go/users/#Go_User_authentication_in_Go)并仍然执行所需的注销操作?或者我如何检测用户正在注销,然后执行我想要的操作? 最佳答案 您可以做的是创建您自己的注销处理程序,并重定向到user.LogoutURL。funclogoutHandler(whttp.ResponseWriter,r*h

google-app-engine - Golang CSV error bare "in non-quoted-field

直到本周,我才在为我的GAEgolang应用程序解析csv文件时遇到问题(我上周更新到appengine1.9.23)。现在,无论文件内容如何,​​我都会收到此错误:2015/07/0915:25:34http:panic服务127.0.0.1:50352:第1行,第22列:非引用字段中的裸“”即使文件内容不包含任何"字符,也会发生错误。有人知道为什么我的文件无法再被解析吗?有些事情发生了变化,或者我正在做一些super愚蠢的事情。PS使用urlfetch获取csv文件 最佳答案 当我们在CSV文件中有de"(双引号)值时,就会发生