V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  keakon  ›  全部回复第 49 页 / 共 52 页
回复总数  1038
1 ... 41  42  43  44  45  46  47  48  49  50 ... 52  
2010-12-07 01:47:18 +08:00
回复了 monster 创建的主题 Project Babel 链接,图片、视频的识别换成javascript处理如何?
以下言论对事不对人,见谅。

假如我想发一张我的头像,我假设有这4种方案:
http://v2ex.appspot.com/avatar/2704/normal
[img]http://v2ex.appspot.com/avatar/2704/normal[/img]
{{http://v2ex.appspot.com/avatar/2704/normal|我的头像}}
<img src="http://v2ex.appspot.com/avatar/2704/normal" alt="我的头像"/>

第一种服务器不需要做任何处理,JavaScript也完全不知道这个是图像,顶多当成URL来显示

第二和三种,服务器如果不做处理,关闭JavaScript就会看到奇怪的代码。
你说手机模式可以显示原始链接,请问怎么获取原始链接?你得分析这个标签,得判断标签是否嵌套,得考虑标签是否正常关闭了,这工作量和直接在服务器端解析有什么区别?

第四种也好不到哪去,不但要判断关闭什么的,还得判断是否有恶意代码,例如JavaScript事件啊、CSS样式什么的。甚至还有可能写一些未转义的HTML实体。
举个最简单的例子,你认为有多少人知道链接中包含&时,写在src或href属性里时要手动改成&amp;,否则以XHTML输出时浏览器会报解析失败的错误?

就算你对这些都不在乎,网站的管理者还得考虑SEO啊。所有的链接、图像什么的都变成了纯文本,而搜索引擎是不会执行JavaScript把文本转成标签的。
如今HTML元素早已不只是为了表象存在的,它的表意功能才是推崇的,而这种方式就破坏了HTML的语义了。

我知道你们认为JavaScript很牛,什么都能搞定,但是web开发不是那种想当然一拍脑袋就去做的事,有着一大堆烦人的取舍问题。考虑问题不能只想能否做到,还要想是否该这么做,以及是否值得去做。
2010-12-06 22:26:48 +08:00
回复了 monster 创建的主题 Project Babel 链接,图片、视频的识别换成javascript处理如何?
如果浏览器没有启用JavaScript,或者文档还没下载完毕,JavaScript来不及解析时,就会看到一堆标签了…

举例来说,我的手机就不支持JavaScript
2010-12-06 22:24:22 +08:00
回复了 iiduce 创建的主题 分享创造 刚发布了我用django做的站,使用了v2ex的皮
发现我订阅过楼主的博客,支持一下~

第一次访问的时候提示页面不存在,不知道是不是bug
2010-12-06 20:34:02 +08:00
回复了 gully 创建的主题 Google App Engine GAEPhotos V0.3发布了!
读了下源码,看得出要支持8MB其实是很麻烦的,至少cachedata就不能保证能直接memcache了

此外resp.headers['Content-Length']是不用自己写的,GAE会自动计算的
2010-12-05 02:22:52 +08:00
回复了 Mianco 创建的主题 Google App Engine 这两段代码有什么区别?
楼主这个问题很蛋疼,撇开其技术实现,2段代码所完成的功能都截然不同。

第一段是CGI输出HTML,然后用HTML的meta跳转来重定向到/index.html。
懂HTTP的都知道,其实不需要这么麻烦,直接输出这个就行了:
print 'Location: /index.html'

第二段代码是用WSGI生成HTML,而且是直接读取index.html的内容来输出的,没有进行重定向。

从楼主的描述来看,你应该是没有处理/index.html这个URL。
我猜你应该是用一个Python script处理了所有请求,然后直接重定向到/index.html;但是/index.html也是被这个script处理的,于是再次重定向到/index.html;于是你就蛋疼地一直重定向了…

技术上来说,你的要求完全不需要用Python来处理,直接改app.yaml用静态文件处理就行了:
handlers:

- url: /(index.html)?
static_files: index.html
upload: index.html
2010-12-05 02:05:58 +08:00
回复了 darasion 创建的主题 Google App Engine Instances 有啥用? 怎样才算是健康的?
这个和你的实现有关,你得了解什么是App Caching

简单来说,你import hook后,只要这个instance没有消亡或清除App Caching,hook是可以重用而无需再次载入的

而hook.py中又import了apiproxy_stub_map,并且hook了其中的服务,因此这个hook是持续存在的,直到instance消亡或清除App Caching

此外main函数也是会被cache的,因此重用main函数时,它之外的语句不会重复执行

如果你import的位置不对,就有可能造成多次hook,也有可能造成没有hook,我也不知道你代码是咋样的,只能点到此了
2010-12-05 01:43:49 +08:00
回复了 Weakdancer 创建的主题 Google App Engine 关于GQL的使用问题
楼主的表述真的很难懂…

没猜错的话,你是要把if NowDay==KCB.time[0] and NowTime==KCB.time[-1] and NowWeek in KCB.week改成GQL查询条件吧

简单来说就是不行,因为datastore不支持复杂的查询,只能将一个属性作为一个整体来查询,不能查询time[-1]这种

因此你只能这样:
KCBs = db.GqlQuery("SELECT * FROM kcb WHERE week = :1 ORDER BY date DESC LIMIT 1000", NowWeek)
for KCB in KCBs:
if NowDay==KCB.time[0] and NowTime==KCB.time[-1]:
#...

week是一个ListProperty,查询的时候直接用=就行了,IN的语义不是你理解的这样的

最后提醒一下,不是有特殊需求的话不要用GQL,因为查询较复杂时,构造非常不方便,而且性能很差。所有GqlQuery对象都能用等价且更方便高效的Query代替。
2010-12-04 12:21:58 +08:00
回复了 darasion 创建的主题 Google App Engine Instances 有啥用? 怎样才算是健康的?
要在main()里调用import hook并重设时间

不过如果不记录urlfetch次数和总时间,那就不需要重设时间,只import即可

https://bitbucket.org/keakon/doodle/src/86e5d334e718/blog.py#cl-64

服务名是'urlfetch'
2010-12-04 12:12:29 +08:00
回复了 monster 创建的主题 Google App Engine GAE这样下去。。。咱们会不会连二级米都没得用!
你可以先注册Gmail账号,然后注册app id。因为app id会为Gmail账号的用户名保留,但前提是你的用户名不含特殊字符,例如小数点。

这是Google员工前天说的。
2010-12-03 14:20:08 +08:00
回复了 darasion 创建的主题 Google App Engine Instances 有啥用? 怎样才算是健康的?
你可以用logging来记录时间,urlfetch属于service,可以参考这个来hook:
https://bitbucket.org/keakon/doodle/src/9830de2a181b/hook.py

twitter 客户端确实没什么办法加快,不过web端的可以弄成ajax,在用户不知情的情况下去fetch
2010-12-03 01:43:36 +08:00
回复了 darasion 创建的主题 Google App Engine Instances 有啥用? 怎样才算是健康的?
latency越低越好(一般应该低于1000ms,我的不到100ms),QPS越高越好(不过钱也花得多)
支持PubSubHubbub的话,订阅后自己抓==
2010-11-29 02:06:37 +08:00
回复了 chouj 创建的主题 Project Babel 重新设置密码报错
发信人只能是当前用户或这个app的管理员,这个是GAE的限制
2010-11-29 00:24:33 +08:00
回复了 deepice 创建的主题 Google App Engine 有人用过keakon的Doodle博客么?
“创建分类时保存之后 一会分类就会消失”是指sidebar吗?
我设置了10分钟的缓存,过10分钟才会完全更新。
但是在后台创建和编辑文章时应该不会有问题,可以选择所有分类。

第一个是你没有设置正确的管理员邮箱(ADMIN_EMAIL),这个邮箱必须是这个app的管理员的邮箱。

第二个在之前更新的版本已经修正了。把blog.py里出错的那行代码删掉就行了。

第三个是格式不对的问题,目前我是把feed关闭的,所以没有测试这个问题…刚才我已经修正了,下载或check out最新的code即可。

谢谢指出这些问题。
2010-11-28 20:43:58 +08:00
回复了 deepice 创建的主题 Google App Engine 有人用过keakon的Doodle博客么?
我传了个新版本上去。原版本删了一个页面,但是URL映射里没有删,所以会报错。

你报的这个错看上去和Doodle无关,因为我的代码里没有调用过fetch.py。很显然是你把andy-wallproxy和Doodle集成时才出的错。

如果不是很熟悉YUI的话,建议你在app.yaml里将fetch.py分离出去。
2010-11-28 20:11:58 +08:00
回复了 deepice 创建的主题 Google App Engine 有人用过keakon的Doodle博客么?
@deepice 报的什么错贴出来吧,不然我怎么知道…
2010-11-28 13:04:31 +08:00
回复了 pudd 创建的主题 HTML html5 和 css3 里有 css sprite 的替代品吗
@pudd
这个问题可以用JavaScript解决,也就是预加载图片。
纯HTML+CSS也能做到,底部写个div来下载图片,但是隐藏显示就行了。
1 ... 41  42  43  44  45  46  47  48  49  50 ... 52  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6327 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 01:53 · PVG 09:53 · LAX 18:53 · JFK 21:53
Developed with CodeLauncher
♥ Do have faith in what you're doing.