我正在使用上一个版本(4.1),只是尝试一个基本的例子:
<!DOCTYPE html>
<html>
<head><!-- CDN hosted by Cachefly -->
<script src="//tinymce.cachefly.net/4.1/tinymce.min.js"></script>
<script>
tinymce.init(
{
selector:'textarea',
menu : { // this is the complete default configuration
file : {title : 'File' , items : 'newdocument'},
edit : {title : 'Edit' , items : 'undo redo | cut copy paste pastetext | selectall'},
insert : {title : 'Insert', items : 'link media | template hr'},
view : {title : 'View' , items : 'visualaid'},
format : {title : 'Format', items : …Run Code Online (Sandbox Code Playgroud) 据我所知,开发一个提供Spotify歌曲的自定义网络播放器的Web应用程序(在spotify.com之外)是不可能的,对吗?唯一的选择似乎仍然是spotify播放按钮,但这个按钮非常有限.
不过,我刚看到这个例子
1)http://static.echonest.com/enspex/web/ChillRadio/
这个
2)http://lab.possan.se/thirtify/
还有这个
3)https://developer.spotify.com/web-api/code-examples/(参见"播放内容"片段)
虽然似乎使用自定义播放器(2)和3)不适合我.是否有任何未记录的功能?
谢谢
这是一个test.html文件,用我的文本编辑器以latin 1格式保存:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
è
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
如果以chrome格式查看文件,则è字符显示为问号.我不明白为什么:è是拉丁语1的一部分,拉丁语1应该与utf-8的(子集)兼容,所以字符è的代码在拉丁语1和utf-8中不应该相同?
如果我将charset更改为ISO-8859-1当然一切都很好.
谢谢
我有一个PHP脚本,需要几个小时(可能是几天)才能执行.它非常简单,但是CPU密集型,大部分执行时间花在了(我可以在分析脚本后告诉):
$array = explode(',', $a[$i]);
where $a[$i]是一个非常长的字符串,表示由逗号分隔的30k元素的向量
foreach($array as $key => $value)循环; 对于每个循环,执行一些in_array()以及比较和赋值操作
$a实际上是一个非常大的稀疏矩阵(30k*30k),但我无法将其保留在内存中(8GB似乎没有足够的RAM)所以我只保留一个"稀疏表示"(基本上每行都是一个字符串)并使用explode()任何时候我需要连续工作.
我知道用C(或其他语言)重写所有内容会提高性能(多少?)但是,在这之前我想知道我是否可以做任何事情来改善PHP的执行时间.
编辑后回答.
我尝试了几条你的建议,这是我的报告:
1)str_getcsv在大多数情况下比爆炸慢
2)SPLFixedArray减少了存储矩阵所需的内存,但是对于30k x 30k的矩阵来说,8GB是不够的,所以我认为它不会有多大帮助; 这里真正的问题是我认为PHP中缺少矩阵的稀疏表示
3)我无法存储爆炸操作的所有结果,因为这仍然意味着将整个矩阵保留在内存中(没有足够的RAM)
4)我已经尝试过数据库方法,即使我确定它会更慢:我已经存储了三元组(i,j,value)来表示每个矩阵元素; 甚至删除不太重要的值(我可以牺牲小于阈值的值并获得不太精确的结果,但仍然有用)并且只存储了1800万个元组,使用mysql myisam的方法比我在内存中的数组方法慢得多.
5)我尝试了使用MEMORY引擎(RAM中的mysql表)的数据库方法并存储除零值为零的所有矩阵元素; 这次有4200万条记录...它更快,不是一个数量级,但快2-4倍......我想我可以在5天而不是15-20完成工作......它仍然太多了(我想在24小时内完成),如果您有任何其他建议,欢迎您
编辑2:我解释了这个问题
我会提供一些关于这个问题的细节,我真的需要简化一切,否则解释起来会太长,但我认为这足以让他们更好地了解情况.
我有一个矩阵表示节点之间的距离; 整数中的距离也可以是无限的.
我有一个内存表,用三元组表示每个距离:node_1,node_2,distance(仅表示非无限距离).
我有这种贪婪的算法,我没有写,我应该优化在具有8GB RAM的笔记本电脑上在可行的时间(比如说不到一天)执行它.
算法基本上进入输入两个节点,并根据必须在每个步骤验证的以下两个属性逐步设计起始节点和结束节点之间的路径:
请考虑1)不满足三角不等式.2)这不是最短的路径问题
这是我多次调用的函数的伪代码,直到我足够接近结束节点:
get_next_node($node_1, $node_2){
$dist = select distance from distances_table where node_2 = $node_2 and node_1 = $node_1
$candidates_ar = select node_1 from distances_table where node_2 = $node_2 and distance < $dist
$distances_ar = select distance from …Run Code Online (Sandbox Code Playgroud) 我有一个矩阵,matrix_logical(50000,100000),这是一个稀疏的逻辑矩阵(很多谬误,有些是真的).我必须生成一个矩阵,相交(50000,50000),对于每对,i,j,matrix_logical(50000,100000)的行,存储行i和j都具有"true"的列数作为价值.
这是我写的代码:
% store in advance the nonzeros cols
for i=1:50000
nonzeros{i} = num2cell(find(matrix_logical(i,:)));
end
intersect = zeros(50000,50000);
for i=1:49999
a = cell2mat(nonzeros{i});
for j=(i+1):50000
b = cell2mat(nonzeros{j});
intersect(i,j) = numel(intersect(a,b));
end
end
Run Code Online (Sandbox Code Playgroud)
是否有可能进一步提高性能?计算矩阵需要很长时间.我想避免代码的第二部分中的双循环.
matrix_logical是稀疏的,但在MATLAB中它没有保存为稀疏,因为否则性能变得最差.