正如任何经验丰富的JavaScript开发人员所知,有很多(太多)方法可以做同样的事情.例如,假设您有一个文本字段,如下所示:
<form name="myForm">
<input type="text" name="foo" id="foo" />
Run Code Online (Sandbox Code Playgroud)
在JavaScript中有很多方法可以访问它:
[1] document.forms[0].elements[0];
[2] document.myForm.foo;
[3] document.getElementById('foo');
[4] document.getElementById('myForm').foo;
... and so on ...
Run Code Online (Sandbox Code Playgroud)
方法[1]和[3]在Mozilla Gecko文档中有详细记载,但都不是理想的.[1]过于笼统而无用,[3]同时需要id和名称(假设您将数据发布到服务器端语言).理想情况下,最好只有一个id属性或一个name属性(两者都有点多余,特别是如果id不是任何css所必需的,并且增加了拼写错误的可能性等).
[2]似乎是最直观的,它似乎被广泛使用,但我没有看到它在Gecko文档中引用,我担心向前兼容性和跨浏览器兼容性(当然我想成为尽可能符合标准).
那么这里最好的做法是什么?任何人都可以指出DOM文档或W3C规范中可以解决此问题的内容吗?
注意我对非库解决方案(jQuery/Prototype)特别感兴趣.
我很清楚为什么物化视图比查询基表更可取.不仅仅是创建另一个具有与MV相同数据的表的优势还不是很清楚.MV的唯一优势是否只是易于创建/维护?
是不是MV等效于具有匹配模式的表和使用MVs SELECT语句的INSERT INTO?
意思是,您可以按如下方式创建MV
CREATE MATERIALIZED VIEW ... AS
SELECT * FROM FOO;
Run Code Online (Sandbox Code Playgroud)
您可以创建一个等效表:
CREATE TABLE bar (....);
INSERT INTO bar
SELECT * FROM FOO;
Run Code Online (Sandbox Code Playgroud)
并不是说创造/维护的便利性不足,我只是想确保我没有遗漏任何东西.
我正在对我在CakePHP 1.2下构建的CakePHP应用程序进行大修.我已升级到1.3,正在考虑从我的应用程序的管理路由范例转移.我发现由于前端和管理员的重复功能,我的一些控制器变得非常大.我的直觉是,创建一组管理控制器并将管理路由放在一起更加清晰,但是我希望得到关于其他人正在做什么的信息以及我将错过的功能(如果有的话)丢弃路由.
在这方面,什么被认为是健壮的CakePHP应用程序(或其他MVC框架)的最佳实践?
php authorization cakephp url-routing separation-of-concerns
注意:这不是重复的,速率限制上传和下载完全不同,我见过的许多库可以限制下载速率,但不能限制上传速率。这应该重新打开。
我正在 Python 中运行大文件上传(2.8 GB),我使用的代码大致如下:
files = {'md5': ('', md5hash),
'modified': ('', now),
'created': ('', now),
'file': (os.path.basename(url), fileobject, 'application/octet-stream')}
m = requests_toolbelt.MultipartEncoder(fields=files)
headers['content-type'] = m.content_type
r = s.post(url, data=m, params=params, headers=headers)
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,网络上的其他所有内容都停止工作。网站停止工作等。我的猜测是 Python 正在使我的路由器的 TCP 数据包缓冲区饱和或其他东西。任何尝试过运行 BitTorrent 客户端而不指定上传速度限制的人都知道这种行为。
有什么方法可以限制上传速度,这样我的用户的网络就不会被破坏吗?
cakephp ×1
dom ×1
forms ×1
html ×1
javascript ×1
oracle ×1
php ×1
python ×1
sql ×1
url-routing ×1