由于某种原因,我的应用程序的视图状态变得巨大(大约1400万个字符).它增加了大约1分钟的加载时间.如果页面最终加载(通常不常),则每次有人发送表单时服务器都会崩溃,因为" Post size exceeded allowed limits."
它突然出现了.我没有添加任何字段,只是页面上的一些JavaScript.
人们告诉我检查viewstate chunking.谷歌告诉我这样做:
<pages maxPageStateFieldLength="1024">
Run Code Online (Sandbox Code Playgroud)
...所以现在我没有一个巨大的隐藏区域,而是拥有100个非常大的隐藏区域.这不是我想要的.
为什么.NET会做这样的事情?我怎样才能解决这个问题?
我有一个小文件共享网页.可以免费使用它.我想上传0mb到1GB之间的文件.两天后我在谷歌搜索,但我找不到我需要的东西......
我的网页:http://boxy.tigyisolutions.hu但是我现在只能上传20-30mb.我想一次只上传1个文件.但它可能超过500-600mb ......任何人都可以帮助我吗?
我试过jquery fileupload,但它没有为我上传任何内容.
我正在尝试使用NLTK语音解析语音导航命令,例如"去旧金山","给我指向123 Main Street"等等.
这可以通过一个相当简单的CFG语法来完成,例如
S -> COMMAND LOCATION
COMMAND -> "go to" | "give me directions to" | ...
LOCATION -> CITY | STREET | ...
Run Code Online (Sandbox Code Playgroud)
问题是这涉及非原子(超过一个单词长)的文字,例如"转到",NLTK似乎没有设置(如果我错了,请纠正我).解析任务将标记作为先决条件,并且所有标记器似乎始终标记单个单词.所以,我的选择似乎是:
a)定义一个自定义标记器,它可以将非语法标签分配给单词序列而不是单个单词(例如,"转到":"命令").b)使用特征来增强语法,例如:
COMMAND -> VB[sem='go'] P[sem='to'] | ...
Run Code Online (Sandbox Code Playgroud)
c)使用chunker提取像COMMAND这样的子结构,然后将解析器应用于结果.NLTK是否允许chunker-> parser级联?
其中一些选项似乎令人费解(黑客).有好办法吗?
我正在尝试使用 CryptoJS 获取大文件(大于 500MB)的校验和,以便浏览器不会崩溃。我已经在使用带有分块功能的 Web Worker。因此,当我迭代块以更新 CryptoJS 以开始创建校验和时,我尝试逐步使用每个块。然而,当我最终确定时,它仍然返回错误的校验和。看起来它只返回最后一个块的校验和,而不是所有块的校验和。你能让我知道我做错了什么吗?
另外,我不必使用 CryptoJS,因为我发现它很慢,但它似乎是唯一可以处理渐进式加密的库。
var sha256 = CryptoJS.algo.SHA256.create(),
sha256Update,
checksum = [],
chunker = function(workerData) {
var file = workerData.fileBlob,
totalFileSize = file.size,
chunkLength = 3145728,
start = 0,
stop = chunkLength,
i = 0, readSlicer,
fileSlicer,
chunk,
chunkUint8,
timerCounter = 0,
hashConvert;
var checker = function() {
start = stop;
stop += chunkLength;
if(start >= totalFileSize) {
console.log("Done reading file!", stop, totalFileSize);
sha256Update.finalize();
console.log("CheckSum : ", sha256Update._hash.toString(CryptoJS.enc.Hex));
return;
}
readBlock(start, chunkLength, file);
}; …Run Code Online (Sandbox Code Playgroud) 我试图在给定的句子中找到名词短语的跨度(开始索引,结束索引)。以下是提取名词短语的代码
sent=nltk.word_tokenize(a)
sent_pos=nltk.pos_tag(sent)
grammar = r"""
NBAR:
{<NN.*|JJ>*<NN.*>} # Nouns and Adjectives, terminated with Nouns
NP:
{<NBAR>}
{<NBAR><IN><NBAR>} # Above, connected with in/of/etc...
VP:
{<VBD><PP>?}
{<VBZ><PP>?}
{<VB><PP>?}
{<VBN><PP>?}
{<VBG><PP>?}
{<VBP><PP>?}
"""
cp = nltk.RegexpParser(grammar)
result = cp.parse(sent_pos)
nounPhrases = []
for subtree in result.subtrees(filter=lambda t: t.label() == 'NP'):
np = ''
for x in subtree.leaves():
np = np + ' ' + x[0]
nounPhrases.append(np.strip())
Run Code Online (Sandbox Code Playgroud)
对于a =“美国内战,也称为州之间的战争或简称为内战,是 1861 年至 1865 年在美国进行的一场内战,此前数个南方蓄奴州宣布脱离并成立了南部邦联。 America. ”,提取的名词短语是
['美国内战','战争','州','内战','内战','美国','几个南方','州','分裂','同盟国','美国']。
现在我需要找到名词短语的跨度(短语的开始位置和结束位置)。例如,上述名词短语的范围将是
[(1,3), (9,9), (12, 12), (16, …
我正在实现一个基于浏览器的分块文件上传器。要打开我正在使用的文件<input type="file" id="fileSelector" />和这段代码(简化):
$('#fileSelector').on('change', function () {
_file = evt.target.files[0];
});
Run Code Online (Sandbox Code Playgroud)
我将文件切成块,但没有将块读入内存(不明确)。
问题:偶尔(对于上传文件的不到 0.1%)从底层文件切下的块是空的。例如,在上传大文件期间一切顺利,然后在该文件调用的中间:
var _blob = _file.slice(chunk.start, chunk.end, _file.type);
Run Code Online (Sandbox Code Playgroud)
结果是一个空切片(_blob.size为 0)。将此类 blob 发送到服务器 (.NET 4.6) 会导致Request.InputStream空值。我正在发送二进制数据:
_xhr.setRequestHeader('content-type', 'application/octet-stream');
_xhr.send(_blob);
Run Code Online (Sandbox Code Playgroud)
我还应该提到,_file.slice再次调用会产生相同的空 blob。我可以在 Chrome 57、Chrome 60(Win 和 Mac)、Mac Safari 10.1.1 和 Edge 15 中观察到这一点。其他浏览器也是可能的。
有什么问题吗?我正在考虑的事情:
这一天我一直在努力解决这个烦人的问题,但我敢肯定,这是一个简单的问题。我试图将我的bundle.js分成多个块以优化网站加载时间。
这是我的webpack.config文件:
module.exports = {
devServer: {
historyApiFallback: true
},
entry: {
index: ["./src/index.js"],
vendor: [
"react",
"react-dom",
"react-redux",
"react-router",
"react-router-dom",
"redux"
]
},
output: {
path: __dirname + '/public/views',
filename: "[name].js",
publicPath: "/views/"
},
module: {
loaders: [
{
test: /\.js$/,
loader: "babel-loader",
exclude: [/node_modules/, /pdfmake.js$/]
},
{
test: /\.json$/,
loader: "json-loader"
}
]
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
name: "vendor",
filename: "vendor.js",
minChunks: Infinity
}),
new webpack.optimize.CommonsChunkPlugin({
name: "meta",
chunks: ["vendor"],
filename: "meta.js"
}), …Run Code Online (Sandbox Code Playgroud) 据我所知,node_modules中有一堆东西,这些东西最终都在vendor.js我构建Ionic3项目时出现。为了简单起见,可以说我在node_modules中具有以下文件夹:abc,xyz,uvw和qrs。让我们进一步说,abc和xyz是公共库,而uvw和qrs是私有库。因此,我不想以vendor.js包含所有四个库的单个库结束。相反,我想最后得到一个vendor.js包含abc和xyz以及一个private.js包含uvw和qrs的。
如何更改Ionic3项目中的配置文件以实现该结果?理想情况下,我只需要在配置中命名uvw和qrs,并为node_modules中的“其他所有东西”生成vendor.js的默认行为。
更新 作为参考,Ionic 3.9.2使用Webpack 3.10.0,默认的Ionic Webpack配置如下所示。我真的只关心生产构建是否具有上述行为。
/*
* The webpack config exports an object that has a valid webpack configuration
* For each environment name. By default, there are two Ionic environments:
* "dev" and "prod". As such, the webpack.config.js exports a dictionary object
* with "keys" for "dev" and "prod", where the value is a valid webpack configuration
* For details on configuring webpack, see their documentation here
* https://webpack.js.org/configuration/ …Run Code Online (Sandbox Code Playgroud) 我正在使用 Dropzone.js 获取各种类型的文件(包括图像和非图像,如 PDF),并将它们以 1mb 块的形式上传到我们的服务器。然后我尝试用 PHP 连接文件,然后将它们上传到我们公司的 FileMaker 数据库。
到目前为止,我已经能够像他们应该的那样将文件分块上传。我将它们全部存储在具有相同“代号”的临时“上传”文件夹中,并在每个名称的末尾附加“-INDEX#”(INDEX# 是正在上传的块 #,由 Dropzone 传递)。
我已经将失败隔离到 PHP 循环遍历已经上传的块以获取内容的部分。具体来说,当我去获取内容时,我尝试使用 PHP 的“realpath”将块的文件路径保存到一个变量中,以获取绝对路径,并作为文件存在的真/假检查。毫无疑问,PHP 无法“看到”该文件。
我不是文件夹权限方面的专家,因此很有可能与此有关,而我只是不知道如何处理它。您会看到我确实在 PHP 顶部的 uploads/ 目录中尝试了 chmod。
我只包含了下面的 PHP 代码,没有包含任何 javascript。我不确定 JS 是否相关,因为它显然与实际的块上传工作得很好。
下面的 PHP 文件与块要结束的uploads/ 文件夹位于同一目录中。
<?php
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
/* ========================================
VARIABLES
======================================== */
// chunk variables
$fileId = $_POST['dzuuid'];
$chunkIndex = $_POST['dzchunkindex'] + 1;
$chunkTotal = $_POST['dztotalchunkcount'];
// file path variables
$ds = DIRECTORY_SEPARATOR;
$targetPath = dirname( __FILE__ ) …Run Code Online (Sandbox Code Playgroud) 问题: 我有一个大约为 [350000, 1] 的向量,我希望计算成对距离。这导致 [350000, 350000] 整数数据类型的矩阵不适合 RAM。我最终想得到一个布尔值(适合 RAM),所以我目前一次只做一个元素,但这不是很节省时间。
编辑:由于数据的大小,标准 sklearn 和 scipy 函数不起作用 - 但如果我可以以某种方式将其分块以使用硬盘,那么我应该能够使用这些。
问题可视化: [a_1, a_2, a_3]^t -> [[a_1 - a_1, a_1 - a_2, a_1 - a_3], [a_2 - a_1, a_2 - a_2, a_2 - a_3], [a_3 - a_1, a_3 - a_2, a_3 - a_3]]
请注意,取绝对值时,只需要计算上三角形,因为它是对称的。
需要分块或替代解决方案的矢量化代码: 我找到了一种方法来计算使用广播在小矩阵上工作的所有点之间的距离(减法),但需要一种方法来在不达到 RAM 限制的情况下在更大的矩阵上执行此操作。
或者也许可以建议更好的方法来更快地访问下面的 MWE?
distMatrix = np.absolute((points[np.newaxis, :, :] - points[:, np.newaxis, :])[:, :, 0])
Run Code Online (Sandbox Code Playgroud)
其他尝试: 我尝试使用 dask 和 memmap 但仍然出现内存错误,所以一定是做错了什么。我也尝试过 memmap 并手动对数据进行分块,但没有获得完整的结果集,因此非常感谢任何帮助。
当前方法的 MWE:
## Data ## …Run Code Online (Sandbox Code Playgroud)