我正在为我的应用程序使用redux with react和typescript.我正在使用我的应用程序的不同位置使用的许多项目.我的州看起来像这样:
{
items: {42: {}, 53: {}, ... }, //A large dictionary of items
itemPage1: {
itemsId: [ 42, 34, 4 ],
...
},
itemPage2: { ...
},
...
}
Run Code Online (Sandbox Code Playgroud)
用户可以修改items调度某些操作的某些属性.当发生这种情况时,我需要重绘每个页面中已修改的组件.问题是我的物品很大,我不能在每次小修改时重新绘制所有物品.我想知道这种方法是否有效:
<ItemPage1>连接到商店的拳头组件,以获取存储在树中的所有状态,itemPage1例如项目列表id : itemsId.<ItemPage1>,我遍历itemsId属性以生成多个FilterItem组件:itemsId.map( itemId => return <FilterItem id=itemId>);最后,每个Item都使用连接ownProps来获取状态的正确部分:
const mapStateToItemProps = (state, ownProps) => {
return {
item: state.items[ownProps.id],
}
}
const mapDispatchToItemProps = (dispatch, ownProps) => …Run Code Online (Sandbox Code Playgroud)我试图得到一个看起来像这样的结果(图片来自https://material.google.com/components/tabs.html#tabs-usage):
我不希望选项卡占用页面宽度的100%,因为它默认使用material-ui.是否可以通过材料-ui的实现来实现这一点?我已经使用styletab属性播放了每个选项卡的宽度,但是inkbare似乎硬编码为根据所选选项卡的id使用百分比,因此没有正确地为调整大小的选项卡加下划线.有解决方法吗?
我试图在 jupyter 中使用 D3.js,但我无法让它工作,其中cannot find name d3可能是因为我未能D3正确链接而导致的错误。最后,在尝试了我可以在网上找到的所有内容后,例如:
HTML('<script src="./d3.min.js"></script>')
Run Code Online (Sandbox Code Playgroud)
和
%%javascript
require.config({
paths: {
d3: './d3.min.js'
}
});
Run Code Online (Sandbox Code Playgroud)
和
%%HTML
<script src="./d3.min.js" charset="utf-8"></script>
Run Code Online (Sandbox Code Playgroud)
...
我设法让它工作!但是我无法重现漏洞利用!更糟糕的是,在我试图让它再次工作时,我设法打破了我的笔记本,现在每次我重新加载页面时,我都会收到以下消息:
Notebook failed to load
The error was:
Error: Mismatched anonymous define() module: function (t){"use strict";function n(t){return function(n,e){return ms(t(n),e)}}function e(t,n,e){var r=Math.abs(n-t)/Math.max(0,e),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/i;return o>=Rs?i*=10:o>=Us?i*=5:o>=Ds&&(i*=2),n<t?-i:i}function r(t){return t.length}function i(){}function o(t,n){var e=new i;if(t instanceof i)t.each(function(t,n){e.set(n,t)});else if(Array.isArray(t)){var r,o=-1,u=t ...
Run Code Online (Sandbox Code Playgroud)
怎么了 ?它甚至不等我运行任何单元格崩溃?是否有可能当我D3使用 HTML导入库时,我已经注入了一些导入并破坏了一些依赖项?我怎样才能解决这个问题 ?
我正在创建一个在本地使用的微服务。从一些输入我每次生成一个大矩阵。现在我正在使用 json 来传输数据,但它真的很慢并且成为我的应用程序的瓶颈。
这是我的客户端:
headers={'Content-Type': 'application/json'}
data = {'model': 'model_4', \
'input': "this is my input."}
r = requests.post("http://10.0.1.6:3000/api/getFeatureMatrix", headers=headers, data=json.dumps(data))
answer = json.loads(r.text)
Run Code Online (Sandbox Code Playgroud)
我的服务器是这样的:
app = Flask(__name__, static_url_path='', static_folder='public')
@app.route('/api/getFeatureMatrix', methods = ['POST'])
def get_feature_matrix():
arguments = request.get_json()
#processing ... generating matrix
return jsonify(matrix=matrix.tolist())
Run Code Online (Sandbox Code Playgroud)
如何发送大型矩阵?
我有K组数据点,我想制作大小为K的组,以最小化组内距离的总和.我熟悉匹配算法与二分图,但我想这两个以上.
有任何想法吗?
编辑:
每组将由每组中的一个元素组成,不允许重复.
例如:你有{a1,a2,a3},{b1,b2,b3},{c1,c2,c3}你想创建组,例如{a1,b3,c3},{a2,b1,c2}, {a3,b2,c1}最小化组内距离的总和.
我嵌套Object.assign()在打字稿中:
(<any>Object).assign({}, state, {
action.item_id: (<any>Object).assign({}, state[action.item_id], {
label_value: action.value
})
})
Run Code Online (Sandbox Code Playgroud)
这将产生这些错误:
ERROR in ./src/reducers/ItemsReducer.ts
(2,19): error TS1005: ':' expected.
ERROR in ./src/reducers/ItemsReducer.ts
(2,26): error TS1005: ',' expected.
ERROR in ./src/reducers/ItemsReducer.ts
(2,28): error TS1136: Property assignment expected.
Run Code Online (Sandbox Code Playgroud)
奇怪的是,如果我修复密钥,错误将消失,例如:
(<any>Object).assign({}, state, {
"fixed_key": (<any>Object).assign({}, state[action.item_id], {
label_value: action.value
})
})
Run Code Online (Sandbox Code Playgroud)
这让我一无所知,action.item_id当他之后不抱怨几个字符时,为什么不能在那个地方打电话呢?
我正在研究一些函数,这个函数,根据一些参数,可能需要一个Model对象.Model对象非常大,我不想在不需要时分配一个.从本质上讲,这就是我想要做的事情:
Model *myModel;
if (modelIsNeeded(arguments)) {
myModel = &Model(arguments);
}
//processing ...
Run Code Online (Sandbox Code Playgroud)
我有错误 error: taking address of temporary [-fpermissive]
你看到任何解决方法吗?做我想做的事的C++方式是什么?
您将获得一个字符串,例如"acdfdcqqc",我们需要创建一个算法来查找最大的回文子字符串"cdfdc".通过创建一个大小为2n的数组来设计O(n ^ 2)算法很容易,并且每次计算最大回文的长度,其中心点为:
a - c - d - f - d - c - q - q - c
1 0 1 0 1 0 5 0 1 0 1 0 1 4 1 0 1
Run Code Online (Sandbox Code Playgroud)
对于2n个可能的起点中的每一个,我在两个方向上移动,找到从该位置开始的最大回文的长度.因此,对于我在大多数O(n)操作中执行的2n个操作中的每一个,因此O(n ^ 2)时间复杂度.
我知道它可以使用发烧友算法在线性时间内完成:https://en.wikipedia.org/wiki/Longest_palindromic_substring.
但假设我们处理的字符串是从自然英文文本中提取的.如果我们在英文文本中随机选择一个位置,那么我们可能期望找到的预期对称性非常低.我甚至会说,预期的对称性在每一方都不到一个字符.因此,我可以说我的算法正在进行2n次预期的恒定时间操作,使得算法平均值为O(n)吗?
我已经写了一些代码将数据推送到tensorflow中的队列中,我的队列处理程序的初始化以及所有线程运行的主要功能如下:
def __init__(self):
self.X = tf.placeholder(tf.int64)
self.Y = tf.placeholder(tf.int64)
self.queue = tf.RandomShuffleQueue(dtypes=[tf.int64, tf.int64],
capacity=100,
min_after_dequeue=20)
self.enqueue_op = self.queue.enqueue([self.X, self.Y])
def thread_main(self, sess, coord):
"""Cycle through the dataset until the main process says stop."""
train_fs = open(data_train, 'r')
while not coord.should_stop():
X_, Y_ = get_batch(train_fs)
if not Y: #We're at the end of the file
train_fs = open(data_train, 'r')
X, Y = get_batch(train_fs)
sess.run(self.enqueue_op, feed_dict={self.X:X_, self.Y:Y_})
Run Code Online (Sandbox Code Playgroud)
在培训期间,我正在监视队列的大小。由于某些原因,当我增加向其中推送数据的线程数量时,队列的填充速度会变慢。知道为什么吗?是因为我正在同时读取python文件吗?
编辑:
这是我正在使用的代码,在数据和图形旁边它是完全相同的。该代码在此虚拟数据上的行为符合预期。我有两个观察结果:
首先,生成一个虚拟数据集:
data_train = "./test.txt"
with open(data_train, 'w') as out_stream:
out_stream.write("""[1,2,3,4,5,6]|1\n[1,2,3,4]|2\n[1,2,3,4,5,6]|0\n[1,2,3,4,5,6]|1\n[1,2,5,6]|1\n[1,2,5,6]|0""") …Run Code Online (Sandbox Code Playgroud) algorithm ×2
javascript ×2
reactjs ×2
allocation ×1
bipartite ×1
c++ ×1
d3.js ×1
flask ×1
html ×1
if-statement ×1
json ×1
jupyter ×1
matching ×1
material-ui ×1
palindrome ×1
pointers ×1
python-3.x ×1
react-redux ×1
redux ×1
tensorflow ×1
typescript ×1