我正在使用Flask和MySQL开发一个相当简单的Web应用程序.
我正在努力与unicode.用户有时会粘贴他们从Word复制的东西,并且它会被旧的智能引号所覆盖u'\u201c'.
一点点的调查表明我与MySQL的连接正在使用Latin1charset(似乎是默认值).
如何指定使用unicode进行连接?
我正在使用pyMySQL,它声称是MySQLdb的替代品.MySQLdb定义了一个对象的set_character_set(self, charset)函数connection,但pyMySQL没有(如果我尝试,我会收到错误).
我甚至不确定这些会被称为什么?我曾经在VAX-VMS上运行的ADA中编写它们!
我想创建一个简单的菜单驱动的应用程序,让我显示菜单,使用光标键浏览它们,选择项目并浏览应用程序.所有完全老的学校文本为基础.
我希望能够接管整个终端窗口并在不同的地方显示内容.
这在Python中可行吗?
我正在使用带有简单项目的Amazon S3,当用户上传文件时,我首先使用XMLHTTPRequest将详细信息发送到我的数据库,然后触发将文件直接上传到S3的表单POST.
我不能完全解决的是如何判断上传何时完成,这样我就可以正确更新显示器(我现在正在作弊,只是在显示器保存到数据库后更新显示器,你几乎无法告诉我小上传,但从长远来看显然是一个问题.)
上传完成后,S3服务器似乎"取消导航",因此页面不会重新加载 - 是否有任何可以用来检测上传完成时间的事件?
谢谢
编辑:我正在使用此处的表单代码http://s3.amazonaws.com/doc/s3-example-code/post/post_sample.html刚刚添加了一个onsubmit到表单,该表单将XMLHTTPRequest激发到我自己的服务器之前表格发布到亚马逊.
我有一个很长的列表,看起来像这样:
[True, True, True, False, ... ]
Run Code Online (Sandbox Code Playgroud)
代表瓷砖地图中的墙.它不能保证是4长的倍数,但如果在最后填充则无关紧要.
我想将其转换为十六进制字符串,因此对于上面的示例,它将以E开头...
我希望有一个很好的方式来做到这一点(使用Python 2.7.3)!
谢谢.
EDITED
这是9x9地图的示例:
map = [True, True, True, True,
True, True, True, True,
True, True, True, True,
True, False, False, True,
True, True, True, True,
True, False, False, False,
False, True, True, True,
True, True, False, False,
False, False, True, True,
True, True, True, True,
False, False, True, True,
True, True, True, True,
True, True, True, True,
True, True, True, True,
True, True, True, True,
True, True, True, True, …Run Code Online (Sandbox Code Playgroud) 我一直在尝试使用这些很棒的教程来学习 Web GL 。我的目标是制作一个非常简单的 2D 游戏框架来替换基于画布的jawsJS。
我基本上只是希望能够创建一堆精灵并移动它们,然后也许可以创建一些瓷砖。
我整理了一个基本演示来执行此操作,但遇到了无法追踪的性能问题。一旦我在屏幕上看到大约 2000 个左右的精灵,帧率就会下降,我不知道为什么。与pixi.js webgl 框架的这个演示相比,它在大约 30000 个兔子左右(在我的机器上)开始丢失帧,我有点失望。
我的demo(框架源码)有5002个精灵,其中两个在移动,帧率在马桶里。
我已经尝试通过 pixi.js 框架来尝试找出它们的不同之处,但它是 500kloc 并且比我的要多得多,以至于我无法解决。
我发现这个答案基本上证实了我所做的大致正确 - 我的算法与答案中的算法几乎相同,但必须有更多。
到目前为止,我已经尝试了一些方法 - 只使用一个定义了单个形状的“帧缓冲区”,然后为每个精灵翻译 5000 次。这确实有助于提高帧速率,但没有什么能关闭 pixi 演示(这意味着所有精灵必须具有相同的形状!)。我删除了所有不动的矩阵数学,所以也不是那样。这一切似乎都归结为drawArrays()功能 - 它对我来说真的很慢,但仅限于我的演示!
我还尝试删除所有基于纹理的东西,用简单的块颜色替换片段着色器。它几乎没有任何区别,所以我消除了狡猾的纹理处理作为罪魁祸首。
我真的很感激能帮助我追查我所做的非常愚蠢的事情!
编辑:我绝对误解了这里的关键。我将整个事情剥离回到基础,将顶点和片段着色器更改为超级简单:
attribute vec2 a_position;
void main() {
gl_Position = vec4(a_position, 0, 1);
}
Run Code Online (Sandbox Code Playgroud)
和:
void main() {
gl_FragColor = vec4(0,1,0,1); // green
}
Run Code Online (Sandbox Code Playgroud)
然后将精灵设置为绘制到 (0,0), (1,1)。
使用 5000 个精灵,绘制一帧大约需要 5 秒。这里发生了什么?