问题列表 - 第24929页

如何在JavaScript中打印整个HTML元素?

我想打印整个元素,包括标签名称,属性名称/值对和innerHTML.我怎么能用JavaScript(jQuery)呢?

例如:

var elArr = document.getElementsByTagName('link');
alert(elArr[0].printEntireElement());

//expected output might be 
<link href="/css/common.css" rel="stylesheet" type="text/css">`
Run Code Online (Sandbox Code Playgroud)

请注意,对于link元素,outerHTML未定义!

javascript

12
推荐指数
1
解决办法
1万
查看次数

Python:修改列表时的内存使用和优化

问题

我关注的是:我在一个经典的python列表中存储了一个相对论大数据集,为了处理数据,我必须多次遍历列表,对元素执行一些操作,并经常从列表中弹出一个项目.

似乎从Python列表中删除一个项目需要花费O(N),因为Python必须将手头元素上方的所有项目复制到一个位置.此外,由于要删除的项目的数量与列表中的元素的数量近似成比例,因此这导致O(N ^ 2)算法.

我希望找到一个具有成本效益的解决方案(时间和内存方面).我已经研究了我在互联网上可以找到的内容,并在下面总结了我的不同选项.哪一个是最佳人选?

保留本地索引:

while processingdata:
    index = 0
    while index < len(somelist):
        item = somelist[index]
        dosomestuff(item)
        if somecondition(item):
            del somelist[index]
        else:
            index += 1
Run Code Online (Sandbox Code Playgroud)

这是我提出的原始解决方案.这不仅非常优雅,而且我希望有更好的方法来保持时间和记忆效率.

向后走的列表:

while processingdata:
    for i in xrange(len(somelist) - 1, -1, -1):
        dosomestuff(item)
        if somecondition(somelist, i):
            somelist.pop(i)
Run Code Online (Sandbox Code Playgroud)

这样可以避免增加索引变量,但最终成本与原始版本相同.它还打破了dosomestuff(item)的逻辑,它希望以与它们在原始列表中出现的顺序相同的顺序处理它们.

制作新名单:

while processingdata:
    for i, item in enumerate(somelist):
        dosomestuff(item)
    newlist = []
    for item in somelist:
        if somecondition(item):
            newlist.append(item)
    somelist = newlist
    gc.collect()
Run Code Online (Sandbox Code Playgroud)

这是一种非常天真的策略,用于从列表中删除元素并且需要大量内存,因为必须完成列表的几乎完整副本.

使用列表推导:

while processingdata:
    for i, item in enumerate(somelist):
        dosomestuff(item)
    somelist[:] …
Run Code Online (Sandbox Code Playgroud)

python memory iteration optimization list

19
推荐指数
1
解决办法
4758
查看次数

paperclip从何处获取原始文件的名称?

我开始使用nginx上传模块(创建上传文件,如/ tmp/000121545)但我需要回形针在保存文件时使用原始文件名(如/public/avatars/LuckyLuke.jpg)

以前在参数Rails传递的只是

 "avatar"=>#<File:/tmp/RackMultipart20100413-6151-t3ecq0-0> 
Run Code Online (Sandbox Code Playgroud)

没有原始文件名,所以我想知道它在哪里来回形针?我尝试查看插件代码,但它对我来说目前有点过于复杂.

file-upload ruby-on-rails paperclip

10
推荐指数
1
解决办法
5608
查看次数

改变向量的元素

假设我有一个包含数千个元素的向量。如果我想让索引在100-200之间的元素变成0,需要什么R代码?

另外,我如何计算两个不同值之间的长度,例如,如果我想知道“股价”在 30-40 之间的时间长度?

r vector

0
推荐指数
1
解决办法
5448
查看次数

26
推荐指数
3
解决办法
1万
查看次数

电子邮件标题"name <email>"的格式是什么?

什么是官方格式

name <email>
Run Code Online (Sandbox Code Playgroud)

在电子邮件标题?我需要在将用户输入粘贴到标题之前验证用户输入.

此外,您是否碰巧知道好的正则表达式来验证该名称+电子邮件对的形式?

email email-validation

6
推荐指数
2
解决办法
8957
查看次数

IE Javascript String.Match问题

以下javascript代码连接正则表达式找到的匹配项.正则表达式应该找到任何单词或一组引用的单词.它似乎在FireFox和Chrome中完美运行,但它在IE中无法正常工作(我只在IE8上测试过它).

var searchString = '';
var notString = 'dog cat "pirate ship"';
var matches = notString.match(/(\w+|"[^"]+")/ig);
for (i in matches) {
    searchString += " NOT " + matches[i];

}
alert(searchString );
Run Code Online (Sandbox Code Playgroud)

正确的输出应该是:

不是狗不是猫不是"海盗船"

但在IE8中我得到:

不是狗猫"海盗船"不是狗不是猫不是"海盗船"不是8不是21

有关如何使这种跨浏览器兼容的任何建议.

非常感谢,

javascript regex internet-explorer

3
推荐指数
1
解决办法
4039
查看次数

如何同步HTML5本地/ webStorage和服务器端存储?

可能重复:
将本地HTML5 DB(WebSQL存储,SQLite)与服务器同步的最佳方式(双向同步)

我目前正在寻找透明和自动同步和复制客户端HTML5 localStorage或Web存储和(可能是多个)服务器端存储的解决方案(这里唯一要求它应该是简单且经济实惠的安装定期托管服务).

那么您是否有使用此类库/技术的经验,这些库/技术提供数据存储,可自动执行客户端 - 服务器存储同步并允许数据在线下或在线或两者都可用?我认为这是支持离线模式的Web应用程序的一种相当常见的场景......

html5 storage web-applications offline-mode firebase

34
推荐指数
2
解决办法
3万
查看次数

在 C# 中使用 SFTP 时的线程最佳实践

好的,

这更多是这些“概念性问题”之一,但我希望我能得到一些正确方向的指示。首先是所需的场景:

  • 我想查询 SFTP 服务器的目录和文件列表
  • 我想同时上传或下载文件

使用 Tamir.SharpSsh 提供的 SFTP 类,这两件事都非常容易,但如果我只使用一个线程,那就有点慢了。特别是子目录的递归变得非常“UI 阻塞”,因为我们正在谈论 10.000 个目录。

我的基本方法很简单,创建某种“池”,在其中保留 10 个打开的 SFTP 连接。然后向第一个工作人员查询目录列表。如果获得了该列表,则发送下一个空闲工人(例如1-10,第一个也再次空闲)以获取子目录详细信息。一旦有工人空闲,就派他到子子目录去。等等...

我知道线程池、简单的线程并做了一些测试。让我有点困惑的是:我基本上需要......

  • 我创建的线程列表,例如 10 个
  • 将所有线程连接到服务器
  • 如果连接断开,则创建一个新线程/sftp 客户端
  • 如果有工作要做,则占用第一个空闲线程并处理工作

我目前不确定实现细节,特别是“要做的工作”和“维护线程列表”部分。

这是一个好主意吗:

  • 将工作封装在一个对象中,其中包含工作描述(路径)和回调
  • 将线程发送到无限循环,等待 100 毫秒等待工作
  • 如果 SFTP 死了,要么恢复它,要么杀死整个线程并创建一个新线程
  • 如何封装这个,我是写自己的“10ThreadsManager”还是有一些

好吧,到目前为止...

顺便说一句,我也可以使用 PRISM 事件和命令,但我认为问题是不相关的。也许 EventModel 会发出“工作包”处理完成的信号......

感谢您的任何想法,评论家..克里斯

c# sftp multithreading

5
推荐指数
1
解决办法
4659
查看次数

mysql group by和count rows问题

让我们说mysql是这样的

select x,y 
from xx 
group by y
Run Code Online (Sandbox Code Playgroud)

我想知道选择了多少行,我试图使用count但是它不会返回所有结果,因为我正在使用group by.

怎么做?

谢谢

mysql sql

7
推荐指数
1
解决办法
6788
查看次数